namespace rbd {
static const uint32_t MAX_OBJECT_MAP_OBJECT_COUNT = 256000000;
-static const string RBD_GROUP_IMAGE_KEY_PREFIX = "image_";
+static const std::string RBD_GROUP_IMAGE_KEY_PREFIX = "image_";
enum DirectoryState {
DIRECTORY_STATE_READY = 0,
DIRECTORY_STATE_ADD_DISABLED = 1
};
-inline void encode(DirectoryState state, bufferlist& bl,
+inline void encode(DirectoryState state, ceph::buffer::list& bl,
uint64_t features=0)
{
ceph::encode(static_cast<uint8_t>(state), bl);
}
-inline void decode(DirectoryState &state, bufferlist::const_iterator& it)
+inline void decode(DirectoryState &state, ceph::buffer::list::const_iterator& it)
{
uint8_t int_state;
ceph::decode(int_state, it);
GROUP_IMAGE_LINK_STATE_INCOMPLETE
};
-inline void encode(const GroupImageLinkState &state, bufferlist& bl,
+inline void encode(const GroupImageLinkState &state, ceph::buffer::list& bl,
uint64_t features=0)
{
using ceph::encode;
encode(static_cast<uint8_t>(state), bl);
}
-inline void decode(GroupImageLinkState &state, bufferlist::const_iterator& it)
+inline void decode(GroupImageLinkState &state, ceph::buffer::list::const_iterator& it)
{
uint8_t int_state;
using ceph::decode;
return (!uuid.empty() && !site_name.empty());
}
- void encode(bufferlist &bl) const;
- void decode(bufferlist::const_iterator &it);
- void dump(Formatter *f) const;
+ void encode(ceph::buffer::list &bl) const;
+ void decode(ceph::buffer::list::const_iterator &it);
+ void dump(ceph::Formatter *f) const;
static void generate_test_instances(std::list<MirrorPeer*> &o);
std::string global_image_id;
MirrorImageState state = MIRROR_IMAGE_STATE_DISABLING;
- void encode(bufferlist &bl) const;
- void decode(bufferlist::const_iterator &it);
- void dump(Formatter *f) const;
+ void encode(ceph::buffer::list &bl) const;
+ void decode(ceph::buffer::list::const_iterator &it);
+ void dump(ceph::Formatter *f) const;
static void generate_test_instances(std::list<MirrorImage*> &o);
MIRROR_IMAGE_STATUS_STATE_STOPPED = 6,
};
-inline void encode(const MirrorImageStatusState &state, bufferlist& bl,
+inline void encode(const MirrorImageStatusState &state, ceph::buffer::list& bl,
uint64_t features=0)
{
using ceph::encode;
}
inline void decode(MirrorImageStatusState &state,
- bufferlist::const_iterator& it)
+ ceph::buffer::list::const_iterator& it)
{
uint8_t int_state;
using ceph::decode;
utime_t last_update;
bool up = false;
- void encode_meta(uint8_t version, bufferlist &bl) const;
- void decode_meta(uint8_t version, bufferlist::const_iterator &it);
+ void encode_meta(uint8_t version, ceph::buffer::list &bl) const;
+ void decode_meta(uint8_t version, ceph::buffer::list::const_iterator &it);
- void encode(bufferlist &bl) const;
- void decode(bufferlist::const_iterator &it);
- void dump(Formatter *f) const;
+ void encode(ceph::buffer::list &bl) const;
+ void decode(ceph::buffer::list::const_iterator &it);
+ void dump(ceph::Formatter *f) const;
std::string state_to_string() const;
cls::rbd::MirrorImageSiteStatus(status) {
}
- void encode_meta(bufferlist &bl, uint64_t features) const;
- void decode_meta(bufferlist::const_iterator &it);
+ void encode_meta(ceph::buffer::list &bl, uint64_t features) const;
+ void decode_meta(ceph::buffer::list::const_iterator &it);
- void encode(bufferlist &bl, uint64_t features) const;
- void decode(bufferlist::const_iterator &it);
+ void encode(ceph::buffer::list &bl, uint64_t features) const;
+ void decode(ceph::buffer::list::const_iterator &it);
static void generate_test_instances(
std::list<MirrorImageSiteStatusOnDisk*> &o);
int get_local_mirror_image_site_status(MirrorImageSiteStatus* status) const;
- void encode(bufferlist &bl) const;
- void decode(bufferlist::const_iterator &it);
- void dump(Formatter *f) const;
+ void encode(ceph::buffer::list &bl) const;
+ void decode(ceph::buffer::list::const_iterator &it);
+ void dump(ceph::Formatter *f) const;
bool operator==(const MirrorImageStatus& rhs) const;
return !(*this == rhs);
}
- void encode(bufferlist &bl) const;
- void decode(bufferlist::const_iterator &it);
- void dump(Formatter *f) const;
+ void encode(ceph::buffer::list &bl) const;
+ void decode(ceph::buffer::list::const_iterator &it);
+ void dump(ceph::Formatter *f) const;
static void generate_test_instances(std::list<ParentImageSpec*> &o);
};
: pool_id(pool_id), pool_namespace(pool_namespace), image_id(image_id) {
}
- void encode(bufferlist &bl) const;
- void decode(bufferlist::const_iterator &it);
- void dump(Formatter *f) const;
+ void encode(ceph::buffer::list &bl) const;
+ void decode(ceph::buffer::list::const_iterator &it);
+ void dump(ceph::Formatter *f) const;
static void generate_test_instances(std::list<ChildImageSpec*> &o);
std::string image_id;
int64_t pool_id = -1;
- void encode(bufferlist &bl) const;
- void decode(bufferlist::const_iterator &it);
- void dump(Formatter *f) const;
+ void encode(ceph::buffer::list &bl) const;
+ void decode(ceph::buffer::list::const_iterator &it);
+ void dump(ceph::Formatter *f) const;
static void generate_test_instances(std::list<GroupImageSpec*> &o);
GroupImageSpec spec;
GroupImageLinkState state = GROUP_IMAGE_LINK_STATE_INCOMPLETE;
- void encode(bufferlist &bl) const;
- void decode(bufferlist::const_iterator &it);
- void dump(Formatter *f) const;
+ void encode(ceph::buffer::list &bl) const;
+ void decode(ceph::buffer::list::const_iterator &it);
+ void dump(ceph::Formatter *f) const;
static void generate_test_instances(std::list<GroupImageStatus*> &o);
std::string group_id;
int64_t pool_id = -1;
- void encode(bufferlist &bl) const;
- void decode(bufferlist::const_iterator &it);
- void dump(Formatter *f) const;
+ void encode(ceph::buffer::list &bl) const;
+ void decode(ceph::buffer::list::const_iterator &it);
+ void dump(ceph::Formatter *f) const;
bool is_valid() const;
static void generate_test_instances(std::list<GroupSpec *> &o);
UserSnapshotNamespace() {}
- void encode(bufferlist& bl) const {}
- void decode(bufferlist::const_iterator& it) {}
+ void encode(ceph::buffer::list& bl) const {}
+ void decode(ceph::buffer::list::const_iterator& it) {}
- void dump(Formatter *f) const {}
+ void dump(ceph::Formatter *f) const {}
inline bool operator==(const UserSnapshotNamespace& usn) const {
return true;
GroupSnapshotNamespace() {}
GroupSnapshotNamespace(int64_t _group_pool,
- const string &_group_id,
- const string &_group_snapshot_id)
+ const std::string &_group_id,
+ const std::string &_group_snapshot_id)
: group_id(_group_id), group_pool(_group_pool),
group_snapshot_id(_group_snapshot_id) {}
- string group_id;
+ std::string group_id;
int64_t group_pool = 0;
- string group_snapshot_id;
+ std::string group_snapshot_id;
- void encode(bufferlist& bl) const;
- void decode(bufferlist::const_iterator& it);
+ void encode(ceph::buffer::list& bl) const;
+ void decode(ceph::buffer::list::const_iterator& it);
- void dump(Formatter *f) const;
+ void dump(ceph::Formatter *f) const;
inline bool operator==(const GroupSnapshotNamespace& gsn) const {
return group_pool == gsn.group_pool &&
: original_name(original_name),
original_snapshot_namespace_type(original_snapshot_namespace_type) {}
- void encode(bufferlist& bl) const;
- void decode(bufferlist::const_iterator& it);
- void dump(Formatter *f) const;
+ void encode(ceph::buffer::list& bl) const;
+ void decode(ceph::buffer::list::const_iterator& it);
+ void dump(ceph::Formatter *f) const;
inline bool operator==(const TrashSnapshotNamespace& usn) const {
return true;
MIRROR_SNAPSHOT_STATE_NON_PRIMARY_DEMOTED = 3,
};
-inline void encode(const MirrorSnapshotState &state, bufferlist& bl,
+inline void encode(const MirrorSnapshotState &state, ceph::buffer::list& bl,
uint64_t features=0) {
using ceph::encode;
encode(static_cast<uint8_t>(state), bl);
}
-inline void decode(MirrorSnapshotState &state, bufferlist::const_iterator& it) {
+inline void decode(MirrorSnapshotState &state, ceph::buffer::list::const_iterator& it) {
using ceph::decode;
uint8_t int_state;
decode(int_state, it);
primary_snap_id == CEPH_NOSNAP);
}
- void encode(bufferlist& bl) const;
- void decode(bufferlist::const_iterator& it);
+ void encode(ceph::buffer::list& bl) const;
+ void decode(ceph::buffer::list::const_iterator& it);
- void dump(Formatter *f) const;
+ void dump(ceph::Formatter *f) const;
inline bool operator==(const MirrorSnapshotNamespace& rhs) const {
return state == rhs.state &&
UnknownSnapshotNamespace() {}
- void encode(bufferlist& bl) const {}
- void decode(bufferlist::const_iterator& it) {}
- void dump(Formatter *f) const {}
+ void encode(ceph::buffer::list& bl) const {}
+ void decode(ceph::buffer::list::const_iterator& it) {}
+ void dump(ceph::Formatter *f) const {}
inline bool operator==(const UnknownSnapshotNamespace& gsn) const {
return true;
SnapshotNamespace(T&& t) : SnapshotNamespaceVariant(std::forward<T>(t)) {
}
- void encode(bufferlist& bl) const;
- void decode(bufferlist::const_iterator& it);
- void dump(Formatter *f) const;
+ void encode(ceph::buffer::list& bl) const;
+ void decode(ceph::buffer::list::const_iterator& it);
+ void dump(ceph::Formatter *f) const;
static void generate_test_instances(std::list<SnapshotNamespace*> &o);
child_count(child_count) {
}
- void encode(bufferlist& bl) const;
- void decode(bufferlist::const_iterator& it);
- void dump(Formatter *f) const;
+ void encode(ceph::buffer::list& bl) const;
+ void decode(ceph::buffer::list::const_iterator& it);
+ void dump(ceph::Formatter *f) const;
static void generate_test_instances(std::list<SnapshotInfo*> &o);
};
GROUP_SNAPSHOT_STATE_COMPLETE = 1,
};
-inline void encode(const GroupSnapshotState &state, bufferlist& bl, uint64_t features=0)
+inline void encode(const GroupSnapshotState &state, ceph::buffer::list& bl, uint64_t features=0)
{
using ceph::encode;
encode(static_cast<uint8_t>(state), bl);
}
-inline void decode(GroupSnapshotState &state, bufferlist::const_iterator& it)
+inline void decode(GroupSnapshotState &state, ceph::buffer::list::const_iterator& it)
{
using ceph::decode;
uint8_t int_state;
struct ImageSnapshotSpec {
int64_t pool;
- string image_id;
+ std::string image_id;
snapid_t snap_id;
ImageSnapshotSpec() {}
ImageSnapshotSpec(int64_t _pool,
- string _image_id,
+ std::string _image_id,
snapid_t _snap_id) : pool(_pool),
image_id(_image_id),
snap_id(_snap_id) {}
- void encode(bufferlist& bl) const;
- void decode(bufferlist::const_iterator& it);
+ void encode(ceph::buffer::list& bl) const;
+ void decode(ceph::buffer::list::const_iterator& it);
- void dump(Formatter *f) const;
+ void dump(ceph::Formatter *f) const;
static void generate_test_instances(std::list<ImageSnapshotSpec *> &o);
};
name(_name),
state(_state) {}
- vector<ImageSnapshotSpec> snaps;
+ std::vector<ImageSnapshotSpec> snaps;
- void encode(bufferlist& bl) const;
- void decode(bufferlist::const_iterator& it);
- void dump(Formatter *f) const;
+ void encode(ceph::buffer::list& bl) const;
+ void decode(ceph::buffer::list::const_iterator& it);
+ void dump(ceph::Formatter *f) const;
static void generate_test_instances(std::list<GroupSnapshot *> &o);
};
return os;
}
-inline void encode(const TrashImageSource &source, bufferlist& bl,
+inline void encode(const TrashImageSource &source, ceph::buffer::list& bl,
uint64_t features=0)
{
using ceph::encode;
encode(static_cast<uint8_t>(source), bl);
}
-inline void decode(TrashImageSource &source, bufferlist::const_iterator& it)
+inline void decode(TrashImageSource &source, ceph::buffer::list::const_iterator& it)
{
uint8_t int_source;
using ceph::decode;
TRASH_IMAGE_STATE_RESTORING = 3
};
-inline void encode(const TrashImageState &state, bufferlist &bl)
+inline void encode(const TrashImageState &state, ceph::buffer::list &bl)
{
using ceph::encode;
encode(static_cast<uint8_t>(state), bl);
}
-inline void decode(TrashImageState &state, bufferlist::const_iterator &it)
+inline void decode(TrashImageState &state, ceph::buffer::list::const_iterator &it)
{
uint8_t int_state;
using ceph::decode;
deferment_end_time(deferment_end_time) {
}
- void encode(bufferlist &bl) const;
- void decode(bufferlist::const_iterator& it);
- void dump(Formatter *f) const;
+ void encode(ceph::buffer::list &bl) const;
+ void decode(ceph::buffer::list::const_iterator& it);
+ void dump(ceph::Formatter *f) const;
inline bool operator==(const TrashImageSpec& rhs) const {
return (source == rhs.source &&
}
MirrorImageMap(const std::string &instance_id, utime_t mapped_time,
- const bufferlist &data)
+ const ceph::buffer::list &data)
: instance_id(instance_id),
mapped_time(mapped_time),
data(data) {
std::string instance_id;
utime_t mapped_time;
- bufferlist data;
+ ceph::buffer::list data;
- void encode(bufferlist &bl) const;
- void decode(bufferlist::const_iterator &it);
- void dump(Formatter *f) const;
+ void encode(ceph::buffer::list &bl) const;
+ void decode(ceph::buffer::list::const_iterator &it);
+ void dump(ceph::Formatter *f) const;
static void generate_test_instances(std::list<MirrorImageMap*> &o);
MIGRATION_HEADER_TYPE_DST = 2,
};
-inline void encode(const MigrationHeaderType &type, bufferlist& bl) {
+inline void encode(const MigrationHeaderType &type, ceph::buffer::list& bl) {
using ceph::encode;
encode(static_cast<uint8_t>(type), bl);
}
-inline void decode(MigrationHeaderType &type, bufferlist::const_iterator& it) {
+inline void decode(MigrationHeaderType &type, ceph::buffer::list::const_iterator& it) {
uint8_t int_type;
using ceph::decode;
decode(int_type, it);
MIGRATION_STATE_ABORTING = 5,
};
-inline void encode(const MigrationState &state, bufferlist& bl) {
+inline void encode(const MigrationState &state, ceph::buffer::list& bl) {
using ceph::encode;
encode(static_cast<uint8_t>(state), bl);
}
-inline void decode(MigrationState &state, bufferlist::const_iterator& it) {
+inline void decode(MigrationState &state, ceph::buffer::list::const_iterator& it) {
uint8_t int_state;
using ceph::decode;
decode(int_state, it);
std::string pool_namespace;
std::string image_name;
std::string image_id;
+ std::string source_spec;
std::map<uint64_t, uint64_t> snap_seqs;
uint64_t overlap = 0;
bool flatten = false;
}
MigrationSpec(MigrationHeaderType header_type, int64_t pool_id,
const std::string& pool_namespace,
- const std::string &image_name, const std::string &image_id,
+ const std::string& image_name, const std::string &image_id,
+ const std::string& source_spec,
const std::map<uint64_t, uint64_t> &snap_seqs, uint64_t overlap,
bool mirroring, MirrorImageMode mirror_image_mode, bool flatten,
MigrationState state, const std::string &state_description)
: header_type(header_type), pool_id(pool_id),
pool_namespace(pool_namespace), image_name(image_name),
- image_id(image_id), snap_seqs(snap_seqs), overlap(overlap),
- flatten(flatten), mirroring(mirroring),
+ image_id(image_id), source_spec(source_spec), snap_seqs(snap_seqs),
+ overlap(overlap), flatten(flatten), mirroring(mirroring),
mirror_image_mode(mirror_image_mode), state(state),
state_description(state_description) {
}
- void encode(bufferlist &bl) const;
- void decode(bufferlist::const_iterator& it);
- void dump(Formatter *f) const;
+ void encode(ceph::buffer::list &bl) const;
+ void decode(ceph::buffer::list::const_iterator& it);
+ void dump(ceph::Formatter *f) const;
static void generate_test_instances(std::list<MigrationSpec*> &o);
inline bool operator==(const MigrationSpec& ms) const {
return header_type == ms.header_type && pool_id == ms.pool_id &&
pool_namespace == ms.pool_namespace && image_name == ms.image_name &&
- image_id == ms.image_id && snap_seqs == ms.snap_seqs &&
- overlap == ms.overlap && flatten == ms.flatten &&
- mirroring == ms.mirroring && mirror_image_mode == ms.mirror_image_mode &&
- state == ms.state && state_description == ms.state_description;
+ image_id == ms.image_id && source_spec == ms.source_spec &&
+ snap_seqs == ms.snap_seqs && overlap == ms.overlap &&
+ flatten == ms.flatten && mirroring == ms.mirroring &&
+ mirror_image_mode == ms.mirror_image_mode && state == ms.state &&
+ state_description == ms.state_description;
}
};
ASSERT_SNAPC_SEQ_LE_SNAPSET_SEQ = 1,
};
-inline void encode(const AssertSnapcSeqState &state, bufferlist& bl) {
+inline void encode(const AssertSnapcSeqState &state, ceph::buffer::list& bl) {
using ceph::encode;
encode(static_cast<uint8_t>(state), bl);
}
-inline void decode(AssertSnapcSeqState &state, bufferlist::const_iterator& it) {
+inline void decode(AssertSnapcSeqState &state, ceph::buffer::list::const_iterator& it) {
uint8_t int_state;
using ceph::decode;
decode(int_state, it);