From: Loic Dachary Date: Mon, 25 Aug 2014 15:05:04 +0000 (+0200) Subject: common: ROUND_UP_TO accepts any rounding factor X-Git-Tag: v0.86~214^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F2319%2Fhead;p=ceph.git common: ROUND_UP_TO accepts any rounding factor The ROUND_UP_TO function was limited to rounding factors that are powers of two. This saves a modulo but it is not used where it would make a difference. The implementation is changed so it is generic. http://tracker.ceph.com/issues/9209 Fixes: #9209 Signed-off-by: Loic Dachary --- diff --git a/src/include/intarith.h b/src/include/intarith.h index 640129cea468..2c27cecd16dc 100644 --- a/src/include/intarith.h +++ b/src/include/intarith.h @@ -28,7 +28,7 @@ #endif #ifndef ROUND_UP_TO -# define ROUND_UP_TO(n, d) (((n)+(d)-1) & ~((d)-1)) +# define ROUND_UP_TO(n, d) ((n)%(d) ? ((n)+(d)-(n)%(d)) : (n)) #endif #ifndef SHIFT_ROUND_UP