]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/ReplicatedPG: do not complain about missing clones when INCOMPLETE_CLONES is set
authorSage Weil <sage@redhat.com>
Thu, 24 Jul 2014 01:23:56 +0000 (18:23 -0700)
committerSage Weil <sage@redhat.com>
Thu, 24 Jul 2014 17:07:33 +0000 (10:07 -0700)
When scrubbing, do not complain about missing cloens when we are in a
caching mode *or* when the INCOMPLETE_CLONES flag is set.  Both are
indicators that we may be missing clones and that that is okay.

Fixes: #8882
Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/ReplicatedPG.cc

index 2baa290d48fa956dbbcf37dd9edb7c6d9f329097..daa5bc0fc8df4ac6fe967cd02e56748c93910af3 100644 (file)
@@ -11694,7 +11694,7 @@ void ReplicatedPG::_scrub(ScrubMap& scrubmap)
 
       // did we finish the last oid?
       if (head != hobject_t() &&
-         pool.info.cache_mode == pg_pool_t::CACHEMODE_NONE) {
+         !pool.info.allow_incomplete_clones()) {
        osd->clog.error() << mode << " " << info.pgid << " " << head
                          << " missing clones";
         ++scrubber.shallow_errors;
@@ -11755,7 +11755,7 @@ void ReplicatedPG::_scrub(ScrubMap& scrubmap)
     //
 
     if (!next_clone.is_min() && next_clone != soid &&
-       pool.info.cache_mode != pg_pool_t::CACHEMODE_NONE) {
+       pool.info.allow_incomplete_clones()) {
       // it is okay to be missing one or more clones in a cache tier.
       // skip higher-numbered clones in the list.
       while (curclone != snapset.clones.rend() &&
@@ -11843,7 +11843,7 @@ void ReplicatedPG::_scrub(ScrubMap& scrubmap)
   }
 
   if (!next_clone.is_min() &&
-      pool.info.cache_mode == pg_pool_t::CACHEMODE_NONE) {
+      !pool.info.allow_incomplete_clones()) {
     osd->clog.error() << mode << " " << info.pgid
                      << " expected clone " << next_clone;
     ++scrubber.shallow_errors;