]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
PGMonitor: return -EPERM on pg force-* commands during upgrade 13723/head
authorPiotr Dałek <piotr.dalek@corp.ovh.com>
Thu, 20 Jul 2017 07:34:11 +0000 (09:34 +0200)
committerPiotr Dałek <piotr.dalek@corp.ovh.com>
Thu, 20 Jul 2017 07:35:56 +0000 (09:35 +0200)
Return -EPERM on pg force-* commands during upgrade.

Signed-off-by: Piotr Dałek <piotr.dalek@corp.ovh.com>
src/mon/PGMonitor.cc

index 37324608be5ad7cd3ad3e644f1df3cfbf632e9ba..c4091ed08a1ffdb7b7cbb22aa5d9d26eb00761d7 100644 (file)
@@ -1063,6 +1063,16 @@ bool PGMonitor::prepare_command(MonOpRequestRef op)
     }
     ss << "pg " << pgidstr << " now creating, ok";
     goto update;
+  } else if (prefix == "pg force-recovery" ||
+             prefix == "pg force-backfill" ||
+             prefix == "pg cancel-force-recovery" ||
+             prefix == "pg cancel-force-backfill") {
+    if (mon->osdmon()->osdmap.require_osd_release >= CEPH_RELEASE_LUMINOUS) {
+      ss << "you must complete the upgrade and 'ceph osd require-osd-release "
+        << "luminous' before using forced recovery";
+      r = -EPERM;
+      goto reply;
+    }
   } else if (prefix == "pg set_full_ratio" ||
              prefix == "pg set_nearfull_ratio") {
     if (mon->osdmon()->osdmap.require_osd_release >= CEPH_RELEASE_LUMINOUS) {