]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commit
ceph: try to choose the auth MDS if possible for getattr
authorXiubo Li <xiubli@redhat.com>
Thu, 21 Apr 2022 03:26:40 +0000 (11:26 +0800)
committerJeff Layton <jlayton@kernel.org>
Fri, 29 Apr 2022 20:06:36 +0000 (16:06 -0400)
commit09c3ee4a525bb87f89ec5106028bbd82ed586185
treefff0ba4bc2314c6e49c4ba3f65deaa7a608334f6
parent7e872a13ffab4d31fa9f02a8e8f3acd2a540c2f9
ceph: try to choose the auth MDS if possible for getattr

If any 'x' caps is issued we can just choose the auth MDS instead
of the random replica MDSes. Because only when the Locker is in
LOCK_EXEC state will the loner client could get the 'x' caps. And
if we send the getattr requests to any replica MDS it must auth pin
and tries to rdlock from the auth MDS, and then the auth MDS need
to do the Locker state transition to LOCK_SYNC. And after that the
lock state will change back.

This cost much when doing the Locker state transition and usually
will need to revoke caps from clients.

URL: https://tracker.ceph.com/issues/55240
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Xiubo Li <xiubli@redhat.com>
fs/ceph/addr.c
fs/ceph/inode.c
fs/ceph/super.h