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)
committerIlya Dryomov <idryomov@gmail.com>
Wed, 25 May 2022 18:45:14 +0000 (20:45 +0200)
commit5eed80fba65cd707075892450bc5d6bd464862a0
treed32223faa79185ffbee71c6420bcdc0abd996746
parentf7a2d0688a3b2bb4769402b4c962f54f7b0fc23c
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
Signed-off-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/addr.c
fs/ceph/inode.c
fs/ceph/super.h