> > > 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 > -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel