]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: return EIO on csum verification error
authorSage Weil <sage@redhat.com>
Sat, 14 May 2016 12:40:54 +0000 (08:40 -0400)
committerSage Weil <sage@redhat.com>
Wed, 1 Jun 2016 15:38:48 +0000 (11:38 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/os/bluestore/BlueStore.cc

index 8200bb6ce88ec643248554005fc63891a14cce30..e81cef22d3cbd0cc138b108618cef00242c3b514 100644 (file)
@@ -2852,8 +2852,11 @@ int BlueStore::_do_read(
       if (bptr->csum_type != bluestore_blob_t::CSUM_NONE) {
        r = _verify_csum(bptr, 0, compressed_bl);
        if (r < 0) {
-         dout(20) << __func__ << "  blob reading " << r2r_it->logical_offset << "~" << bptr->length << " csum verification failed." << dendl;
-         return r;
+         dout(20) << __func__ << "  blob reading 0x" << std::hex
+                  << r2r_it->logical_offset
+                  << " 0~" << compressed_bl.length()
+                  << std::dec << " csum verification failed." << dendl;
+         return -EIO;
        }
       }
 
@@ -2979,7 +2982,7 @@ int BlueStore::_read_extent_sparse(
                 << cur->logical_offset << " 0x"
                 << cur->blob_xoffset << "~0x" << bl.length()
                 << " csum verification failed" << dendl;
-       return r;
+       return -EIO;
       }
     }