Hi Darrick, > Is something verifying the block at the same time the journal is > writing the same block out via replay? Or even just a regular commit? > If that's the case, then yes, you're right, we can't touch a single > bit on a metadata block without a transaction protecting it. Oops. As far as I know, if you want to modify a metadata block, you have to get write access for a metadata block in advance in order to notify your intention to jbd2 journaling module so that jbd2 can control all the modifications to the metadata block and it can make a copied version of the metadata block with copying out the original metadata block if necessary. However, if we touch a metadata block without jbd2's approval, jbd2 doesn't know about what we are doing and it cannot do anything for us. So, we can modify the content of the metadata block even being written back.