ceph: add a note explaining session reject error string
authorIlya Dryomov <idryomov@gmail.com>
Tue, 15 Sep 2020 19:11:30 +0000 (21:11 +0200)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 12 Oct 2020 13:29:26 +0000 (15:29 +0200)
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>
fs/ceph/mds_client.c

index bb2d938..08f1c0c 100644 (file)
@@ -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;