]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
scrub: do not assign value if read error for ReplicatedBackend
authorLi Wang <li.wang@kylin-cloud.com>
Mon, 16 Nov 2015 04:06:20 +0000 (12:06 +0800)
committerLi Wang <li.wang@kylin-cloud.com>
Mon, 16 Nov 2015 04:17:12 +0000 (12:17 +0800)
Signed-off-by: Li Wang <li.wang@kylin-cloud.com>
src/osd/ReplicatedBackend.cc

index d7109ef42f8ade69c6ebae2fa1923615763e94eb..8e029db7212c8187341cebe358b7743233a0067b 100644 (file)
@@ -778,6 +778,7 @@ void ReplicatedBackend::be_deep_scrub(
     dout(25) << __func__ << "  " << poid << " got "
             << r << " on read, read_error" << dendl;
     o.read_error = true;
+    return;
   }
   o.digest = h.digest();
   o.digest_present = true;
@@ -805,6 +806,7 @@ void ReplicatedBackend::be_deep_scrub(
     dout(25) << __func__ << "  " << poid << " got "
             << r << " on omap header read, read_error" << dendl;
     o.read_error = true;
+    return;
   }
 
   ObjectMap::ObjectMapIterator iter = store->get_omap_iterator(
@@ -832,8 +834,8 @@ void ReplicatedBackend::be_deep_scrub(
     dout(25) << __func__ << "  " << poid << " got "
             << r << " on omap scan, read_error" << dendl;
     o.read_error = true;
+    return;
   }
-
   //Store final calculated CRC32 of omap header & key/values
   o.omap_digest = oh.digest();
   o.omap_digest_present = true;