]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: clarify message about blocked scrub 32521/head
authorPatrick Donnelly <pdonnell@redhat.com>
Fri, 10 Jan 2020 22:27:07 +0000 (14:27 -0800)
committerPatrick Donnelly <pdonnell@redhat.com>
Fri, 10 Jan 2020 22:28:00 +0000 (14:28 -0800)
Also, non-recursive scrub still needs rejected: a given directory's
fragments may be on other ranks.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
src/mds/MDSRank.cc

index bf01333c3cae78d82033b38bbe4fdffb2d258780..0314f036abd3d3383a2f92e0e77a08e6019efae6 100644 (file)
@@ -2524,16 +2524,14 @@ void MDSRankDispatcher::handle_asok_command(
     cmd_getval(g_ceph_context, cmdmap, "scrubops", scrubop_vec);
     cmd_getval(g_ceph_context, cmdmap, "path", path);
     cmd_getval(g_ceph_context, cmdmap, "tag", tag);
-    /* if there are more than one mds active and a recursive scrub is requested,
-     * dishonor the request
-     */
-    bool is_recursive = std::find(scrubop_vec.begin(), scrubop_vec.end(), string("recursive")) != scrubop_vec.end();
-    if (mdsmap->get_max_mds() > 1 && is_recursive) {
-      ss << "There is more than one MDS active. Hence a recursive scrub "
-            "request cannot be started.";
+
+    /* Multiple MDS scrub is not currently supported. See also: https://tracker.ceph.com/issues/12274 */
+    if (mdsmap->get_max_mds() > 1) {
+      ss << "Scrub is not currently supported for multiple active MDS. Please reduce max_mds to 1 and then scrub.";
       r = -EINVAL;
       goto out;
     }
+
     finisher->queue(
       new LambdaContext(
        [this, on_finish, f, path, tag, scrubop_vec](int r) {