diff options
author | Sage Weil <sage@inktank.com> | 2013-02-04 09:14:39 -0800 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-02-04 09:14:39 -0800 |
commit | 4e29c95d6f61daa838888840cef0cceedc0fcfdd (patch) | |
tree | 6b351b3da74d0f781091239e6e259e28cb3f4328 | |
parent | b970d054cef9d351aea8d254255de3874c2b10ca (diff) | |
download | ceph-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.cc | 5 |
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"; |