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 <loic-201408@dachary.org>
(cherry picked from commit
9449520b121fc6ce0c64948386d4ff77f46f4f5f)
#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