From 2b848a91d9e56fd6aa08e6ba0a99a0c366f6f5bb Mon Sep 17 00:00:00 2001 From: Loic Dachary Date: Wed, 1 Jan 2014 14:57:52 +0100 Subject: [PATCH] osdc: = is not a delimiter in --crush-location When parsing the crush location --crush-location 'root=default host=hostA' it must create the vector [ 'root=default', 'host=hostA' ] but the default list of separators of get_str_vec includes = which will create [ 'root', 'default', 'host', 'hostA' ] instead. Set the list of delimiters to exclude = instead. Signed-off-by: Loic Dachary --- src/osdc/Objecter.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/osdc/Objecter.cc b/src/osdc/Objecter.cc index 25e60b5911e..3da9be9c1c0 100644 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@ -147,7 +147,7 @@ void Objecter::handle_conf_change(const struct md_config_t *conf, if (changed.count("crush_location")) { crush_location.clear(); vector lvec; - get_str_vec(cct->_conf->crush_location, lvec); + get_str_vec(cct->_conf->crush_location, ";, \t", lvec); int r = CrushWrapper::parse_loc_multimap(lvec, &crush_location); if (r < 0) { lderr(cct) << "warning: crush_location '" << cct->_conf->crush_location