From: Sage Weil Date: Thu, 24 Jul 2014 01:24:51 +0000 (-0700) Subject: osd/ReplicatedPG: observed INCOMPLETE_CLONES when doing clone subsets X-Git-Tag: v0.80.6~103^2~2^2~33 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=22cc1b643f83edbfc0475f6da89cf4bd4c89aae1;p=ceph.git osd/ReplicatedPG: observed INCOMPLETE_CLONES when doing clone subsets During recovery, we can clone subsets if we know that all clones will be present. We skip this on caching pools because they may not be; do the same when INCOMPLETE_CLONES is set. Signed-off-by: Sage Weil (cherry picked from commit 41364711a66c89ce2e94435fe0d54eeda6092614) --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 8652fd3c5339..570b9853a905 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -7710,8 +7710,8 @@ void ReplicatedBackend::calc_head_subsets( if (size) data_subset.insert(0, size); - if (get_parent()->get_pool().cache_mode != pg_pool_t::CACHEMODE_NONE) { - dout(10) << __func__ << ": caching enabled, skipping clone subsets" << dendl; + if (get_parent()->get_pool().allow_incomplete_clones()) { + dout(10) << __func__ << ": caching (was) enabled, skipping clone subsets" << dendl; return; } @@ -7770,8 +7770,8 @@ void ReplicatedBackend::calc_clone_subsets( if (size) data_subset.insert(0, size); - if (get_parent()->get_pool().cache_mode != pg_pool_t::CACHEMODE_NONE) { - dout(10) << __func__ << ": caching enabled, skipping clone subsets" << dendl; + if (get_parent()->get_pool().allow_incomplete_clones()) { + dout(10) << __func__ << ": caching (was) enabled, skipping clone subsets" << dendl; return; }