]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: Handle setting 'enabled' in upgrades
authorJohn Spray <jspray@redhat.com>
Thu, 12 Jun 2014 11:22:33 +0000 (12:22 +0100)
committerJohn Spray <jspray@redhat.com>
Mon, 30 Jun 2014 09:38:57 +0000 (10:38 +0100)
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 <john.spray@redhat.com>
src/mds/MDSMap.cc

index f681c89c1fb87049e14e69b14c4e26d425b5967b..97b148b94ccd0b693ccec21de8d911b1a6dffe90 100644 (file)
@@ -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