Re: [RFC] ext3 freeze feature
From: Takashi Sato <hidden>
Date: 2008-02-13 08:23:14
Also in:
linux-fsdevel, lkml
Hi,
P.S. Oh yeah, it should be noted that freezing at the filesystem layer does *not* guarantee that changes to the block device aren't happening via mmap()'ed files. The LVM needs to freeze writes the block device level if it wants to guarantee a completely stable snapshot image. So the proposed patch doens't quite give you those guarantees, if that was the intended goal.
I don't think a mmap()'ed file is written to a block device while a filesystem is frozen. pdflush starts the writing procedure of the mmap()'ed file's data and calls ext3_ordered_writepage. ext3_ordered_writepage calls ext3_journal_start to get the journal handle. As a result, the process waits for unfreeze in start_this_handle. pdflush : : ext3_ordered_writepage ext3_journal_start ext3_journal_start_sb journal_start start_this_handle <--- wait here I actually tried freezing the filesystem after updating the mmap()'ed file's data. But, the writing to the block device didn't happen. (It happened right after unfreeze.) I don't think the freeze feature on the block device level is needed because the writing for the mmap()'ed file is suspended on the frozen filesystem. Any comments are very welcome. Cheers, Takashi