From 431b44371896df811f6db19e8145eddefffad191 Mon Sep 17 00:00:00 2001 From: Mykola Golub Date: Wed, 29 Nov 2017 21:05:18 +0200 Subject: [PATCH] cls/rbd: add "migration" trash image source Signed-off-by: Mykola Golub --- src/cls/rbd/cls_rbd_types.cc | 8 +------- src/cls/rbd/cls_rbd_types.h | 22 +++++++++++++++++++++- 2 files changed, 22 insertions(+), 8 deletions(-) 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) { -- 2.39.5