// bluestore_lextent_t
-string bluestore_lextent_t::get_flags_string(unsigned flags)
-{
- string s;
- return s;
-}
-
void bluestore_lextent_t::dump(Formatter *f) const
{
f->dump_unsigned("blob", blob);
f->dump_unsigned("offset", offset);
f->dump_unsigned("length", length);
- f->dump_unsigned("flags", flags);
}
void bluestore_lextent_t::generate_test_instances(list<bluestore_lextent_t*>& ls)
{
ls.push_back(new bluestore_lextent_t);
- ls.push_back(new bluestore_lextent_t(23232, 0, 4096, 0));
- ls.push_back(new bluestore_lextent_t(23232, 16384, 8192, 7));
+ ls.push_back(new bluestore_lextent_t(23232, 0, 4096));
+ ls.push_back(new bluestore_lextent_t(23232, 16384, 8192));
}
ostream& operator<<(ostream& out, const bluestore_lextent_t& lb)
{
- out << "0x" << std::hex << lb.offset << "~" << lb.length << std::dec
- << "->" << lb.blob;
- if (lb.flags)
- out << ":" << bluestore_lextent_t::get_flags_string(lb.flags);
- return out;
+ return out << "0x" << std::hex << lb.offset << "~" << lb.length << std::dec
+ << "->" << lb.blob;
}
bluestore_lextent_t(
p->second.blob,
p->second.offset + front,
- length,
- p->second.flags));
+ length));
extent_map[end] = bluestore_lextent_t(
p->second.blob,
p->second.offset + front + length,
- p->second.length - front - length,
- p->second.flags);
+ p->second.length - front - length);
p->second.length = front;
break;
} else {
bluestore_lextent_t(
p->second.blob,
p->second.offset + keep,
- p->second.length - keep,
- p->second.flags));
+ p->second.length - keep));
p->second.length = keep;
++p;
continue;
bluestore_lextent_t(
p->second.blob,
p->second.offset,
- p->second.length - keep,
- p->second.flags));
+ p->second.length - keep));
extent_map[end] = bluestore_lextent_t(
p->second.blob,
p->second.offset + p->second.length - keep,
- keep,
- p->second.flags);
+ keep);
extent_map.erase(p++);
break;
}
ASSERT_EQ(on.extent_map.end(), on.find_lextent(0));
ASSERT_EQ(on.extent_map.end(), on.find_lextent(100));
- on.extent_map[100] = bluestore_lextent_t(1, 0, 100, 0);
+ on.extent_map[100] = bluestore_lextent_t(1, 0, 100);
map<uint64_t,bluestore_lextent_t>::iterator a = on.extent_map.find(100);
ASSERT_EQ(on.extent_map.end(), on.find_lextent(0));
ASSERT_EQ(on.extent_map.end(), on.find_lextent(99));
ASSERT_EQ(a, on.find_lextent(199));
ASSERT_EQ(on.extent_map.end(), on.find_lextent(200));
- on.extent_map[200] = bluestore_lextent_t(2, 0, 100, 0);
+ on.extent_map[200] = bluestore_lextent_t(2, 0, 100);
map<uint64_t,bluestore_lextent_t>::iterator b = on.extent_map.find(200);
ASSERT_EQ(on.extent_map.end(), on.find_lextent(0));
ASSERT_EQ(on.extent_map.end(), on.find_lextent(99));
ASSERT_EQ(b, on.find_lextent(299));
ASSERT_EQ(on.extent_map.end(), on.find_lextent(300));
- on.extent_map[400] = bluestore_lextent_t(4, 0, 100, 0);
+ on.extent_map[400] = bluestore_lextent_t(4, 0, 100);
map<uint64_t,bluestore_lextent_t>::iterator d = on.extent_map.find(400);
ASSERT_EQ(on.extent_map.end(), on.find_lextent(0));
ASSERT_EQ(on.extent_map.end(), on.find_lextent(99));
ASSERT_EQ(on.extent_map.end(), on.seek_lextent(0));
ASSERT_EQ(on.extent_map.end(), on.seek_lextent(100));
- on.extent_map[100] = bluestore_lextent_t(1, 0, 100, 0);
+ on.extent_map[100] = bluestore_lextent_t(1, 0, 100);
map<uint64_t,bluestore_lextent_t>::iterator a = on.extent_map.find(100);
ASSERT_EQ(a, on.seek_lextent(0));
ASSERT_EQ(a, on.seek_lextent(99));
ASSERT_EQ(a, on.seek_lextent(199));
ASSERT_EQ(on.extent_map.end(), on.seek_lextent(200));
- on.extent_map[200] = bluestore_lextent_t(2, 0, 100, 0);
+ on.extent_map[200] = bluestore_lextent_t(2, 0, 100);
map<uint64_t,bluestore_lextent_t>::iterator b = on.extent_map.find(200);
ASSERT_EQ(a, on.seek_lextent(0));
ASSERT_EQ(a, on.seek_lextent(99));
ASSERT_EQ(b, on.seek_lextent(299));
ASSERT_EQ(on.extent_map.end(), on.seek_lextent(300));
- on.extent_map[400] = bluestore_lextent_t(4, 0, 100, 0);
+ on.extent_map[400] = bluestore_lextent_t(4, 0, 100);
map<uint64_t,bluestore_lextent_t>::iterator d = on.extent_map.find(400);
ASSERT_EQ(a, on.seek_lextent(0));
ASSERT_EQ(a, on.seek_lextent(99));
ASSERT_FALSE(on.has_any_lextents(0, 1000));
ASSERT_FALSE(on.has_any_lextents(1000, 1000));
- on.extent_map[100] = bluestore_lextent_t(1, 0, 100, 0);
+ on.extent_map[100] = bluestore_lextent_t(1, 0, 100);
ASSERT_FALSE(on.has_any_lextents(0, 50));
ASSERT_FALSE(on.has_any_lextents(0, 100));
ASSERT_FALSE(on.has_any_lextents(50, 50));
ASSERT_TRUE(on.has_any_lextents(199, 2));
ASSERT_FALSE(on.has_any_lextents(200, 2));
- on.extent_map[200] = bluestore_lextent_t(2, 0, 100, 0);
+ on.extent_map[200] = bluestore_lextent_t(2, 0, 100);
ASSERT_TRUE(on.has_any_lextents(199, 1));
ASSERT_TRUE(on.has_any_lextents(199, 2));
ASSERT_TRUE(on.has_any_lextents(200, 2));
ASSERT_TRUE(on.has_any_lextents(299, 1));
ASSERT_FALSE(on.has_any_lextents(300, 1));
- on.extent_map[400] = bluestore_lextent_t(4, 0, 100, 0);
+ on.extent_map[400] = bluestore_lextent_t(4, 0, 100);
ASSERT_TRUE(on.has_any_lextents(0, 10000));
ASSERT_TRUE(on.has_any_lextents(199, 1));
ASSERT_FALSE(on.has_any_lextents(300, 1));
{
bluestore_onode_t on;
vector<bluestore_lextent_t> r;
- on.extent_map[0] = bluestore_lextent_t(1, 0, 100, 0);
- on.extent_map[100] = bluestore_lextent_t(2, 0, 100, 0);
+ on.extent_map[0] = bluestore_lextent_t(1, 0, 100);
+ on.extent_map[100] = bluestore_lextent_t(2, 0, 100);
ASSERT_EQ(0, on.compress_extent_map());
ASSERT_EQ(2u, on.extent_map.size());
- on.extent_map[200] = bluestore_lextent_t(2, 100, 100, 0);
- on.extent_map[300] = bluestore_lextent_t(2, 200, 100, 0);
+ on.extent_map[200] = bluestore_lextent_t(2, 100, 100);
+ on.extent_map[300] = bluestore_lextent_t(2, 200, 100);
ASSERT_EQ(2, on.compress_extent_map());
ASSERT_EQ(2u, on.extent_map.size());
- on.extent_map[200] = bluestore_lextent_t(3, 100, 100, 0);
- on.extent_map[300] = bluestore_lextent_t(2, 200, 100, 0);
+ on.extent_map[200] = bluestore_lextent_t(3, 100, 100);
+ on.extent_map[300] = bluestore_lextent_t(2, 200, 100);
ASSERT_EQ(0, on.compress_extent_map());
ASSERT_EQ(4u, on.extent_map.size());
- on.extent_map[400] = bluestore_lextent_t(2, 300, 100, 0);
- on.extent_map[500] = bluestore_lextent_t(2, 500, 100, 0);
- on.extent_map[600] = bluestore_lextent_t(2, 600, 100, 0);
+ on.extent_map[400] = bluestore_lextent_t(2, 300, 100);
+ on.extent_map[500] = bluestore_lextent_t(2, 500, 100);
+ on.extent_map[600] = bluestore_lextent_t(2, 600, 100);
ASSERT_EQ(2, on.compress_extent_map());
ASSERT_EQ(5u, on.extent_map.size());
- on.extent_map[400] = bluestore_lextent_t(2, 300, 100, 0);
- on.extent_map[500] = bluestore_lextent_t(2, 400, 100, 0);
- on.extent_map[700] = bluestore_lextent_t(2, 500, 100, 0);
+ on.extent_map[400] = bluestore_lextent_t(2, 300, 100);
+ on.extent_map[500] = bluestore_lextent_t(2, 400, 100);
+ on.extent_map[700] = bluestore_lextent_t(2, 500, 100);
ASSERT_EQ(1, on.compress_extent_map());
ASSERT_EQ(6u, on.extent_map.size());
}
{
bluestore_onode_t on;
vector<bluestore_lextent_t> r;
- on.extent_map[0] = bluestore_lextent_t(1, 0, 100, 0);
- on.extent_map[100] = bluestore_lextent_t(2, 0, 100, 0);
+ on.extent_map[0] = bluestore_lextent_t(1, 0, 100);
+ on.extent_map[100] = bluestore_lextent_t(2, 0, 100);
on.punch_hole(0, 100, &r);
ASSERT_EQ(1u, on.extent_map.size());