return this->get_size();
}
- uint32_t get_crc32c() const final {
+ uint32_t calc_crc32c() const final {
return this->calc_phy_checksum();
}
return this->get_size();
}
- uint32_t get_crc32c() const final {
+ uint32_t calc_crc32c() const final {
return this->calc_phy_checksum();
}
if (i->is_exist_clean()) {
i->version++;
i->state = CachedExtent::extent_state_t::EXIST_MUTATION_PENDING;
- i->last_committed_crc = i->get_crc32c();
+ i->last_committed_crc = i->calc_crc32c();
// deepcopy the buffer of exist clean extent beacuse it shares
// buffer with original clean extent.
auto bp = i->get_bptr();
i->prepare_commit();
assert(i->get_version() > 0);
- auto final_crc = i->get_crc32c();
+ auto final_crc = i->calc_crc32c();
if (i->get_type() == extent_types_t::ROOT) {
SUBTRACET(seastore_t, "writing out root delta {}B -- {}",
t, delta_length, *i);
is_inline = true;
i->set_paddr(final_block_start.add_relative(i->get_paddr()));
}
- assert(i->get_last_committed_crc() == i->get_crc32c());
+ assert(i->get_last_committed_crc() == i->calc_crc32c());
i->pending_for_transaction = TRANS_ID_NULL;
i->on_initial_write();
if (extent->is_valid()) {
// crc will be checked against LBA leaf entry for logical extents,
// or check against in-extent crc for physical extents.
- extent->last_committed_crc = extent->get_crc32c();
+ extent->last_committed_crc = extent->calc_crc32c();
extent->on_clean_read();
}
extent->complete_io();
}
/// Returns crc32c of buffer
- virtual uint32_t get_crc32c() const {
+ virtual uint32_t calc_crc32c() const {
return ceph_crc32c(
1,
reinterpret_cast<const unsigned char *>(get_bptr().c_str()),
void apply_delta_and_adjust_crc(
paddr_t base, const ceph::bufferlist &bl) final {
apply_delta(bl);
- set_last_committed_crc(get_crc32c());
+ set_last_committed_crc(calc_crc32c());
}
bool is_logical() const final {
if (!extent->get_last_committed_crc()) {
extent->set_last_committed_crc(extent->calc_crc32c());
}
- assert(extent->get_crc32c() == extent->get_last_committed_crc());
+ assert(extent->calc_crc32c() == extent->get_last_committed_crc());
lextents.emplace_back(extent->template cast<LogicalCachedExtent>());
} else {
pextents.emplace_back(extent);
} else {
inconsistent = !(pin->get_checksum() == 0 || // TODO: remapped extents may
// not have recorded chksums
- pin->get_checksum() == ref->get_crc32c());
+ pin->get_checksum() == ref->calc_crc32c());
}
if (unlikely(inconsistent)) {
SUBERRORT(seastore_tm,
} else {
inconsistent = !(pin->get_checksum() == 0 || // TODO: remapped extents may
// not have recorded chksums
- pin->get_checksum() == ref->get_crc32c());
+ pin->get_checksum() == ref->calc_crc32c());
}
if (unlikely(inconsistent)) {
SUBERRORT(seastore_tm,
fut = lba_manager->alloc_extent(
t, remap_laddr, remap_length, remap_paddr,
//TODO: oringal_bptr must be present if crc is enabled
- (original_bptr.has_value() ? ext->get_crc32c() : 0),
+ (original_bptr.has_value() ? ext->calc_crc32c() : 0),
*ext);
} else {
fut = lba_manager->clone_mapping(
}
test_extent_desc_t get_desc() {
- return { get_length(), get_crc32c() };
+ return { get_length(), calc_crc32c() };
}
void apply_delta(const ceph::bufferlist &bl) final;
extent->set_last_committed_crc(crc);
extent->update_in_extent_chksum_field(crc);
}
- assert(extent->get_crc32c() == extent->get_last_committed_crc());
+ assert(extent->calc_crc32c() == extent->get_last_committed_crc());
};
t.for_each_finalized_fresh_block(chksum_func);
t.for_each_existing_block(chksum_func);
extent->set_last_committed_crc(crc);
extent->update_in_extent_chksum_field(crc);
}
- assert(extent->get_crc32c() == extent->get_last_committed_crc());
+ assert(extent->calc_crc32c() == extent->get_last_committed_crc());
};
t->for_each_finalized_fresh_block(chksum_func);
extent->set_last_committed_crc(crc);
extent->update_in_extent_chksum_field(crc);
}
- assert(extent->get_crc32c() == extent->get_last_committed_crc());
+ assert(extent->calc_crc32c() == extent->get_last_committed_crc());
lextents.emplace_back(extent->template cast<LogicalCachedExtent>());
} else {
pextents.push_back(extent);
extent->set_last_committed_crc(crc);
extent->update_in_extent_chksum_field(crc);
}
- assert(extent->get_crc32c() == extent->get_last_committed_crc());
+ assert(extent->calc_crc32c() == extent->get_last_committed_crc());
};
t->for_each_finalized_fresh_block(chksum_func);
placement_hint_t::HOT,
0);
extent->set_contents('c');
- csum = extent->get_crc32c();
+ csum = extent->calc_crc32c();
submit_transaction(std::move(t)).get0();
addr = extent->get_paddr();
}
addr,
TestBlockPhysical::SIZE).unsafe_get0();
ASSERT_EQ(extent->get_paddr(), addr);
- ASSERT_EQ(extent->get_crc32c(), csum);
+ ASSERT_EQ(extent->calc_crc32c(), csum);
}
});
}
placement_hint_t::HOT,
0);
extent->set_contents('c');
- csum = extent->get_crc32c();
+ csum = extent->calc_crc32c();
auto reladdr = extent->get_paddr();
ASSERT_TRUE(reladdr.is_relative());
{
ASSERT_TRUE(extent->is_pending());
ASSERT_TRUE(extent->get_paddr().is_relative());
ASSERT_EQ(extent->get_version(), 0);
- ASSERT_EQ(csum, extent->get_crc32c());
+ ASSERT_EQ(csum, extent->calc_crc32c());
}
submit_transaction(std::move(t)).get0();
addr = extent->get_paddr();
// duplicate and reset contents
extent = cache->duplicate_for_write(*t, extent)->cast<TestBlockPhysical>();
extent->set_contents('c');
- csum2 = extent->get_crc32c();
+ csum2 = extent->calc_crc32c();
ASSERT_EQ(extent->get_paddr(), addr);
{
// test that concurrent read with fresh transaction sees old
ASSERT_FALSE(extent->is_pending());
ASSERT_EQ(addr, extent->get_paddr());
ASSERT_EQ(extent->get_version(), 0);
- ASSERT_EQ(csum, extent->get_crc32c());
+ ASSERT_EQ(csum, extent->calc_crc32c());
}
{
// test that read with same transaction sees new block
ASSERT_TRUE(extent->is_pending());
ASSERT_EQ(addr, extent->get_paddr());
ASSERT_EQ(extent->get_version(), 1);
- ASSERT_EQ(csum2, extent->get_crc32c());
+ ASSERT_EQ(csum2, extent->calc_crc32c());
}
// submit transaction
submit_transaction(std::move(t)).get0();
ASSERT_TRUE(extent->is_dirty());
ASSERT_EQ(addr, extent->get_paddr());
ASSERT_EQ(extent->get_version(), 1);
- ASSERT_EQ(extent->get_crc32c(), csum2);
+ ASSERT_EQ(extent->calc_crc32c(), csum2);
}
{
// test that fresh transaction now sees newly dirty block
ASSERT_TRUE(extent->is_dirty());
ASSERT_EQ(addr, extent->get_paddr());
ASSERT_EQ(extent->get_version(), 1);
- ASSERT_EQ(csum2, extent->get_crc32c());
+ ASSERT_EQ(csum2, extent->calc_crc32c());
}
});
}