]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ReplicatedPG::_scrub: don't bail early for snapdir 1580/head
authorSamuel Just <sam.just@inktank.com>
Wed, 2 Apr 2014 17:11:02 +0000 (10:11 -0700)
committerSamuel Just <sam.just@inktank.com>
Wed, 2 Apr 2014 22:12:41 +0000 (15:12 -0700)
Fixes: #7937
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/common/hobject.h
src/osd/ReplicatedPG.cc

index 293348356bbc24ea4f43cc984d0a820f3c667028..fc12c9f1c457cba54c8e5c8ddf0824db4d3227ef 100644 (file)
@@ -102,6 +102,11 @@ public:
     return ret;
   }
 
+  /// @return true if object is snapdir
+  bool is_snapdir() const {
+    return snap == CEPH_SNAPDIR;
+  }
+
   /// @return true if object is head
   bool is_head() const {
     return snap == CEPH_NOSNAP;
index 8daeef90efda8ee09a8ffd33c1cd383820723624..23012e83b65bca4d64e95806141968ec878b3db6 100644 (file)
@@ -11109,11 +11109,6 @@ void ReplicatedPG::_scrub(ScrubMap& scrubmap)
        }         
       }
     }
-    if (soid.snap == CEPH_SNAPDIR) {
-      string cat;
-      scrub_cstat.add(stat, cat);
-      continue;
-    }
 
     // basic checks.
     if (p->second.attrs.count(OI_ATTR) == 0) {
@@ -11140,10 +11135,12 @@ void ReplicatedPG::_scrub(ScrubMap& scrubmap)
 
     stat.num_bytes += oi.size;
 
-    if (oi.is_dirty())
-      ++stat.num_objects_dirty;
-    if (oi.is_whiteout())
-      ++stat.num_whiteouts;
+    if (!soid.is_snapdir()) {
+      if (oi.is_dirty())
+       ++stat.num_objects_dirty;
+      if (oi.is_whiteout())
+       ++stat.num_whiteouts;
+    }
 
     //bufferlist data;
     //osd->store->read(c, poid, 0, 0, data);