Re: [PATCH 00/17] VFS: Filesystem information and notifications [ver #17]

David Howells
2020-02-28T16:36:21Z

sysfs also has some other disadvantages for this:

(1) There's a potential chicken-and-egg problem in that you have to create a
bunch of files and dirs in sysfs for every created mount and superblock
(possibly excluding special ones like the socket mount) - but this
includes sysfs itself. This might work - provided you create sysfs
first.

(2) sysfs is memory intensive. The directory structure has to be backed by
dentries and inodes that linger as long as the referenced object does
(procfs is more efficient in this regard for files that aren't being
accessed).

(3) It gives people extra, indirect ways to pin mount objects and
superblocks.

For the moment, fsinfo() gives you three ways of referring to a filesystem
object:

(a) Directly by path.

(b) By path associated with an fd.

(c) By mount ID (perm checked by working back up the tree).

but will need to add:

(d) By fscontext fd (which is hard to find in sysfs). Indeed, the superblock
may not even exist yet.

David