Message ID | 20230524153316.476973-9-aleksandr.mikhalitsyn@canonical.com |
---|---|
State | Superseded |
Headers | show |
Series | ceph: support idmapped mounts | expand |
On 5/24/23 23:33, Alexander Mikhalitsyn wrote: > From: Christian Brauner <christian.brauner@ubuntu.com> > > Enable ceph_getattr() to handle idmapped mounts. This is just a matter > of passing down the mount's idmapping. > > Cc: Jeff Layton <jlayton@kernel.org> > Cc: Ilya Dryomov <idryomov@gmail.com> > Cc: ceph-devel@vger.kernel.org > Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com> > Signed-off-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com> > --- > fs/ceph/inode.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c > index 8e5f41d45283..2e988612ed6c 100644 > --- a/fs/ceph/inode.c > +++ b/fs/ceph/inode.c > @@ -2465,7 +2465,7 @@ int ceph_getattr(struct mnt_idmap *idmap, const struct path *path, > return err; > } > > - generic_fillattr(&nop_mnt_idmap, inode, stat); > + generic_fillattr(idmap, inode, stat); > stat->ino = ceph_present_inode(inode); > > /* As mentioned in my comment in "[PATCH v2 10/13] ceph: allow idmapped setattr inode op". The getattr requests may fail too in the MDS when doing the client auth checking. So for all the requests we should always get the correct UID/GID instead of only for the creating requests, then we can make sure that the idmap is only a feature in client side and then in cephfs MDS side it will always get a consistent UID/GID no matter what idmappings the clients are using. Right ? Thanks - Xiubo
diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c index 8e5f41d45283..2e988612ed6c 100644 --- a/fs/ceph/inode.c +++ b/fs/ceph/inode.c @@ -2465,7 +2465,7 @@ int ceph_getattr(struct mnt_idmap *idmap, const struct path *path, return err; } - generic_fillattr(&nop_mnt_idmap, inode, stat); + generic_fillattr(idmap, inode, stat); stat->ino = ceph_present_inode(inode); /*