mirror of
https://github.com/ceph/ceph
synced 2025-03-11 02:39:05 +00:00
ceph-dencoder: SnapSet
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
This commit is contained in:
parent
c5a5842009
commit
8791cb98fe
@ -42,7 +42,7 @@ struct SnapContext {
|
||||
vector<snapid_t> snaps; // existent snaps, in descending order
|
||||
|
||||
SnapContext() {}
|
||||
SnapContext(snapid_t s, vector<snapid_t>& v) : seq(s), snaps(v) {}
|
||||
SnapContext(snapid_t s, const vector<snapid_t>& v) : seq(s), snaps(v) {}
|
||||
|
||||
bool is_valid() const;
|
||||
|
||||
|
@ -1560,6 +1560,42 @@ void SnapSet::decode(bufferlist::iterator& bl)
|
||||
::decode(clone_size, bl);
|
||||
}
|
||||
|
||||
void SnapSet::dump(Formatter *f) const
|
||||
{
|
||||
SnapContext sc(seq, snaps);
|
||||
f->open_object_section("snap_context");
|
||||
sc.dump(f);
|
||||
f->close_section();
|
||||
f->dump_int("head_exists", head_exists);
|
||||
f->open_array_section("clones");
|
||||
for (vector<snapid_t>::const_iterator p = clones.begin(); p != clones.end(); ++p) {
|
||||
f->open_object_section("clone");
|
||||
f->dump_unsigned("snap", *p);
|
||||
f->dump_unsigned("size", clone_size.find(*p)->second);
|
||||
f->dump_stream("overlap") << clone_overlap.find(*p)->second;
|
||||
f->close_section();
|
||||
}
|
||||
f->close_section();
|
||||
}
|
||||
|
||||
void SnapSet::generate_test_instances(list<SnapSet*>& o)
|
||||
{
|
||||
o.push_back(new SnapSet);
|
||||
o.push_back(new SnapSet);
|
||||
o.back()->head_exists = true;
|
||||
o.back()->seq = 123;
|
||||
o.back()->snaps.push_back(123);
|
||||
o.back()->snaps.push_back(12);
|
||||
o.push_back(new SnapSet);
|
||||
o.back()->head_exists = true;
|
||||
o.back()->seq = 123;
|
||||
o.back()->snaps.push_back(123);
|
||||
o.back()->snaps.push_back(12);
|
||||
o.back()->clones.push_back(12);
|
||||
o.back()->clone_size[12] = 12345;
|
||||
o.back()->clone_overlap[12];
|
||||
}
|
||||
|
||||
ostream& operator<<(ostream& out, const SnapSet& cs)
|
||||
{
|
||||
return out << cs.seq << "=" << cs.snaps << ":"
|
||||
@ -1567,7 +1603,6 @@ ostream& operator<<(ostream& out, const SnapSet& cs)
|
||||
<< (cs.head_exists ? "+head":"");
|
||||
}
|
||||
|
||||
|
||||
// -- watch_info_t --
|
||||
|
||||
void watch_info_t::encode(bufferlist& bl) const
|
||||
|
@ -1448,6 +1448,8 @@ struct SnapSet {
|
||||
|
||||
void encode(bufferlist& bl) const;
|
||||
void decode(bufferlist::iterator& bl);
|
||||
void dump(Formatter *f) const;
|
||||
static void generate_test_instances(list<SnapSet*>& o);
|
||||
};
|
||||
WRITE_CLASS_ENCODER(SnapSet)
|
||||
|
||||
|
@ -39,6 +39,7 @@ TYPE(pg_missing_t)
|
||||
TYPE(pg_ls_response_t)
|
||||
TYPE(watch_info_t)
|
||||
TYPE(object_info_t)
|
||||
TYPE(SnapSet)
|
||||
|
||||
#include "os/ObjectStore.h"
|
||||
TYPE(ObjectStore::Transaction)
|
||||
|
Loading…
Reference in New Issue
Block a user