From: Samuel Just Date: Mon, 19 Oct 2020 21:11:31 +0000 (-0700) Subject: test/crimson/seastore/test_transaction_manager: add test for large single-transaction... X-Git-Tag: v16.1.0~807^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0f5b5d0043cb15b909b1c8fdaec7948c9d2195c1;p=ceph.git test/crimson/seastore/test_transaction_manager: add test for large single-transaction split/merge Signed-off-by: Samuel Just --- diff --git a/src/test/crimson/seastore/test_transaction_manager.cc b/src/test/crimson/seastore/test_transaction_manager.cc index a1548cfa9dee..f561cacff18b 100644 --- a/src/test/crimson/seastore/test_transaction_manager.cc +++ b/src/test/crimson/seastore/test_transaction_manager.cc @@ -359,6 +359,37 @@ TEST_F(transaction_manager_test_t, create_remove_same_transaction) }); } +TEST_F(transaction_manager_test_t, split_merge_read_same_transaction) +{ + constexpr laddr_t SIZE = 4096; + run_async([this] { + { + auto t = create_transaction(); + for (unsigned i = 0; i < 300; ++i) { + auto extent = alloc_extent( + t, + laddr_t(i * SIZE), + SIZE); + } + check_mappings(t); + submit_transaction(std::move(t)); + check(); + } + { + auto t = create_transaction(); + for (unsigned i = 0; i < 240; ++i) { + dec_ref( + t, + laddr_t(i * SIZE)); + } + check_mappings(t); + submit_transaction(std::move(t)); + check(); + } + }); +} + + TEST_F(transaction_manager_test_t, inc_dec_ref) { constexpr laddr_t SIZE = 4096;