]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: Introduce reblob_extents
authorAdam Kupczyk <akupczyk@ibm.com>
Wed, 10 May 2023 11:22:16 +0000 (11:22 +0000)
committerAdam Kupczyk <akupczyk@ibm.com>
Thu, 6 Jul 2023 15:28:50 +0000 (15:28 +0000)
Func reblob_extents is used to modify extents.
It is final step of melding 2 blobs together.
It removes reference to blob that is to be phased out,
and replaces it with reference to the blob that is the sum of them.

Signed-off-by: Adam Kupczyk <akupczyk@ibm.com>
src/os/bluestore/BlueStore.h

index 5777916cc4da9aeb9db6c0411fb70a73d616445a..e45f55bbd14e0d8ff9126b86e5180308ce797c88 100644 (file)
@@ -911,9 +911,10 @@ public:
 
     void scan_shared_blobs(CollectionRef& c, uint64_t start, uint64_t length,
                           std::multimap<uint64_t /*blob_start*/, Blob*>& candidates);
-
     Blob* find_mergable_companion(Blob* blob_to_dissolve, uint32_t blob_start, uint32_t& blob_width,
                                  std::multimap<uint64_t /*blob_start*/, Blob*>& candidates);
+    void reblob_extents(uint32_t blob_start, uint32_t blob_end,
+                       BlobRef from_blob, BlobRef to_blob);
 
     void dup(BlueStore* b, TransContext*, CollectionRef&, OnodeRef&, OnodeRef&,
       uint64_t&, uint64_t&, uint64_t&);