On Mon, Jul 10, 2023 at 7:33 PM Ivan Babrou <ivan@xxxxxxxxxxxxxx> wrote: > > The following two commits added the same thing for tmpfs: > > * commit 2b4db79618ad ("tmpfs: generate random sb->s_uuid") > * commit 59cda49ecf6c ("shmem: allow reporting fanotify events with file handles on tmpfs") > > Having fsid allows using fanotify, which is especially handy for cgroups, > where one might be interested in knowing when they are created or removed. > > Signed-off-by: Ivan Babrou <ivan@xxxxxxxxxxxxxx> > --- > fs/kernfs/mount.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/fs/kernfs/mount.c b/fs/kernfs/mount.c > index d49606accb07..930026842359 100644 > --- a/fs/kernfs/mount.c > +++ b/fs/kernfs/mount.c > @@ -16,6 +16,8 @@ > #include <linux/namei.h> > #include <linux/seq_file.h> > #include <linux/exportfs.h> > +#include <linux/uuid.h> > +#include <linux/statfs.h> > > #include "kernfs-internal.h" > > @@ -45,8 +47,15 @@ static int kernfs_sop_show_path(struct seq_file *sf, struct dentry *dentry) > return 0; > } > > +int kernfs_statfs(struct dentry *dentry, struct kstatfs *buf) This probably should be declared static > +{ > + simple_statfs(dentry, buf); > + buf->f_fsid = uuid_to_fsid(dentry->d_sb->s_uuid.b); > + return 0; > +} > + > const struct super_operations kernfs_sops = { > - .statfs = simple_statfs, > + .statfs = kernfs_statfs, > .drop_inode = generic_delete_inode, > .evict_inode = kernfs_evict_inode, > > @@ -351,6 +360,8 @@ int kernfs_get_tree(struct fs_context *fc) > } > sb->s_flags |= SB_ACTIVE; > > + uuid_gen(&sb->s_uuid); > + > down_write(&root->kernfs_supers_rwsem); > list_add(&info->node, &info->root->supers); > up_write(&root->kernfs_supers_rwsem); > -- > 2.41.0 > Ignat