// FIXME
}
-// FIXME: Using this to compute the ctx.csum_order can lead to poor small
-// random read performance when initial writes are large.
-size_t bluestore_onode_t::get_preferred_csum_order() const
-{
- uint32_t t = expected_write_size;
- if (!t) {
- return 0;
- }
- return ctz(expected_write_size);
-}
-
-
// bluestore_wal_op_t
void bluestore_wal_op_t::dump(Formatter *f) const
clear_flag(FLAG_OMAP);
}
- /// get preferred csum chunk size
- size_t get_preferred_csum_order() const;
-
DENC(bluestore_onode_t, v, p) {
DENC_START(1, 1, p);
denc(v.nid, p);
}
}
-TEST(bluestore_onode_t, get_preferred_csum_order)
-{
- bluestore_onode_t on;
- ASSERT_EQ(0u, on.get_preferred_csum_order());
- on.expected_write_size = 4096;
- ASSERT_EQ(12u, on.get_preferred_csum_order());
- on.expected_write_size = 4096;
- ASSERT_EQ(12u, on.get_preferred_csum_order());
- on.expected_write_size = 8192;
- ASSERT_EQ(13u, on.get_preferred_csum_order());
- on.expected_write_size = 8192 + 4096;
- ASSERT_EQ(12u, on.get_preferred_csum_order());
- on.expected_write_size = 1048576;
- ASSERT_EQ(20u, on.get_preferred_csum_order());
-}
-
-
TEST(Blob, put_ref)
{
{