aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ceph/inode.c
diff options
context:
space:
mode:
authorXiubo Li <xiubli@redhat.com>2022-07-27 12:29:10 +0800
committerIlya Dryomov <idryomov@gmail.com>2022-10-04 19:18:08 +0200
commit6eb06c46214d33c71ae86d60b3fc9cb17c20beca (patch)
treef39b5b53c2a92f0b63b65345eb9ffdf54f00a2be /fs/ceph/inode.c
parentceph: wake up the waiters if any new caps comes (diff)
downloadlinux-dev-6eb06c46214d33c71ae86d60b3fc9cb17c20beca.tar.xz
linux-dev-6eb06c46214d33c71ae86d60b3fc9cb17c20beca.zip
ceph: fail the request if the peer MDS doesn't support getvxattr op
Just fail the request instead sending the request out, or the peer MDS will crash. Link: https://tracker.ceph.com/issues/56529 Signed-off-by: Xiubo Li <xiubli@redhat.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'fs/ceph/inode.c')
-rw-r--r--fs/ceph/inode.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c
index 42351d7a0dd6..b4a3cb07d5b0 100644
--- a/fs/ceph/inode.c
+++ b/fs/ceph/inode.c
@@ -2356,6 +2356,7 @@ int ceph_do_getvxattr(struct inode *inode, const char *name, void *value,
goto out;
}
+ req->r_feature_needed = CEPHFS_FEATURE_OP_GETVXATTR;
req->r_path2 = kstrdup(name, GFP_NOFS);
if (!req->r_path2) {
err = -ENOMEM;