]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mon/MDSMonitor: propose if FSMap struct_v is too old 42537/head
authorPatrick Donnelly <pdonnell@redhat.com>
Thu, 15 Jul 2021 01:02:20 +0000 (18:02 -0700)
committerPatrick Donnelly <pdonnell@redhat.com>
Thu, 29 Jul 2021 15:50:15 +0000 (08:50 -0700)
commit75661374ff7fa14bf9bc053b9389571d8aa68f7a
tree1c7ca5268e42cbef06bd478465e3954536a756ae
parent60ad0ca622cf64dad99f89cea2b520dce1322fbf
mon/MDSMonitor: propose if FSMap struct_v is too old

To flush older versions which may still be an empty MDSMap (for clusters
that have never used CephFS), we need to force a proposal so older
versions of the struct are trimmed.

This is the main fix of this branch. We removed code which processed old
encodings of the MDSMap in the mon store via 60bc524. That broke old
ceph clusters which never used CephFS (see cited ticket below).  This is
because the initial epoch is an empty MDSMap (back in Infernalis/Hammer)
that is never updated. So, the fix here is to just do proposals
periodically until all of the old structs are automatically trimmed by
the mons.

Fixes: 60bc524827bac072658203e56b1fa3dede9641c5
Fixes: https://tracker.ceph.com/issues/51673
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 56c3fc802ee8848ba85da4300adcc2ee8bd95416)

Conflicts:
src/mds/FSMap.cc: adjust for octopus which decodes old MDSMaps
src/mon/MDSMonitor.h: trivial conflicts
src/mds/FSMap.cc
src/mds/FSMap.h
src/mon/MDSMonitor.cc
src/mon/MDSMonitor.h