From a67c1c1c51b111f40819643530e07f8026227caa Mon Sep 17 00:00:00 2001 From: Loic Dachary Date: Wed, 11 Jun 2014 22:47:49 +0200 Subject: [PATCH] erasure-code: OSDMonitor::get_erasure_code is a const If it is not, the non const version of OSDMap::get_erasure_code_profile is called and a profile is created as a side effect, which is not intended. http://tracker.ceph.com/issues/8307 refs: #8307 Signed-off-by: Loic Dachary (cherry picked from commit 3c638111a4943758b6089c63a42aabbf281ac257) --- src/mon/OSDMonitor.cc | 2 +- src/mon/OSDMonitor.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 6d6999fa0d2bf..c949a8b4f22a7 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -2952,7 +2952,7 @@ int OSDMonitor::crush_ruleset_create_erasure(const string &name, int OSDMonitor::get_erasure_code(const string &erasure_code_profile, ErasureCodeInterfaceRef *erasure_code, - stringstream &ss) + stringstream &ss) const { if (pending_inc.has_erasure_code_profile(erasure_code_profile)) return -EAGAIN; diff --git a/src/mon/OSDMonitor.h b/src/mon/OSDMonitor.h index afc08f0c7983e..2d86be1823f69 100644 --- a/src/mon/OSDMonitor.h +++ b/src/mon/OSDMonitor.h @@ -249,7 +249,7 @@ private: stringstream &ss); int get_erasure_code(const string &erasure_code_profile, ErasureCodeInterfaceRef *erasure_code, - stringstream &ss); + stringstream &ss) const; int prepare_pool_crush_ruleset(const unsigned pool_type, const string &erasure_code_profile, const string &ruleset_name, -- 2.39.5