[linux-lvm] fsync() and LVM

Alasdair G Kergon agk at redhat.com
Fri Mar 13 20:38:12 UTC 2009

Let's try to clear up the confusion.

Kernel device-mapper (which lvm uses) does not support write barriers
except in very restricted circumstances (when only one device is
involved and the mapping is trivial).  If dm receives a write barrier
which is not supported it notifies the caller (typically a filesystem)
so appropriate action can be taken if it wishes.

Several kernels releases ago, the implementation of the 'flush device'
operation in the block layer was changed from a simple function call
that dm supported to a mechanism involving barriers that is trickier for
dm to support.  Previously 'flush' could not fail and so callers do not
generally have strategies to handle such a situation.

The latest of several attempts to support barriers is contained in
patches here:

Please review and test if you are interested!

agk at redhat.com

More information about the linux-lvm mailing list