On 5/24/23 23:33, Alexander Mikhalitsyn wrote:
From: Christian Brauner <christian.brauner@xxxxxxxxxx>
Enable ceph_getattr() to handle idmapped mounts. This is just a matter
of passing down the mount's idmapping.
Cc: Jeff Layton <jlayton@xxxxxxxxxx>
Cc: Ilya Dryomov <idryomov@xxxxxxxxx>
Cc: ceph-devel@xxxxxxxxxxxxxxx
Signed-off-by: Christian Brauner <christian.brauner@xxxxxxxxxx>
Signed-off-by: Alexander Mikhalitsyn <aleksandr.mikhalitsyn@xxxxxxxxxxxxx>
---
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