]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: kill BitmapFreeListManager::_verify_range() 37526/head
authorIgor Fedotov <ifedotov@suse.com>
Fri, 2 Oct 2020 15:30:40 +0000 (18:30 +0300)
committerIgor Fedotov <ifedotov@suse.com>
Fri, 2 Oct 2020 15:30:40 +0000 (18:30 +0300)
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
src/os/bluestore/BitmapFreelistManager.cc
src/os/bluestore/BitmapFreelistManager.h

index 4a9ad01d91cab172ee67ea8b494ed35b1280ca23..315a6bb8c43cf465ab351e70992c941a75ce45cd 100644 (file)
@@ -480,128 +480,6 @@ void BitmapFreelistManager::dump(KeyValueDB *kvdb)
   }
 }
 
-void BitmapFreelistManager::_verify_range(KeyValueDB *kvdb,
-                                         uint64_t offset, uint64_t length,
-                                         int val)
-{
-  unsigned errors = 0;
-  uint64_t first_key = offset & key_mask;
-  uint64_t last_key = (offset + length - 1) & key_mask;
-  if (first_key == last_key) {
-    string k;
-    make_offset_key(first_key, &k);
-    bufferlist bl;
-    kvdb->get(bitmap_prefix, k, &bl);
-    if (bl.length() > 0) {
-      const char *p = bl.c_str();
-      unsigned s = (offset & ~key_mask) / bytes_per_block;
-      unsigned e = ((offset + length - 1) & ~key_mask) / bytes_per_block;
-      for (unsigned i = s; i <= e; ++i) {
-       int has = !!(p[i >> 3] & (1ull << (i & 7)));
-       if (has != val) {
-         derr << __func__ << " key 0x" << std::hex << first_key << " bit 0x"
-              << i << " has 0x" << has << " expected 0x" << val
-              << std::dec << dendl;
-         ++errors;
-       }
-      }
-    } else {
-      if (val) {
-       derr << __func__ << " key 0x" << std::hex << first_key
-            << " not present, expected 0x" << val << std::dec << dendl;
-       ++errors;
-      }
-    }
-  } else {
-    // first key
-    {
-      string k;
-      make_offset_key(first_key, &k);
-      bufferlist bl;
-      kvdb->get(bitmap_prefix, k, &bl);
-      if (bl.length()) {
-       const char *p = bl.c_str();
-       unsigned s = (offset & ~key_mask) / bytes_per_block;
-       unsigned e = blocks_per_key;
-       for (unsigned i = s; i < e; ++i) {
-         int has = !!(p[i >> 3] & (1ull << (i & 7)));
-         if (has != val) {
-           derr << __func__ << " key 0x" << std::hex << first_key << " bit 0x"
-                << i << " has 0x" << has << " expected 0x" << val << std::dec
-                << dendl;
-           ++errors;
-         }
-       }
-      } else {
-       if (val) {
-         derr << __func__ << " key 0x" << std::hex << first_key
-              << " not present, expected 0x" << val << std::dec << dendl;
-         ++errors;
-       }
-      }
-      first_key += bytes_per_key;
-    }
-    // middle keys
-    if (first_key < last_key) {
-      while (first_key < last_key) {
-       string k;
-       make_offset_key(first_key, &k);
-       bufferlist bl;
-       kvdb->get(bitmap_prefix, k, &bl);
-       if (bl.length() > 0) {
-         const char *p = bl.c_str();
-         for (unsigned i = 0; i < blocks_per_key; ++i) {
-           int has = !!(p[i >> 3] & (1ull << (i & 7)));
-           if (has != val) {
-             derr << __func__ << " key 0x" << std::hex << first_key << " bit 0x"
-                  << i << " has 0x" << has << " expected 0x" << val
-                  << std::dec << dendl;
-             ++errors;
-           }
-         }
-       } else {
-         if (val) {
-           derr << __func__ << " key 0x" << std::hex << first_key
-                << " not present, expected 0x" << val << std::dec << dendl;
-           ++errors;
-         }
-       }
-       first_key += bytes_per_key;
-      }
-    }
-    ceph_assert(first_key == last_key);
-    {
-      string k;
-      make_offset_key(first_key, &k);
-      bufferlist bl;
-      kvdb->get(bitmap_prefix, k, &bl);
-      if (bl.length() > 0) {
-       const char *p = bl.c_str();
-       unsigned e = ((offset + length - 1) & ~key_mask) / bytes_per_block;
-       for (unsigned i = 0; i < e; ++i) {
-         int has = !!(p[i >> 3] & (1ull << (i & 7)));
-         if (has != val) {
-           derr << __func__ << " key 0x" << std::hex << first_key << " bit 0x"
-                << i << " has 0x" << has << " expected 0x" << val << std::dec
-                << dendl;
-           ++errors;
-         }
-       }
-      } else {
-       if (val) {
-         derr << __func__ << " key 0x" << std::hex << first_key
-              << " not present, expected 0x" << val << std::dec << dendl;
-         ++errors;
-       }
-      }
-    }
-  }
-  if (errors) {
-    derr << __func__ << " saw " << errors << " errors" << dendl;
-    ceph_abort_msg("bitmap freelist errors");
-  }
-}
-
 void BitmapFreelistManager::allocate(
   uint64_t offset, uint64_t length,
   KeyValueDB::Transaction txn)
index 9689e87b37f8efe451d472ff83c0fd5f8a320444..c6bfe469f1b4512b5075ccc5cedbc9f1cb8d4766 100644 (file)
@@ -40,8 +40,6 @@ class BitmapFreelistManager : public FreelistManager {
 
   void _init_misc();
 
-  void _verify_range(KeyValueDB *kvdb,
-    uint64_t offset, uint64_t length, int val);
   void _xor(
     uint64_t offset, uint64_t length,
     KeyValueDB::Transaction txn);