[dm-devel] Barriers still not passing on simple dm devices...

Mikulas Patocka mpatocka at redhat.com
Wed Mar 25 15:15:14 UTC 2009


> > > Over time we should have support everywhere, but it needs to be checked, 
> > > audited, and trusted.
> > 
> > BTW. What is the rule for barriers if the device can't prevent the 
> > requests from being delayed or reordered? (for example ATA<=3 disks with 
> > cache that lack cache-flush command ... or flash cards that do 
> > write-caching anyway and it can't be turned off). Should they support 
> > barriers and try to make best effort? Or should they reject barriers to 
> > inform the caller code that they have no data consistency?
> 
> If they can't flush cache, then they must reject barriers unless they
> have write through caching.

... and you suppose that journaled filesystems will use this error and 
mark filesystem for fsck if they are running over a device that doesn't 
support consistency?

In theory it would be nice, in practice it doesn't work this way because 
many devices *DO* support data consistency don't support barriers (the 
most common are DM and MD when run over disk without write cache).


So I think there should be flag (this device does/doesn't support data 
consistency) that the journaled filesystems can use to mark the disk dirty 
for fsck. And if you implement this flag, you can accept barriers always 
to all kind of devices regardless of whether they support consistency. You 
can then get rid of that -EOPNOTSUPP and simplify filesystem code because 
they'd no longer need two commit paths and a clumsy way to restart 
-EOPNOTSUPPed requests.

Mikulas

> -- 
> Jens Axboe
> 




More information about the dm-devel mailing list