On Tue, Sep 10, 2019 at 10:35:09PM +0000, Yonghong Song wrote: > > Carlos, > > Discussed with Eric today for what is the best way to get > the device number for a namespace. The following patch seems > a reasonable start although Eric would like to see > how the helper is used in order to decide whether the > interface looks right. > > commit bb00fc36d5d263047a8bceb3e51e969d7fbce7db (HEAD -> fs2) > Author: Yonghong Song <yhs@xxxxxx> > Date: Mon Sep 9 21:50:51 2019 -0700 > > nsfs: add an interface function ns_get_inum_dev() > > This patch added an interface function > ns_get_inum_dev(). Given a ns_common structure, > the function returns the inode and device > numbers. The function will be used later > by a newly added bpf helper. > > Signed-off-by: Yonghong Song <yhs@xxxxxx> > > diff --git a/fs/nsfs.c b/fs/nsfs.c > index a0431642c6b5..a603c6fc3f54 100644 > --- a/fs/nsfs.c > +++ b/fs/nsfs.c > @@ -245,6 +245,14 @@ struct file *proc_ns_fget(int fd) > return ERR_PTR(-EINVAL); > } > > +/* Get the device number for the current task pidns. > + */ > +void ns_get_inum_dev(struct ns_common *ns, u32 *inum, dev_t *dev) > +{ > + *inum = ns->inum; > + *dev = nsfs_mnt->mnt_sb->s_dev; > +} Umm... Where would it get the device number once we get (hell knows what for) multiple nsfs instances? I still don't understand what would that be about, TBH... Is it really per-userns? Or something else entirely? Eric, could you give some context?