]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: don't ignore scrubbing non-regular non-directory inodes
authorYan, Zheng <zyan@redhat.com>
Wed, 16 Dec 2015 08:31:09 +0000 (16:31 +0800)
committerYan, Zheng <zyan@redhat.com>
Mon, 7 Mar 2016 07:59:13 +0000 (15:59 +0800)
The overhead of scrubbing them is low, so don't treat them specially.

Signed-off-by: Yan, Zheng <zyan@redhat.com>
src/mds/ScrubStack.cc

index 158d6735d1fbd55f417c343c21e85c2bf5261694..df55b8fa2acd3e8a95f8f6406ddffae47c524f94 100644 (file)
@@ -99,21 +99,12 @@ void ScrubStack::kick_off_scrubs()
       // it's a regular file, symlink, or hard link
       pop_dentry(cur); // we only touch it this once, so remove from stack
 
-      if (curi->is_file()) {
-       if (!cur->scrub_info()->on_finish) {
-         scrubs_in_progress++;
-         cur->scrub_set_finisher(&scrub_kick);
-       }
-        scrub_file_dentry(cur);
-        can_continue = true;
-      } else {
-        // drat, we don't do anything with these yet :(
-        dout(5) << "skipping scrub on non-dir, non-file dentry "
-                << *cur << dendl;
-       Context *c = NULL;
-       cur->scrub_finished(&c);
-       assert(c == NULL);
+      if (!cur->scrub_info()->on_finish) {
+       scrubs_in_progress++;
+       cur->scrub_set_finisher(&scrub_kick);
       }
+      scrub_file_dentry(cur);
+      can_continue = true;
     } else {
       bool completed; // it's done, so pop it off the stack
       bool terminal; // not done, but we can start ops on other directories