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: > > On Fri, Feb 19, 2010 at 12:22:20AM +0200, 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. > > > > The whole virtio-blk interface is full of warts. It has been > > extended rather ad-hoc, so that is rather expected. > > > > > 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. > > > > > +\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? > > > Btw, did I mention that .lyx is a a really horrible format to review > > diffs for? Plain latex would be a lot better.. _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization