Message ID | 20230524153316.476973-2-aleksandr.mikhalitsyn@canonical.com |
---|---|
State | Superseded |
Headers | show |
Series | ceph: support idmapped mounts | expand |
On 5/24/23 23:33, Alexander Mikhalitsyn wrote: > These helpers are required to support idmapped mounts in the Cephfs. > > Signed-off-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com> > --- > fs/mnt_idmapping.c | 2 ++ > include/linux/mnt_idmapping.h | 3 +++ > 2 files changed, 5 insertions(+) > > diff --git a/fs/mnt_idmapping.c b/fs/mnt_idmapping.c > index 4905665c47d0..5a579e809bcf 100644 > --- a/fs/mnt_idmapping.c > +++ b/fs/mnt_idmapping.c > @@ -256,6 +256,7 @@ struct mnt_idmap *mnt_idmap_get(struct mnt_idmap *idmap) > > return idmap; > } > +EXPORT_SYMBOL(mnt_idmap_get); > > /** > * mnt_idmap_put - put a reference to an idmapping > @@ -271,3 +272,4 @@ void mnt_idmap_put(struct mnt_idmap *idmap) > kfree(idmap); > } > } > +EXPORT_SYMBOL(mnt_idmap_put); > diff --git a/include/linux/mnt_idmapping.h b/include/linux/mnt_idmapping.h > index 057c89867aa2..b8da2db4ecd2 100644 > --- a/include/linux/mnt_idmapping.h > +++ b/include/linux/mnt_idmapping.h > @@ -115,6 +115,9 @@ static inline bool vfsgid_eq_kgid(vfsgid_t vfsgid, kgid_t kgid) > > int vfsgid_in_group_p(vfsgid_t vfsgid); > > +struct mnt_idmap *mnt_idmap_get(struct mnt_idmap *idmap); > +void mnt_idmap_put(struct mnt_idmap *idmap); > + > vfsuid_t make_vfsuid(struct mnt_idmap *idmap, > struct user_namespace *fs_userns, kuid_t kuid); > Hi Alexander, This needs the "fs/mnt_idmapping.c" maintainer's ack. Thanks - Xiubo
On Fri, Jun 02, 2023 at 02:40:27PM +0200, Christian Brauner wrote: > On Wed, May 24, 2023 at 05:33:03PM +0200, Alexander Mikhalitsyn wrote: > > These helpers are required to support idmapped mounts in the Cephfs. > > > > Signed-off-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com> > > --- > > It's fine by me to export them. The explicit contract is that _nothing > and absolutely nothing_ outside of core VFS code can directly peak into > struct mnt_idmap internals. That's the only invariant we care about.o It would be good if we could keep all these somewhat internal exports as EXPORT_SYMBOL_GPL, though.
diff --git a/fs/mnt_idmapping.c b/fs/mnt_idmapping.c index 4905665c47d0..5a579e809bcf 100644 --- a/fs/mnt_idmapping.c +++ b/fs/mnt_idmapping.c @@ -256,6 +256,7 @@ struct mnt_idmap *mnt_idmap_get(struct mnt_idmap *idmap) return idmap; } +EXPORT_SYMBOL(mnt_idmap_get); /** * mnt_idmap_put - put a reference to an idmapping @@ -271,3 +272,4 @@ void mnt_idmap_put(struct mnt_idmap *idmap) kfree(idmap); } } +EXPORT_SYMBOL(mnt_idmap_put); diff --git a/include/linux/mnt_idmapping.h b/include/linux/mnt_idmapping.h index 057c89867aa2..b8da2db4ecd2 100644 --- a/include/linux/mnt_idmapping.h +++ b/include/linux/mnt_idmapping.h @@ -115,6 +115,9 @@ static inline bool vfsgid_eq_kgid(vfsgid_t vfsgid, kgid_t kgid) int vfsgid_in_group_p(vfsgid_t vfsgid); +struct mnt_idmap *mnt_idmap_get(struct mnt_idmap *idmap); +void mnt_idmap_put(struct mnt_idmap *idmap); + vfsuid_t make_vfsuid(struct mnt_idmap *idmap, struct user_namespace *fs_userns, kuid_t kuid);
These helpers are required to support idmapped mounts in the Cephfs. Signed-off-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com> --- fs/mnt_idmapping.c | 2 ++ include/linux/mnt_idmapping.h | 3 +++ 2 files changed, 5 insertions(+)