From a84b0a415a6947b3ec52eeb5afb32e7cca8e9ba8 Mon Sep 17 00:00:00 2001 From: Mykola Golub Date: Sat, 14 Oct 2017 18:54:28 +0300 Subject: [PATCH] librbd: export ImageOptions print operator (so it could be used for logging image options) Signed-off-by: Mykola Golub --- src/librbd/internal.cc | 51 +++++++++++++++++++++--------------------- src/librbd/internal.h | 2 ++ 2 files changed, 28 insertions(+), 25 deletions(-) diff --git a/src/librbd/internal.cc b/src/librbd/internal.cc index cb01b57fac7..9c24bb7f818 100644 --- a/src/librbd/internal.cc +++ b/src/librbd/internal.cc @@ -327,31 +327,6 @@ int validate_pool(IoCtx &io_ctx, CephContext *cct) { } } - std::ostream &operator<<(std::ostream &os, const ImageOptions &opts) { - os << "["; - - const char *delimiter = ""; - for (auto &i : IMAGE_OPTIONS_TYPE_MAPPING) { - if (i.second == STR) { - std::string val; - if (opts.get(i.first, &val) == 0) { - os << delimiter << image_option_name(i.first) << "=" << val; - delimiter = ", "; - } - } else if (i.second == UINT64) { - uint64_t val; - if (opts.get(i.first, &val) == 0) { - os << delimiter << image_option_name(i.first) << "=" << val; - delimiter = ", "; - } - } - } - - os << "]"; - - return os; - } - void image_options_create(rbd_image_options_t* opts) { image_options_ref* opts_ = new image_options_ref(new image_options_t()); @@ -2355,3 +2330,29 @@ int validate_pool(IoCtx &io_ctx, CephContext *cct) { } + +std::ostream &operator<<(std::ostream &os, const librbd::ImageOptions &opts) { + os << "["; + + const char *delimiter = ""; + for (auto &i : librbd::IMAGE_OPTIONS_TYPE_MAPPING) { + if (i.second == librbd::STR) { + std::string val; + if (opts.get(i.first, &val) == 0) { + os << delimiter << librbd::image_option_name(i.first) << "=" << val; + delimiter = ", "; + } + } else if (i.second == librbd::UINT64) { + uint64_t val; + if (opts.get(i.first, &val) == 0) { + os << delimiter << librbd::image_option_name(i.first) << "=" << val; + delimiter = ", "; + } + } + } + + os << "]"; + + return os; +} + diff --git a/src/librbd/internal.h b/src/librbd/internal.h index d6401380557..b08fab3be0d 100644 --- a/src/librbd/internal.h +++ b/src/librbd/internal.h @@ -172,4 +172,6 @@ namespace librbd { } +std::ostream &operator<<(std::ostream &os, const librbd::ImageOptions &opts); + #endif -- 2.39.5