Improving ext4: bigalloc, inline data, and metadata checksums
Posted Dec 12, 2011 18:39 UTC (Mon) by dlang (✭ supporter ✭, #313)
[Link]
issueing barriers is _how_ the filesystem 'waits'
it actually doesn't stop processing requests and wait for the confirmation from the disk, it issues a barrier to tell the rest of the storage stack not to reorder around that point and goes on to process the next requrest and get it in flight.
Improving ext4: bigalloc, inline data, and metadata checksums
Posted Dec 12, 2011 18:53 UTC (Mon) by andresfreund (subscriber, #69562)
[Link]
Err. Read the code. xfs uses io completion callbacks and only relies on the contents of the journal after the completion returned. (xlog_sync()->xlog_bdstrat()->xfs_buf_iorequest()->_xfs_buf_ioend()).
jbd does something similar but I don't want to look it up unless youre really interested.
It worked a littlebit more like you describe before 2.6.37 but back then it waited if barriers were disabled.
Improving ext4: bigalloc, inline data, and metadata checksums
Posted Dec 13, 2011 13:35 UTC (Tue) by nix (subscriber, #2304)
[Link]
Well, this is clear as mud :) guess I'd better do some code reading and figure out wtf the properties of the system actually are...
Improving ext4: bigalloc, inline data, and metadata checksums
Posted Dec 13, 2011 13:38 UTC (Tue) by andresfreund (subscriber, #69562)
[Link]
If you want I can give you the approx calltrace for jbd2 as well, I know it took me some time when I looked it up...