From: Samuel Just Date: Tue, 7 Jul 2020 22:44:04 +0000 (-0700) Subject: seastore/test_transaction_manager: add a test which forces an lba split X-Git-Tag: v17.0.0~1776^2~1 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=0a3b69ef1b6469c1ed6a13b7d9e0cedb5b63f3aa;p=ceph.git seastore/test_transaction_manager: add a test which forces an lba split 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 5c6cccbebefaf..d086c4ca34818 100644 --- a/src/test/crimson/seastore/test_transaction_manager.cc +++ b/src/test/crimson/seastore/test_transaction_manager.cc @@ -324,3 +324,21 @@ TEST_F(transaction_manager_test_t, inc_dec_ref) } }); } + +TEST_F(transaction_manager_test_t, cause_lba_split) +{ + constexpr laddr_t SIZE = 4096; + run_async([this] { + for (unsigned i = 0; i < 200; ++i) { + auto t = create_transaction(); + auto extent = alloc_extent( + t, + i * SIZE, + SIZE, + (char)(i & 0xFF)); + ASSERT_EQ(i * SIZE, extent->get_laddr()); + submit_transaction(std::move(t)); + } + check_mappings(); + }); +}