From: Xuehan Xu Date: Wed, 30 Nov 2022 09:26:21 +0000 (+0800) Subject: test/crimson/seastore: test removing objects with omap and data X-Git-Tag: v18.1.0~384^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=fd1976d527a36e2d7674148ede5fac801633ae52;p=ceph.git test/crimson/seastore: test removing objects with omap and data Signed-off-by: Xuehan Xu --- diff --git a/src/test/crimson/seastore/test_seastore.cc b/src/test/crimson/seastore/test_seastore.cc index ae0c5eafa668..fc4457cdf7ca 100644 --- a/src/test/crimson/seastore/test_seastore.cc +++ b/src/test/crimson/seastore/test_seastore.cc @@ -232,6 +232,7 @@ struct seastore_test_t : bl.length(), bl); } + void write( SeaStore &seastore, uint64_t offset, @@ -927,6 +928,35 @@ TEST_P(seastore_test_t, omap_test_iterator) }); } +TEST_P(seastore_test_t, object_data_omap_remove) +{ + run_async([this] { + auto make_key = [](unsigned i) { + std::stringstream ss; + ss << "key" << i; + return ss.str(); + }; + auto &test_obj = get_object(make_oid(0)); + test_obj.touch(*seastore); + for (unsigned i = 0; i < 1024; ++i) { + test_obj.set_omap( + *seastore, + make_key(i), + make_bufferlist(128)); + } + test_obj.check_omap(*seastore); + + for (uint64_t i = 0; i < 16; i++) { + test_obj.write( + *seastore, + 4096 * i, + 4096, + 'a'); + } + test_obj.remove(*seastore); + }); +} + TEST_P(seastore_test_t, simple_extent_test) {