From d01c308b961d8a50923ca569f3a5d30d4ab2fbf5 Mon Sep 17 00:00:00 2001 From: Adam Kupczyk Date: Fri, 31 Mar 2023 09:41:45 +0000 Subject: [PATCH] os/bluestore: Enable selection of old/new ExtentMap::dup Modify _do_clone_range to select variant of ExtentMap::dup depending on elastic_shared_blob. Signed-off-by: Adam Kupczyk --- src/os/bluestore/BlueStore.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 4ad4f0374f191..d8f94c1f206c1 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -17890,7 +17890,11 @@ int BlueStore::_do_clone_range( _dump_onode<30>(cct, *oldo); _dump_onode<30>(cct, *newo); - oldo->extent_map.dup(this, txc, c, oldo, newo, srcoff, length, dstoff); + if (elastic_shared_blobs) { + oldo->extent_map.dup_esb(this, txc, c, oldo, newo, srcoff, length, dstoff); + } else { + oldo->extent_map.dup(this, txc, c, oldo, newo, srcoff, length, dstoff); + } #ifdef HAVE_LIBZBD if (bdev->is_smr()) { -- 2.39.5