<div dir="auto"><div><br><div class="gmail_extra"><br><div class="gmail_quote">On 19-Jun-2017 10:38 AM, &quot;Shrikant Giridhar&quot; &lt;<a href="mailto:shrikantgiridhar@gmail.com">shrikantgiridhar@gmail.com</a>&gt; wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="quoted-text">On Fri, 16 Jun 2017, Rohan Puri wrote:<br>
<br>
&gt; If s_root is set it means the superblock is already filled up so call<br>
&gt; fill_super() only if s_root is NULL meaning superblock is not filled yet.<br>
<br>
</div>I tried looking at the d_name of the s_root dentry when mounting a device and<br>
its always &#39;/&#39;. I presume this is due to it being the root dentry of the<br>
subtree we&#39;re attaching to the main file hierarchy.<br></blockquote></div></div></div><div dir="auto">Yes.</div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Can the dentry of a superblock be something other than &#39;/&#39; on mounting it?<br></blockquote></div></div></div><div dir="auto">Are you talking about s_root field of struct super_block ? Then it ideally should be of root. I checked some file systems implementation of fill_super().</div><div dir="auto"><br></div><div dir="auto">fill_super() is the method that sets the s_root field of super_block. I found all of those file systems *rightly* calling d_make_root() API which actually makes root dentry with name &#39;/&#39;.</div><div dir="auto"><br></div><div dir="auto">So the question you should ask yourself is which file systems code are you referring too, how is it setting the s_root field of super_block in their fill_super method. You will get your answer. Unless some file system is doing some very weird thing, I believe it would be calling d_make_root() VFS API only which does the task for you.</div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br><br>
Apologies if my question is a little vague. Any documentation about this would<br>
help too.<br>
<br>
---<br>
Shrikant<br></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
</blockquote></div>- Rohan</div></div></div>