Thread (1 message) 1 message, 1 author, 2010-05-04

Re: [PATCH] virtio-spec: document block CMD and FLUSH

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2010-05-04 18:58:37

On Tue, May 04, 2010 at 09:56:18PM +0300, Michael S. Tsirkin wrote:
On Tue, May 04, 2010 at 08:54:59PM +0200, Christoph Hellwig wrote:
quoted
On Fri, Feb 19, 2010 at 12:22:20AM +0200, Michael S. Tsirkin wrote:
quoted
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.
The whole virtio-blk interface is full of warts.  It has been
extended rather ad-hoc, so that is rather expected.
quoted
One issue I struggled with especially is how type
field mixes bits and non-bit values. I ended up
simply defining all legal values, so that we have
CMD = 2, CMD_OUT = 3 and so on.
It's basically a complete mess without much logic behind it.
quoted
+\change_unchanged
+the high bit
+\change_inserted 0 1266497301
+ (VIRTIO_BLK_T_BARRIER)
+\change_unchanged
+ indicates that this request acts as a barrier and that all preceeding requests
+ must be complete before this one, and all following requests must not be
+ started until this is complete.
+
+\change_inserted 0 1266504385
+ Note that a barrier does not flush caches in the underlying backend device
+ in host, and thus does not serve as data consistency guarantee.
+ Driver must use FLUSH request to flush the host cache.
+\change_unchanged
I'm not sure it's even worth documenting it.  I can't see any way to
actually implement safe behaviour with the VIRTIO_BLK_T_BARRIER-style
barriers.
lguest seems to still use this.
Sorry, it doesn't. No idea why I thought it does.
I guess if you have a reliable host, VIRTIO_BLK_T_BARRIER is enough?
quoted
Btw, did I mention that .lyx is a a really horrible format to review
diffs for?  Plain latex would be a lot better..
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help