From: Yan, Zheng Date: Thu, 23 Nov 2017 10:28:16 +0000 (+0800) Subject: ceph: voluntarily drop Fx cap for readdir request X-Git-Tag: Ubuntu-5.13.0-19.19~11606^2~12 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=87c91a965aa28809888cbae3b2de35a486ed7107;p=mirror_ubuntu-jammy-kernel.git ceph: voluntarily drop Fx cap for readdir request MDS need to rdlock directory inode's filelock when handling readdir request. Voluntarily dropping CEPH_CAP_AUTH_EXCL avoids a cap revoke message. Signed-off-by: "Yan, Zheng" Signed-off-by: Ilya Dryomov --- diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c index aa2618f12cb7..9fde02cd5568 100644 --- a/fs/ceph/dir.c +++ b/fs/ceph/dir.c @@ -381,6 +381,7 @@ more: if (op == CEPH_MDS_OP_READDIR) { req->r_direct_hash = ceph_frag_value(frag); __set_bit(CEPH_MDS_R_DIRECT_IS_HASH, &req->r_req_flags); + req->r_inode_drop = CEPH_CAP_FILE_EXCL; } if (fi->last_name) { req->r_path2 = kstrdup(fi->last_name, GFP_KERNEL);