}
void TrashImageSpec::dump(Formatter *f) const {
- switch(source) {
- case TRASH_IMAGE_SOURCE_USER:
- f->dump_string("source", "user");
- break;
- case TRASH_IMAGE_SOURCE_MIRRORING:
- f->dump_string("source", "rbd_mirror");
- }
+ f->dump_stream("source") << source;
f->dump_string("name", name);
f->dump_unsigned("deletion_time", deletion_time);
f->dump_unsigned("deferment_end_time", deferment_end_time);
WRITE_CLASS_ENCODER(GroupSnapshot);
enum TrashImageSource {
TRASH_IMAGE_SOURCE_USER = 0,
- TRASH_IMAGE_SOURCE_MIRRORING = 1
+ TRASH_IMAGE_SOURCE_MIRRORING = 1,
+ TRASH_IMAGE_SOURCE_MIGRATION = 2,
};
+inline std::ostream& operator<<(std::ostream& os,
+ const TrashImageSource& source) {
+ switch (source) {
+ case TRASH_IMAGE_SOURCE_USER:
+ os << "user";
+ break;
+ case TRASH_IMAGE_SOURCE_MIRRORING:
+ os << "mirroring";
+ break;
+ case TRASH_IMAGE_SOURCE_MIGRATION:
+ os << "migration";
+ break;
+ default:
+ os << "unknown (" << static_cast<uint32_t>(source) << ")";
+ break;
+ }
+ return os;
+}
+
inline void encode(const TrashImageSource &source, bufferlist& bl,
uint64_t features=0)
{