qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Jens Axboe <qemu@kernel.dk>
To: Rusty Russell <rusty@rustcorp.com.au>
Cc: tytso@mit.edu, kvm@vger.kernel.org,
	"Michael S. Tsirkin" <mst@redhat.com>, Neil Brown <neilb@suse.de>,
	qemu-devel@nongnu.org, virtualization@lists.linux-foundation.org,
	hch@lst.de
Subject: [Qemu-devel] Re: [PATCH] virtio-spec: document block CMD and FLUSH
Date: Tue, 4 May 2010 10:41:33 +0200	[thread overview]
Message-ID: <20100504084133.GH27497@kernel.dk> (raw)
In-Reply-To: <201005041408.25069.rusty@rustcorp.com.au>

On Tue, May 04 2010, Rusty Russell wrote:
> On Fri, 19 Feb 2010 08:52:20 am Michael S. Tsirkin wrote:
> > I took a stub at documenting CMD and FLUSH request types in virtio
> > block.  Christoph, could you look over this please?
> > 
> > I note that the interface seems full of warts to me,
> > this might be a first step to cleaning them.
> 
> ISTR Christoph had withdrawn some patches in this area, and was waiting
> for him to resubmit?
> 
> I've given up on figuring out the block device.  What seem to me to be sane
> semantics along the lines of memory barriers are foreign to disk people: they
> want (and depend on) flushing everywhere.
> 
> For example, tdb transactions do not require a flush, they only require what
> I would call a barrier: that prior data be written out before any future data.
> Surely that would be more efficient in general than a flush!  In fact, TDB
> wants only writes to *that file* (and metadata) written out first; it has no
> ordering issues with other I/O on the same device.
> 
> A generic I/O interface would allow you to specify "this request depends on these
> outstanding requests" and leave it at that.  It might have some sync flush
> command for dumb applications and OSes.  The userspace API might be not be as
> precise and only allow such a barrier against all prior writes on this fd.
> 
> ISTR someone mentioning a desire for such an API years ago, so CC'ing the
> usual I/O suspects...

It would be nice to have a more fuller API for this, but the reality is
that only the flush approach is really workable. Even just strict
ordering of requests could only be supported on SCSI, and even there the
kernel still lacks proper guarantees on error handling to prevent
reordering there.

-- 
Jens Axboe

  parent reply	other threads:[~2010-05-04  8:41 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-18 22:22 [Qemu-devel] [PATCH] virtio-spec: document block CMD and FLUSH Michael S. Tsirkin
2010-04-19 21:26 ` [Qemu-devel] " Michael S. Tsirkin
2010-04-28 15:52   ` Michael S. Tsirkin
2010-04-20  1:46 ` [Qemu-devel] " Jamie Lokier
2010-04-20 13:22   ` Paul Brook
2010-04-21 10:39     ` Michael S. Tsirkin
2010-05-04 18:56   ` Christoph Hellwig
2010-05-04 19:01     ` Michael S. Tsirkin
2010-05-04  4:38 ` [Qemu-devel] " Rusty Russell
2010-05-04  6:56   ` Stefan Hajnoczi
2010-05-04  8:34   ` Avi Kivity
2010-05-04  8:41   ` Jens Axboe [this message]
2010-05-04 20:17     ` Jamie Lokier
2010-05-05  4:58       ` Rusty Russell
2010-05-05  6:03         ` Neil Brown
2010-05-06  6:05           ` Rusty Russell
2010-05-06 14:57             ` Jamie Lokier
2010-05-06 15:25         ` Jamie Lokier
2010-05-04 10:05   ` Christoph Hellwig
2010-05-04 20:32   ` Jamie Lokier
2010-05-04 18:54 ` Christoph Hellwig
2010-05-04 18:56   ` Michael S. Tsirkin
2010-05-04 18:58     ` Michael S. Tsirkin
2010-05-05  5:00   ` Rusty Russell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100504084133.GH27497@kernel.dk \
    --to=qemu@kernel.dk \
    --cc=hch@lst.de \
    --cc=kvm@vger.kernel.org \
    --cc=mst@redhat.com \
    --cc=neilb@suse.de \
    --cc=qemu-devel@nongnu.org \
    --cc=rusty@rustcorp.com.au \
    --cc=tytso@mit.edu \
    --cc=virtualization@lists.linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).