From: huangjun Date: Fri, 16 Dec 2016 10:14:23 +0000 (+0800) Subject: osd/ECBackend: only need check missing_loc when doing recovery X-Git-Tag: v12.0.0~394^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=317100ad5b12ffaf00b0559b1b50a99323d6dc4f;p=ceph.git osd/ECBackend: only need check missing_loc when doing recovery Signed-off-by: huangjun --- diff --git a/src/osd/ECBackend.cc b/src/osd/ECBackend.cc index c579a47f0862..c6103dcf4af8 100644 --- a/src/osd/ECBackend.cc +++ b/src/osd/ECBackend.cc @@ -1445,9 +1445,6 @@ int ECBackend::get_min_avail_to_read_shards( // Make sure we don't do redundant reads for recovery assert(!for_recovery || !do_redundant_reads); - map, hobject_t::BitwiseComparator>::const_iterator miter = - get_parent()->get_missing_loc_shards().find(hoid); - set have; map shards; @@ -1485,6 +1482,8 @@ int ECBackend::get_min_avail_to_read_shards( } } + map, hobject_t::BitwiseComparator>::const_iterator miter = + get_parent()->get_missing_loc_shards().find(hoid); if (miter != get_parent()->get_missing_loc_shards().end()) { for (set::iterator i = miter->second.begin(); i != miter->second.end();