]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: Review fixes of Writer
authorAdam Kupczyk <akupczyk@ibm.com>
Wed, 22 May 2024 11:55:53 +0000 (13:55 +0200)
committerAdam Kupczyk <akupczyk@ibm.com>
Wed, 7 Aug 2024 10:55:46 +0000 (10:55 +0000)
Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
src/os/bluestore/Writer.cc
src/os/bluestore/bluestore_types.cc

index cbfb87fa3268e4d6da26414b6fdab4a1c9354c22..63e1e5b891b97845860f48cfefe501f53edd7833 100644 (file)
@@ -643,9 +643,7 @@ inline void BlueStore::Writer::_schedule_io(
     if (do_deferred) {
       bluestore_deferred_op_t *op = bstore->_get_deferred_op(txc, data.length());
       op->op = bluestore_deferred_op_t::OP_WRITE;
-      for (auto& e : disk_allocs) {
-        op->extents.emplace_back(e);
-      }
+      op->extents = disk_allocs;
       op->data = data;
     } else {
       for (auto loc : disk_allocs) {
index f8864157d9d3e11c4daebe0fc5f8949ad5a277e2..c8548b0d72795e808122c1a3e109970c760a39b9 100644 (file)
@@ -1146,7 +1146,7 @@ bool bluestore_blob_t::release_extents(bool all,
 uint32_t bluestore_blob_t::release_extents(
   uint32_t offset,
   uint32_t length,
-       PExtentVector* released_disk)
+  PExtentVector* released_disk)
 {
   uint32_t released_length = 0;
   constexpr auto EMPTY = bluestore_pextent_t::INVALID_OFFSET;
@@ -1227,10 +1227,10 @@ uint32_t bluestore_blob_t::release_extents(
     // starts copying remainder
     if (p->length - offset) {
       released_disk->emplace_back(p->offset + offset, p->length - offset);
+      released_length += p->length - offset;
+      empty->length += p->length - offset;
+      rem -= (p->length - offset);
     }
-    released_length += p->length - offset;
-    empty->length += p->length - offset;
-    rem -= (p->length - offset);
     ++p;
     while (rem > 0 && p->length <= rem) {
       ceph_assert(p->is_valid());