summaryrefslogtreecommitdiff
path: root/fs/ceph
diff options
context:
space:
mode:
authorIlya Dryomov <idryomov@gmail.com>2020-09-15 21:11:30 +0200
committerIlya Dryomov <idryomov@gmail.com>2020-10-12 15:29:26 +0200
commit4bb926e83f1e2d80409cc8b45336f5f303d49315 (patch)
treee1b7d49d9edab7319665263f43c6253b30564114 /fs/ceph
parent1b05fae7f29db4c41864aed903865086e070fa89 (diff)
downloadlinux-4bb926e83f1e2d80409cc8b45336f5f303d49315.tar.gz
ceph: add a note explaining session reject error string
error_string key in the metadata map of MClientSession message is intended for humans, but unfortunately became part of the on-wire format with the introduction of recover_session=clean mode in commit 131d7eb4faa1 ("ceph: auto reconnect after blacklisted"). Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'fs/ceph')
-rw-r--r--fs/ceph/mds_client.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c
index bb2d938a17ac..08f1c0c31dc2 100644
--- a/fs/ceph/mds_client.c
+++ b/fs/ceph/mds_client.c
@@ -3317,6 +3317,10 @@ static int __decode_session_metadata(void **p, void *end,
*p += len;
ceph_decode_32_safe(p, end, len, bad);
ceph_decode_need(p, end, len, bad);
+ /*
+ * Match "blocklisted (blacklisted)" from newer MDSes,
+ * or "blacklisted" from older MDSes.
+ */
if (err_str && strnstr(*p, "blacklisted", len))
*blocklisted = true;
*p += len;