On Thu, 2012-03-22 at 11:33 +0100, Jan Kara wrote: > > However, if there is _no_ journal, the 'write_super' is initialized, and > > in many places the 's_dirt' flag is set, and thus VFS services seem to > > be actively used. > Which many places are you speaking about? Grep shows 4 places with > sb->s_dirt = 1; Well, with 'ext4_mark_super_dirty()' there are still 6 or something places. > You remove two of those in your cleanups so only > __ext4_handle_dirty_super() remains. That is called from 3 (4 after your > cleanups) places and they happen so rarely (during filesystem resize or > when we start using some feature on the filesystem) that if you use > sync_buffer() from all of them, it should be fine. But AFAIKC, the whole '__ext4_handle_dirty_super()' also falls-back to marking the superblock as dirty if the file-system has no journal for some reasons, right?. But I do not really understand what 'ext4_handle_valid()' does. If I grep for 'ext4_handle_dirty_super()' - there are many places places where it is used, and a few are obviously for the superblocks. -- Best Regards, Artem Bityutskiy
Attachment:
signature.asc
Description: This is a digitally signed message part