From 8eb5c9b8391508d743dd18227d6267fcfdbec3a9 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 11 Jun 2012 15:21:11 -0700 Subject: [PATCH] mon: allow keys to be cleared in ceph osd crush set ... loc key/values If we encounter a 'key=' with no value, clear any previous value for that key, so that 'a=foo b=bar a=' is equivalent to 'b=bar' Fixes: #2540 Signed-off-by: Sage Weil --- src/mon/OSDMonitor.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 28fc40acb0b1a..66c6b898ff007 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -1809,7 +1809,10 @@ bool OSDMonitor::prepare_command(MMonCommand *m) break; string key(s, 0, pos-s); string value(pos+1); - loc[key] = value; + if (value.length()) + loc[key] = value; + else + loc.erase(key); } dout(0) << "adding/updating crush item id " << id << " name '" << name << "' weight " << weight -- 2.39.5