From 0a3b69ef1b6469c1ed6a13b7d9e0cedb5b63f3aa Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Tue, 7 Jul 2020 15:44:04 -0700 Subject: [PATCH] seastore/test_transaction_manager: add a test which forces an lba split Signed-off-by: Samuel Just --- .../seastore/test_transaction_manager.cc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/test/crimson/seastore/test_transaction_manager.cc b/src/test/crimson/seastore/test_transaction_manager.cc index 5c6cccbebef..d086c4ca348 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(); + }); +} -- 2.39.5