<div class="gmail_quote">On Wed, Feb 15, 2012 at 2:08 PM, Manish Katiyar <span dir="ltr">&lt;<a href="mailto:mkatiyar@gmail.com">mkatiyar@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

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

<br>
</div></div>