From: Adam Kupczyk Date: Thu, 13 Oct 2022 15:01:21 +0000 (+0000) Subject: test/store_test: extend test that reproduces bug #56488 X-Git-Tag: v16.2.11~61^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=093ba5fc6b68debbd9a2c6b85c7bb11f3f49c73e;p=ceph.git test/store_test: extend test that reproduces bug #56488 Signed-off-by: Adam Kupczyk (cherry picked from commit 3e8e4fff587375bc7863769ce6d7fb0757bafb4c) Conflict: Modified l_bluestore_* perf names to pacific's names. --- diff --git a/src/test/objectstore/store_test.cc b/src/test/objectstore/store_test.cc index 811a23b84c7..9ce18a68165 100644 --- a/src/test/objectstore/store_test.cc +++ b/src/test/objectstore/store_test.cc @@ -8262,10 +8262,36 @@ TEST_P(StoreTestSpecificAUSize, ReproBug56488Test) { ASSERT_EQ(logger->get(l_bluestore_write_deferred_bytes), issued_dw_bytes + write_size); } + { + ghobject_t hoid(hobject_t("test-a", "", CEPH_NOSNAP, 0, -1, "")); + { + ObjectStore::Transaction t; + t.touch(cid, hoid); + r = queue_transaction(store, ch, std::move(t)); + ASSERT_EQ(r, 0); + } + + auto issued_dw = logger->get(l_bluestore_write_deferred); + auto issued_dw_bytes = logger->get(l_bluestore_write_deferred_bytes); + { + ObjectStore::Transaction t; + bufferlist bl; + bl.append(std::string(write_size * 2, 'x')); + t.write(cid, hoid, alloc_size - write_size, bl.length(), bl, + CEPH_OSD_OP_FLAG_FADVISE_NOCACHE); + r = queue_transaction(store, ch, std::move(t)); + ASSERT_EQ(r, 0); + } + ASSERT_EQ(logger->get(l_bluestore_write_deferred), issued_dw + 2); + ASSERT_EQ(logger->get(l_bluestore_write_deferred_bytes), + issued_dw_bytes + write_size * 2); + } { ObjectStore::Transaction t; ghobject_t hoid(hobject_t("test", "", CEPH_NOSNAP, 0, -1, "")); t.remove(cid, hoid); + ghobject_t hoid_a(hobject_t("test-a", "", CEPH_NOSNAP, 0, -1, "")); + t.remove(cid, hoid_a); t.remove_collection(cid); cerr << "Cleaning" << std::endl; r = queue_transaction(store, ch, std::move(t));