How are journaled data blocks flushed to their actual locations on storage device?

56 Views Asked by At

Consider that a transaction 'A' is committed to journal in Ext4 filesystem. Now, when and how are the blocks, which were part of this transaction, stored to their actual locations on the storage device?

One approach can be to flush these blocks (which are cached in RAM) to their actual locations on the storage device after the journal commit has happened. Once all blocks have been flushed, remove the journal entry corresponding these blocks.

Does journal checkpointing differ from above approach?

Basically, I am not able to understand how exactly blocks, part of a journal transaction, are stored on their actual location on the storage device.

I have read few research papers and looked into course slides that explain journaling but I have a very unclear picture of this concept.

0

There are 0 best solutions below