Commit 0e24421a authored by Xiubo Li's avatar Xiubo Li Committed by Ilya Dryomov
Browse files

ceph: fix mdsmap decode when there are MDS's beyond max_mds

If the max_mds is decreased in a cephfs cluster, there is a window
of time before the MDSs are removed. If a map goes out during this
period, the mdsmap may show the decreased max_mds but still shows
those MDSes as in or in the export target list.

Ensure that we don't fail the map decode in that case.

Cc: stable@vger.kernel.org
URL: https://tracker.ceph.com/issues/52436


Fixes: d517b398 ("ceph: reconnect to the export targets on new mdsmaps")
Signed-off-by: default avatarXiubo Li <xiubli@redhat.com>
Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
parent e90334e8
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -263,10 +263,6 @@ struct ceph_mdsmap *ceph_mdsmap_decode(void **p, void *end, bool msgr2)
				goto nomem;
			for (j = 0; j < num_export_targets; j++) {
				target = ceph_decode_32(&pexport_targets);
				if (target >= m->possible_max_rank) {
					err = -EIO;
					goto corrupt;
				}
				info->export_targets[j] = target;
			}
		} else {