]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/MDSMonitor: make legacy 'newfs' command idempotent 2113/head
authorSage Weil <sage@redhat.com>
Thu, 17 Jul 2014 00:24:36 +0000 (17:24 -0700)
committerSage Weil <sage@redhat.com>
Thu, 17 Jul 2014 00:24:36 +0000 (17:24 -0700)
We need to return success if we get a dup command.  Simply check whether
the fs is already enabled with the same pools and name.

Fixes: #8857
Signed-off-by: Sage Weil <sage@redhat.com>
src/mon/MDSMonitor.cc

index 689f70a07d5069fc573f3e417d524fab2af9be10..34b9632338ed845519ca397399d71e39ced8a9bb 100644 (file)
@@ -955,6 +955,16 @@ bool MDSMonitor::management_command(
       return true;
     }
 
+    // be idempotent.. success if it already exists and matches
+    if (mdsmap.get_enabled() &&
+       mdsmap.get_metadata_pool() == metadata &&
+       mdsmap.get_first_data_pool() == data &&
+       mdsmap.fs_name == MDS_FS_NAME_DEFAULT) {
+      ss << "filesystem '" << MDS_FS_NAME_DEFAULT << "' already exists";
+      r = 0;
+      return true;
+    }
+
     string sure;
     cmd_getval(g_ceph_context, cmdmap, "sure", sure);
     if (pending_mdsmap.get_enabled() && sure != "--yes-i-really-mean-it") {