The order that these are expected by the filesystem to hit stable storage are: 1. block 4 and 10 on stable storage in any order 2. barrier block X on stable storage 3. block 5 and 20 on stable storage in any order The point I'm trying to make is that in XFS, block 5 and 20 cannot be allowed to hit the disk before the barrier block because they have strict order dependency on block X being stable before them, just like block X has strict order dependency that block 4 and 10 must be stable before we start the barrier block write.
That would be the exactly how I understand Documentation/block/barrier.txt: "In other words, I/O barrier requests have the following two properties. 1. Request ordering ... 2. Forced flushing to physical medium" "So, I/O barriers need to guarantee that requests actually get written to non-volatile medium in order." Stefan -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel