From: Mykola Golub Date: Sat, 14 Oct 2017 15:54:28 +0000 (+0300) Subject: librbd: export ImageOptions print operator X-Git-Tag: v13.0.1~279^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=a84b0a415a6947b3ec52eeb5afb32e7cca8e9ba8;p=ceph.git librbd: export ImageOptions print operator (so it could be used for logging image options) Signed-off-by: Mykola Golub --- diff --git a/src/librbd/internal.cc b/src/librbd/internal.cc index cb01b57fac7a..9c24bb7f8184 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 d6401380557b..b08fab3be0de 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