From: Sage Weil Date: Fri, 25 Mar 2016 14:58:59 +0000 (-0400) Subject: os/bluestore/FreelistManager: detect overlapping extents on init X-Git-Tag: v10.1.1~28^2~16 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=1bc7edb31cd4f3cd38c7f9ffdcf6d5bdfdf3a28c;p=ceph.git os/bluestore/FreelistManager: detect overlapping extents on init Signed-off-by: Sage Weil --- diff --git a/src/os/bluestore/FreelistManager.cc b/src/os/bluestore/FreelistManager.cc index 20480a77958f..0115767884ea 100644 --- a/src/os/bluestore/FreelistManager.cc +++ b/src/os/bluestore/FreelistManager.cc @@ -36,6 +36,14 @@ int FreelistManager::init(KeyValueDB *db, string p) total_free += length; + if (offset < last_offset + last_length) { + derr << __func__ << " detected overlapping extent on load, had " + << last_offset << "~" << last_length + << " and got " + << offset << "~" << length + << dendl; + return -EIO; + } if (offset && offset == last_offset + last_length) { derr << __func__ << " detected contiguous extent on load, merging " << last_offset << "~" << last_length << " with "