set_super_anon in fs/super.c

Rohan Puri rohan.puri15 at gmail.com
Tue Oct 23 09:17:36 EDT 2012


On Tue, Oct 23, 2012 at 6:33 PM, Abhijit Chandrakant Pawar <
abhi.c.pawar at gmail.com> wrote:

> **
> I am working on the layered file systems. I came across a function called
> set_super_anon.
> This is a callback to the sget function to compare the superblock . This
> function accepts two parameters. first is superblock * and second is void
> *.  If you look at the definition of this function, the void* is never
> used.
> Many filesystem uses this function when they are mounting the superblock.
> Some pass NULL and some pass actual data.I have looked till 2.6.31 but
> there isnt any trace of the usage of second parameter.
>
> If it is never used then why its added to the function param list?  Is
> there any historical reason during the older kernel days?
>
> Regards,
> Abhijit Pawar
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
>
Hi Abhijit,

See the issue is this function is passed as an argument to sget(), now
their are many other file-systems that defined their own set_super function
& for that they need data argument where they usually pass mount-related
data

For eg. see the definition and usage of function nfs_set_super().

So, the prototype of the sget() should contain function ptr (set_super())
and this function ptr should have data argument also. Now one usage can
imply NO USE of the data parameter, which is set_super_anon, but other
file-systems may require, so the sget() prototype should be generic to
support, both the cases.

- Rohan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20121023/f5a87449/attachment-0001.html 


More information about the Kernelnewbies mailing list