On Fri, Feb 28, 2020 at 05:24:23PM +0100, Miklos Szeredi wrote:
On Fri, Feb 28, 2020 at 1:27 PM Greg Kroah-Hartman
[off-list ref] wrote:
quoted
quoted
Superblocks and mounts could get enumerated by a unique identifier.
mnt_id seems to be good for mounts, s_dev may or may not be good for
superblock, but s_id (as introduced in this patchset) could be used
instead.
So what would the sysfs tree look like with this?
For a start something like this:
mounts/$MOUNT_ID/
parent -> ../$PARENT_ID
super -> ../../supers/$SUPER_ID
root: path from mount root to fs root (could be optional as usually
they are the same)
mountpoint -> $MOUNTPOINT
flags: mount flags
propagation: mount propagation
children/$CHILD_ID -> ../../$CHILD_ID
supers/$SUPER_ID/
type: fstype
source: mount source (devname)
options: csv of mount options
Oh, wonderful. So let me see if I got it right - any namespace operation
can create/destroy/move around an arbitrary amount of sysfs objects.
Better yet, we suddenly have to express the lifetime rules for struct mount
and struct superblock in terms of struct device garbage.
I'm less than thrilled by the entire fsinfo circus, but this really takes
the cake.
In case it needs to be spelled out: NAK.