Tejun Heo [off-list ref] writes:
It's a bit scary tho. Working inode->i_dentry or dentry->d_alias
crosses multiple sb's. sysfs isn't too greedy about dcache/icache.
Only open files and directories hold them and only single copy of
sysfs_dirent is there for most nodes. Wouldn't it be better to stay on
the safer side and use separate inode hierarchy?
To do that I believe we would need to ensure sysfs does not use
the inode->i_mutex lock except to keep the VFS layer out. Allowing us
to safely change the directory structure, without holding it.
You raise a good point about inode->i_dentry and dentry->d_alias.
Generally they are used by fat like filesystems but I am starting to
see uses in generic pieces of code. I don't see any problems today
but yes it would be good to do the refactoring to allow us to duplicate
the inodes.
Eric