New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mon/PGMonitor: max avail is 0 if some OSD's weight is 0 #6660
Conversation
could you pls change the title to mon/PGMonitor: max avail is 0 if some OSD's weight is 0 Rest looks good |
Thanks Xiaoxi. |
LTGM @tchaikov , is that OK for a QA run? as Cinder is using "ceph df" to get available space of Ceph, this bug will take down cinder. |
Anyone knows the reason of this Jenkin build failure? Looks that this is not related with the code change. First time build. Skipping changelog. |
ping @dachary |
@chengyli it timedout after one hour (usually takes max 30 minutes). There unfortunately is not much information in this case and you should try run-make-check.sh locally to reproduce the problem. Feel free to rebase and repush to trigger the bot one more time, to verify this is not a false negative. |
In get_rule_avail(), even p->second is 0, it's possible to be used as divisor and quotient is infinity, then is converted to an integer which is negative value. So we should check p->second value before calculation. It fixes BUG ceph#13840. Signed-off-by: Chengyuan Li <chengyli@ebay.com>
@dachary thanks for the instructions. if test -d "ceph-9.2.0"; then find "ceph-9.2.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "ceph-9.2.0" || { sleep 5 && rm -rf "ceph-9.2.0"; }; else :; fi |
lgtm with a rados qa run |
mon: fix ceph df pool available calculation for 0-weighted OSDs Reviewed-by: Kefu Chai <kchai@redhat.com>
In get_rule_avail(), even p->second is 0, it's possible to be used
as divisor and quotient is infinity, then is converted to an integer
which is negative value.
So we should check p->second value before calculation.
Signed-off-by: Chengyuan Li chengyli@ebay.com