From: John Spray Date: Thu, 12 Jun 2014 11:22:33 +0000 (+0100) Subject: mds: Handle setting 'enabled' in upgrades X-Git-Tag: v0.84~164^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=641b4195b99115ca04d34362cf4c87c1093874d0;p=ceph.git mds: Handle setting 'enabled' in upgrades Previously was always defaulting to disabled, should be enabled if MDS map epoch is >1 (i.e. if an MDS was ever started). Signed-off-by: John Spray --- diff --git a/src/mds/MDSMap.cc b/src/mds/MDSMap.cc index f681c89c1fb8..97b148b94ccd 100644 --- a/src/mds/MDSMap.cc +++ b/src/mds/MDSMap.cc @@ -544,6 +544,16 @@ void MDSMap::decode(bufferlist::iterator& p) if (struct_v >= 5) { ::decode(enabled, p); ::decode(fs_name, p); + } else { + if (epoch > 1) { + // If an MDS has ever been started, epoch will be greater than 1, + // assume filesystem is enabled. + enabled = true; + } else { + // Upgrading from a cluster that never used an MDS, switch off + // filesystem until it's explicitly enabled. + enabled = false; + } } // kclient ignores everything from here