Thread (6 messages) 6 messages, 2 authors, 2012-10-25

set_super_anon in fs/super.c

From: Rohan Puri <hidden>
Date: 2012-10-23 13:17:36

On Tue, Oct 23, 2012 at 6:33 PM, Abhijit Chandrakant Pawar <
abhi.c.pawar@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 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help