On Wed, Feb 15, 2012 at 2:08 PM, Manish Katiyar <mkatiyar@gmail.com> wrote:
[Apparently I forgot to cc list]
On Tue, Feb 14, 2012 at 10:04 PM, Manish Katiyar <mkatiyar@gmail.com> wrote:
On Tue, Feb 14, 2012 at 7:43 PM, Ravishankar <cyberax82@gmail.com> wrote:
Hello,
When we unmount a file system with the umount command or the umount() system call, does the kernel sync the dirty buffers before the file system is unmounted?I am assuming that the file system is not 'busy' (i.e no open files etc) and no force options are specified. When I did a walk-through of do_umount() call in fs/namespace.c, I could not find calls to sync any dirty pages that might exist.
yes, most of the filesystem have their own function to sync fs. Look for the function pointer "sync_fs"
For eg..for ext4
generic_shutdown_super -> sync_filesystem -> __sync_filesystem -> sync_fs -> ext4_sync_fs -- Thanks - Manish
-- Thanks - Manish
Thanks a lot.Just to add, generic_shutdown_super() is called thus: umount systemcall -->mntput_no_expire()-->__mntput()-->deactivate_super()-->deactivate_locked_super()-->kill_block_super()-->generic_shutdown_super()