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: v17.2.6~280^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a1269ff4c6314a2556ef7a9944c093d8372e498a;p=ceph.git test/store_test: extend test that reproduces bug #56488 Signed-off-by: Adam Kupczyk (cherry picked from commit 3e8e4fff587375bc7863769ce6d7fb0757bafb4c) --- diff --git a/src/test/objectstore/store_test.cc b/src/test/objectstore/store_test.cc index 670dddd610f2..97c5c9439654 100644 --- a/src/test/objectstore/store_test.cc +++ b/src/test/objectstore/store_test.cc @@ -8717,10 +8717,36 @@ TEST_P(StoreTestSpecificAUSize, ReproBug56488Test) { ASSERT_EQ(logger->get(l_bluestore_issued_deferred_write_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_issued_deferred_writes); + auto issued_dw_bytes = logger->get(l_bluestore_issued_deferred_write_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_issued_deferred_writes), issued_dw + 2); + ASSERT_EQ(logger->get(l_bluestore_issued_deferred_write_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));