summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-02-04 09:14:39 -0800
committerSage Weil <sage@inktank.com>2013-02-04 09:14:39 -0800
commit4e29c95d6f61daa838888840cef0cceedc0fcfdd (patch)
tree6b351b3da74d0f781091239e6e259e28cb3f4328
parentb970d054cef9d351aea8d254255de3874c2b10ca (diff)
downloadceph-4e29c95d6f61daa838888840cef0cceedc0fcfdd.tar.gz
mon: enforce reweight be between 0..1
Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Joao Luis <joao.luis@inktank.com>
-rw-r--r--src/mon/OSDMonitor.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc
index 3d11cfffc0f..507eed74c42 100644
--- a/src/mon/OSDMonitor.cc
+++ b/src/mon/OSDMonitor.cc
@@ -2527,6 +2527,11 @@ bool OSDMonitor::prepare_command(MMonCommand *m)
err = -EINVAL;
} else {
float w = strtof(m->cmd[3].c_str(), 0);
+ if (w > 1.0 || w < 0) {
+ ss << "weight must be in the range [0..1]";
+ err = -EINVAL;
+ goto out;
+ }
long ww = (int)((float)CEPH_OSD_IN*w);
if (ww < 0L) {
ss << "weight must be > 0";