]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Merge pull request #47730 from ifed01/wip-ifed-alloc-logging
authorIgor Fedotov <igor.fedotov@croit.io>
Wed, 1 Nov 2023 09:38:06 +0000 (12:38 +0300)
committerGitHub <noreply@github.com>
Wed, 1 Nov 2023 09:38:06 +0000 (12:38 +0300)
os/bluestore: assert on improper release in AvlAllocator

Reviewed-by: Pere Diaz Bou <pere-altea@hotmail.com>
1  2 
src/os/bluestore/AvlAllocator.cc
src/os/bluestore/BlueStore.cc
src/os/bluestore/HybridAllocator.cc

index 26eba36a0ec20be4f3288d4b970d82c2bd5dbf1a,317291e65f491c86f8030d3acd7d2770f20d75da..1a170d13fdb985b31461708641918b42c027eadd
@@@ -445,27 -475,27 +475,27 @@@ void AvlAllocator::_foreach
  
  void AvlAllocator::init_add_free(uint64_t offset, uint64_t length)
  {
 -  if (!length)
 -    return;
 -  std::lock_guard l(lock);
 -  ceph_assert(offset + length <= uint64_t(device_size));
    ldout(cct, 10) << __func__ << std::hex
-                  << " offset 0x" << offset
-                  << " length 0x" << length
+                  << " 0x" << offset
+                  << "~" << length
                   << std::dec << dendl;
 +  if (!length)
 +    return;
 +  std::lock_guard l(lock);
 +  ceph_assert(offset + length <= uint64_t(device_size));
    _add_to_tree(offset, length);
  }
  
  void AvlAllocator::init_rm_free(uint64_t offset, uint64_t length)
  {
 -  if (!length)
 -    return;
 -  std::lock_guard l(lock);
 -  ceph_assert(offset + length <= uint64_t(device_size));
    ldout(cct, 10) << __func__ << std::hex
-                  << " offset 0x" << offset
-                  << " length 0x" << length
+                  << " 0x" << offset
+                  << "~" << length
                   << std::dec << dendl;
 +  if (!length)
 +    return;
 +  std::lock_guard l(lock);
 +  ceph_assert(offset + length <= uint64_t(device_size));
    _remove_from_tree(offset, length);
  }
  
Simple merge
Simple merge