From: Loic Dachary Date: Wed, 11 Jun 2014 20:47:49 +0000 (+0200) Subject: erasure-code: OSDMonitor::get_erasure_code is a const X-Git-Tag: v0.83~91^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3c638111a4943758b6089c63a42aabbf281ac257;p=ceph.git 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 --- diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 1f50f8c0ae97..ff0684961ba2 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -2963,7 +2963,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 1ad05322d3f1..80d083e8bd70 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,