From: Mykola Golub Date: Wed, 29 Nov 2017 19:05:18 +0000 (+0200) Subject: cls/rbd: add "migration" trash image source X-Git-Tag: v14.0.1~590^2~33 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=431b44371896df811f6db19e8145eddefffad191;p=ceph.git cls/rbd: add "migration" trash image source Signed-off-by: Mykola Golub --- diff --git a/src/cls/rbd/cls_rbd_types.cc b/src/cls/rbd/cls_rbd_types.cc index 00538666ee169..de90bcfcde404 100644 --- a/src/cls/rbd/cls_rbd_types.cc +++ b/src/cls/rbd/cls_rbd_types.cc @@ -670,13 +670,7 @@ void TrashImageSpec::decode(bufferlist::const_iterator &it) { } 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); diff --git a/src/cls/rbd/cls_rbd_types.h b/src/cls/rbd/cls_rbd_types.h index 7be7d5171a859..8b866bac06d62 100644 --- a/src/cls/rbd/cls_rbd_types.h +++ b/src/cls/rbd/cls_rbd_types.h @@ -513,9 +513,29 @@ struct GroupSnapshot { 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(source) << ")"; + break; + } + return os; +} + inline void encode(const TrashImageSource &source, bufferlist& bl, uint64_t features=0) {