I had the discussion with Jeremy in Boston before, but let's repeat it
here:

 - is there actually any pre-existing xen backend that does properly
   implement empty barries.  Back then we couldn't find any.
 - if this is a new concept to Xen please do not define an empty
   barrier primitive, but a new flush cache primitive.  That one
   maps natively to the qemu I/O layer, and with recent Linux, NetBSD,
   Windows, or Solaris guest will be a lot faster than a barrier
   which drains the queue.

Note that what your patch implements actually is a rather inefficient
implementation of the latter.  You do none of the queue draining which
the in-kernel blkback implementation does by submitting the old-style
barrier bio.  While most filesystem do not care you introduce a quite
subtile chance of data corruption for reiserfs, or ext4 with
asynchronous journal commits on pre-2.6.37 kernels.


Reply via email to