linux/fs/ceph
Xiubo Li 5eed80fba6 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>
2022-05-25 20:45:14 +02:00
..
acl.c vfs: add rcu argument to ->get_acl() callback 2021-08-18 22:08:24 +02:00
addr.c ceph: try to choose the auth MDS if possible for getattr 2022-05-25 20:45:14 +02:00
cache.c netfs: Add a netfs inode context 2022-03-18 09:29:05 +00:00
cache.h Netfs prep for write helpers 2022-03-31 15:49:36 -07:00
caps.c ceph: rename unsafe_request_wait() 2022-05-25 20:45:14 +02:00
ceph_frag.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
debugfs.c ceph: use tracked average r/w/m latencies to display metrics in debugfs 2022-03-21 13:35:16 +01:00
dir.c ceph: fix memory leak in ceph_readdir when note_last_dentry returns error 2022-03-21 13:35:16 +01:00
export.c ceph: shut down access to inode when async create fails 2021-11-08 03:29:51 +01:00
file.c ceph: fix setting of xattrs on async created inodes 2022-05-10 09:48:31 +02:00
inode.c ceph: try to choose the auth MDS if possible for getattr 2022-05-25 20:45:14 +02:00
io.c ceph: fix kerneldoc copypasta over ceph_start_io_direct 2021-04-27 23:52:23 +02:00
io.h ceph: add buffered/direct exclusionary locking for reads and writes 2019-09-16 12:06:25 +02:00
ioctl.c ceph: consider inode's last read/write when calculating wanted caps 2020-03-30 12:42:42 +02:00
ioctl.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig ceph: conversion to new fscache API 2022-01-11 22:13:01 +00:00
locks.c ceph: eliminate req->r_wait_for_completion from ceph_mds_request 2022-03-01 18:26:36 +01:00
Makefile ceph: add dentry lease metric support 2020-06-01 13:22:51 +02:00
mds_client.c ceph: flush the mdlog for filesystem sync 2022-05-25 20:45:14 +02:00
mds_client.h ceph: add getvxattr op 2022-03-01 18:26:37 +01:00
mdsmap.c ceph: fix mdsmap decode when there are MDS's beyond max_mds 2021-11-08 03:29:52 +01:00
metric.c ceph: include average/stdev r/w/m latency in mds metrics 2022-03-21 13:35:16 +01:00
metric.h ceph: include average/stdev r/w/m latency in mds metrics 2022-03-21 13:35:16 +01:00
quota.c ceph: don't check for quotas on MDS stray dirs 2022-01-13 13:40:07 +01:00
snap.c ceph: misc fix for code style and logs 2022-03-01 18:26:37 +01:00
strings.c ceph: add getvxattr op 2022-03-01 18:26:37 +01:00
super.c ceph: disable updating the atime since cephfs won't maintain it 2022-05-25 20:45:14 +02:00
super.h ceph: try to choose the auth MDS if possible for getattr 2022-05-25 20:45:14 +02:00
util.c ceph: move net/ceph/ceph_fs.c to fs/ceph/util.c 2020-01-27 16:53:40 +01:00
xattr.c ceph: allow ceph.dir.rctime xattr to be updatable 2022-05-25 20:45:13 +02:00