From: Sage Weil Date: Fri, 27 Jan 2017 21:06:37 +0000 (-0500) Subject: os/bluestore: fsck: check for shards past EOF X-Git-Tag: v12.0.1~489^2~8 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=317ebde7ec4781ccdfd809ea222efb9f625ecb51;p=ceph-ci.git os/bluestore: fsck: check for shards past EOF Signed-off-by: Sage Weil --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 806fbbfb90a..a151dcff5fb 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -4782,6 +4782,12 @@ int BlueStore::fsck(bool deep) dout(20) << __func__ << " shard " << *s.shard_info << dendl; expecting_shards.push_back(string()); get_extent_shard_key(o->key, s.offset, &expecting_shards.back()); + if (s.offset >= o->onode.size) { + derr << __func__ << " " << oid << " shard 0x" << std::hex + << s.offset << " past EOF at 0x" << o->onode.size + << std::dec << dendl; + ++errors; + } } // lextents uint64_t pos = 0;