From: Sage Weil Date: Thu, 13 Nov 2008 23:45:36 +0000 (-0800) Subject: osdmap: fix type conversions X-Git-Tag: v0.5~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8c1908a8a71a3ca5ff42768c3d3040c9cfe35321;p=ceph.git osdmap: fix type conversions --- diff --git a/src/osd/OSDMap.h b/src/osd/OSDMap.h index 6745138e2464..96b2641a9b8d 100644 --- a/src/osd/OSDMap.h +++ b/src/osd/OSDMap.h @@ -309,7 +309,7 @@ private: osd_state[o] = s; } void set_weightf(int o, float w) { - set_weight(o, (float)CEPH_OSD_IN * w); + set_weight(o, (int)((float)CEPH_OSD_IN * w)); } void set_weight(int o, unsigned w) { assert(o < max_osd); @@ -329,7 +329,7 @@ private: max = p->second; for (map::iterator p = weights.begin(); p != weights.end(); p++) - inc.new_weight[p->first] = p->second / max; + inc.new_weight[p->first] = (unsigned)((p->second / max) * CEPH_OSD_IN); }