Skip to content

Commit 6ac0621

Browse files
committed
crimson/os/seastore: drop unused inc/decref_extent and dec_ref with tests
Signed-off-by: Yingxin Cheng <[email protected]>
1 parent 5534356 commit 6ac0621

File tree

6 files changed

+10
-159
lines changed

6 files changed

+10
-159
lines changed

src/crimson/os/seastore/lba_manager.h

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -120,20 +120,11 @@ class LBAManager {
120120
using ref_ret = ref_iertr::future<ref_update_result_t>;
121121

122122
/**
123-
* Decrements ref count on extent
123+
* Removes a mapping and deal with indirection
124124
*
125125
* @return returns resulting refcount
126126
*/
127-
virtual ref_ret decref_extent(
128-
Transaction &t,
129-
laddr_t addr) = 0;
130-
131-
/**
132-
* Increments ref count on extent
133-
*
134-
* @return returns resulting refcount
135-
*/
136-
virtual ref_ret incref_extent(
127+
virtual ref_ret remove_mapping(
137128
Transaction &t,
138129
laddr_t addr) = 0;
139130

src/crimson/os/seastore/lba_manager/btree/btree_lba_manager.h

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,7 @@ class BtreeLBAManager : public LBAManager {
430430
});
431431
}
432432

433-
ref_ret decref_extent(
433+
ref_ret remove_mapping(
434434
Transaction &t,
435435
laddr_t addr) final {
436436
return update_refcount(t, addr, -1, true
@@ -439,15 +439,6 @@ class BtreeLBAManager : public LBAManager {
439439
});
440440
}
441441

442-
ref_ret incref_extent(
443-
Transaction &t,
444-
laddr_t addr) final {
445-
return update_refcount(t, addr, 1, false
446-
).si_then([](auto res) {
447-
return std::move(res.ref_update_res);
448-
});
449-
}
450-
451442
remap_ret remap_mappings(
452443
Transaction &t,
453444
LBAMappingRef orig_mapping,

src/crimson/os/seastore/transaction_manager.cc

Lines changed: 2 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -198,45 +198,13 @@ TransactionManager::close() {
198198
});
199199
}
200200

201-
#ifdef UNIT_TESTS_BUILT
202-
TransactionManager::ref_ret TransactionManager::inc_ref(
203-
Transaction &t,
204-
LogicalChildNodeRef &ref)
205-
{
206-
LOG_PREFIX(TransactionManager::inc_ref);
207-
TRACET("{}", t, *ref);
208-
return lba_manager->incref_extent(t, ref->get_laddr()
209-
).si_then([FNAME, ref, &t](auto result) {
210-
DEBUGT("extent refcount is incremented to {} -- {}",
211-
t, result.refcount, *ref);
212-
return result.refcount;
213-
}).handle_error_interruptible(
214-
ref_iertr::pass_further{},
215-
ct_error::assert_all{"unhandled error, TODO"});
216-
}
217-
218-
TransactionManager::ref_ret TransactionManager::inc_ref(
219-
Transaction &t,
220-
laddr_t offset)
221-
{
222-
LOG_PREFIX(TransactionManager::inc_ref);
223-
TRACET("{}", t, offset);
224-
return lba_manager->incref_extent(t, offset
225-
).si_then([FNAME, offset, &t](auto result) {
226-
DEBUGT("extent refcount is incremented to {} -- {}~0x{:x}, {}",
227-
t, result.refcount, offset, result.length, result.addr);
228-
return result.refcount;
229-
});
230-
}
231-
#endif
232-
233201
TransactionManager::ref_ret TransactionManager::remove(
234202
Transaction &t,
235203
LogicalChildNodeRef &ref)
236204
{
237205
LOG_PREFIX(TransactionManager::remove);
238206
DEBUGT("{} ...", t, *ref);
239-
return lba_manager->decref_extent(t, ref->get_laddr()
207+
return lba_manager->remove_mapping(t, ref->get_laddr()
240208
).si_then([this, FNAME, &t, ref](auto result) {
241209
if (result.refcount == 0) {
242210
cache->retire_extent(t, ref);
@@ -253,7 +221,7 @@ TransactionManager::ref_ret TransactionManager::remove(
253221
{
254222
LOG_PREFIX(TransactionManager::remove);
255223
DEBUGT("{} ...", t, offset);
256-
return lba_manager->decref_extent(t, offset
224+
return lba_manager->remove_mapping(t, offset
257225
).si_then([this, FNAME, offset, &t](auto result) -> ref_ret {
258226
auto fut = ref_iertr::now();
259227
if (result.refcount == 0) {

src/crimson/os/seastore/transaction_manager.h

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -339,18 +339,6 @@ class TransactionManager : public ExtentCallbackInterface {
339339
using ref_iertr = LBAManager::ref_iertr;
340340
using ref_ret = ref_iertr::future<extent_ref_count_t>;
341341

342-
#ifdef UNIT_TESTS_BUILT
343-
/// Add refcount for ref
344-
ref_ret inc_ref(
345-
Transaction &t,
346-
LogicalChildNodeRef &ref);
347-
348-
/// Add refcount for offset
349-
ref_ret inc_ref(
350-
Transaction &t,
351-
laddr_t offset);
352-
#endif
353-
354342
/**
355343
* remove
356344
*

src/test/crimson/seastore/test_btree_lba_manager.cc

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -594,7 +594,7 @@ struct btree_lba_manager_test : btree_test_base {
594594
(void) with_trans_intr(
595595
*t.t,
596596
[=, this](auto &t) {
597-
return lba_manager->decref_extent(
597+
return lba_manager->remove_mapping(
598598
t,
599599
target->first
600600
).si_then([this, &t, target](auto result) {
@@ -611,27 +611,6 @@ struct btree_lba_manager_test : btree_test_base {
611611
}
612612
}
613613

614-
auto incref_mapping(
615-
test_transaction_t &t,
616-
laddr_t addr) {
617-
return incref_mapping(t, t.mappings.find(addr));
618-
}
619-
620-
void incref_mapping(
621-
test_transaction_t &t,
622-
test_lba_mapping_t::iterator target) {
623-
ceph_assert(target->second.refcount > 0);
624-
target->second.refcount++;
625-
auto refcnt = with_trans_intr(
626-
*t.t,
627-
[=, this](auto &t) {
628-
return lba_manager->incref_extent(
629-
t,
630-
target->first);
631-
}).unsafe_get().refcount;
632-
EXPECT_EQ(refcnt, target->second.refcount);
633-
}
634-
635614
std::vector<laddr_t> get_mapped_addresses() {
636615
std::vector<laddr_t> addresses;
637616
addresses.reserve(test_lba_mappings.size());
@@ -754,10 +733,6 @@ TEST_F(btree_lba_manager_test, force_split_merge)
754733
check_mappings(t);
755734
check_mappings();
756735
}
757-
for (auto &ret : rets) {
758-
incref_mapping(t, ret->get_key());
759-
decref_mapping(t, ret->get_key());
760-
}
761736
}
762737
logger().debug("submitting transaction");
763738
submit_test_transaction(std::move(t));
@@ -770,8 +745,6 @@ TEST_F(btree_lba_manager_test, force_split_merge)
770745
auto t = create_transaction();
771746
for (unsigned i = 0; i != addresses.size(); ++i) {
772747
if (i % 2 == 0) {
773-
incref_mapping(t, addresses[i]);
774-
decref_mapping(t, addresses[i]);
775748
decref_mapping(t, addresses[i]);
776749
}
777750
logger().debug("submitting transaction");
@@ -790,8 +763,6 @@ TEST_F(btree_lba_manager_test, force_split_merge)
790763
auto addresses = get_mapped_addresses();
791764
auto t = create_transaction();
792765
for (unsigned i = 0; i != addresses.size(); ++i) {
793-
incref_mapping(t, addresses[i]);
794-
decref_mapping(t, addresses[i]);
795766
decref_mapping(t, addresses[i]);
796767
}
797768
check_mappings(t);

src/test/crimson/seastore/test_transaction_manager.cc

Lines changed: 4 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -687,18 +687,7 @@ struct transaction_manager_test_t :
687687
return pin;
688688
}
689689

690-
void inc_ref(test_transaction_t &t, laddr_t offset) {
691-
ceph_assert(test_mappings.contains(offset, t.mapping_delta));
692-
ceph_assert(test_mappings.get(offset, t.mapping_delta).refcount > 0);
693-
694-
auto refcnt = with_trans_intr(*(t.t), [&](auto& trans) {
695-
return tm->inc_ref(trans, offset);
696-
}).unsafe_get();
697-
auto check_refcnt = test_mappings.inc_ref(offset, t.mapping_delta);
698-
EXPECT_EQ(refcnt, check_refcnt);
699-
}
700-
701-
void dec_ref(test_transaction_t &t, laddr_t offset) {
690+
void remove(test_transaction_t &t, laddr_t offset) {
702691
ceph_assert(test_mappings.contains(offset, t.mapping_delta));
703692
ceph_assert(test_mappings.get(offset, t.mapping_delta).refcount > 0);
704693

@@ -1964,7 +1953,7 @@ TEST_P(tm_single_device_test_t, create_remove_same_transaction)
19641953
'a');
19651954
ASSERT_EQ(ADDR, extent->get_laddr());
19661955
check_mappings(t);
1967-
dec_ref(t, ADDR);
1956+
remove(t, ADDR);
19681957
check_mappings(t);
19691958

19701959
extent = alloc_extent(
@@ -2000,7 +1989,7 @@ TEST_P(tm_single_device_test_t, split_merge_read_same_transaction)
20001989
{
20011990
auto t = create_transaction();
20021991
for (unsigned i = 0; i < 240; ++i) {
2003-
dec_ref(
1992+
remove(
20041993
t,
20051994
get_laddr_hint(i * SIZE));
20061995
}
@@ -2011,53 +2000,6 @@ TEST_P(tm_single_device_test_t, split_merge_read_same_transaction)
20112000
});
20122001
}
20132002

2014-
TEST_P(tm_single_device_test_t, inc_dec_ref)
2015-
{
2016-
constexpr size_t SIZE = 4096;
2017-
run_async([this] {
2018-
laddr_t ADDR = get_laddr_hint(0xFF * SIZE);
2019-
{
2020-
auto t = create_transaction();
2021-
auto extent = alloc_extent(
2022-
t,
2023-
ADDR,
2024-
SIZE,
2025-
'a');
2026-
ASSERT_EQ(ADDR, extent->get_laddr());
2027-
check_mappings(t);
2028-
check();
2029-
submit_transaction(std::move(t));
2030-
check();
2031-
}
2032-
replay();
2033-
{
2034-
auto t = create_transaction();
2035-
inc_ref(t, ADDR);
2036-
check_mappings(t);
2037-
check();
2038-
submit_transaction(std::move(t));
2039-
check();
2040-
}
2041-
{
2042-
auto t = create_transaction();
2043-
dec_ref(t, ADDR);
2044-
check_mappings(t);
2045-
check();
2046-
submit_transaction(std::move(t));
2047-
check();
2048-
}
2049-
replay();
2050-
{
2051-
auto t = create_transaction();
2052-
dec_ref(t, ADDR);
2053-
check_mappings(t);
2054-
check();
2055-
submit_transaction(std::move(t));
2056-
check();
2057-
}
2058-
});
2059-
}
2060-
20612003
TEST_P(tm_single_device_test_t, cause_lba_split)
20622004
{
20632005
constexpr size_t SIZE = 4096;
@@ -2108,7 +2050,7 @@ TEST_P(tm_single_device_test_t, random_writes)
21082050
get_laddr_hint(TOTAL + (k * PADDING_SIZE)),
21092051
PADDING_SIZE);
21102052
for (auto &padding : paddings) {
2111-
dec_ref(t, padding->get_laddr());
2053+
remove(t, padding->get_laddr());
21122054
}
21132055
}
21142056
submit_transaction(std::move(t));

0 commit comments

Comments
 (0)