[dm-devel] [PATCH 1/2] Revert "Revert "math64: New div64_u64_rem helper""

Anatol Pomozov anatol.pomozov at gmail.com
Wed Sep 4 16:11:25 UTC 2013


Hi,

On Fri, Aug 9, 2013 at 12:56 PM, Mike Snitzer <snitzer at redhat.com> wrote:
> This reverts commit f3002134158092178be81339ec5a22ff80e6c308.
>
> div64_u64_rem was removed because there were no other users.

In the light of this discussion https://lkml.org/lkml/2013/8/30/417 we
will have more users of div64_u64_rem

For example code from ext4_mb_find_by_goal() function uses function
do_div() with divisor sbi->s_stripe that has "unsigned long" type.
do_div() silently truncates the type to 32bits and do_div() returns
incorrect result (or crash if lower 32bits are zero). It should be
either replaced with div64_u64_rem() posted here or with just "a % b".




More information about the dm-devel mailing list