From d2571b1ff5112e2a4c4b589244b8ff119d6a5748 Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Wed, 6 Aug 2003 21:12:55 -0700 Subject: [PATCH] [PATCH] [patch 7/25 dm: use sector_div() From: Joe Thornber Use sector_div() rather than defining own version. [Christophe Saout] --- drivers/md/dm-stripe.c | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/drivers/md/dm-stripe.c b/drivers/md/dm-stripe.c index 024d920ba99dc..3662dbb49d701 100644 --- a/drivers/md/dm-stripe.c +++ b/drivers/md/dm-stripe.c @@ -63,30 +63,6 @@ static int get_stripe(struct dm_target *ti, struct stripe_c *sc, return 0; } -/* - * FIXME: Nasty function, only present because we can't link - * against __moddi3 and __divdi3. - * - * returns a == b * n - */ -static int multiple(sector_t a, sector_t b, sector_t *n) -{ - sector_t acc, prev, i; - - *n = 0; - while (a >= b) { - for (acc = b, prev = 0, i = 1; - acc <= a; - prev = acc, acc <<= 1, i <<= 1) - ; - - a -= prev; - *n += i >> 1; - } - - return a == 0; -} - /* * Construct a striped mapping. * [ ]+ @@ -126,7 +102,8 @@ static int stripe_ctr(struct dm_target *ti, unsigned int argc, char **argv) return -EINVAL; } - if (!multiple(ti->len, stripes, &width)) { + width = ti->len; + if (sector_div(width, stripes)) { ti->error = "dm-stripe: Target length not divisable by " "number of stripes"; return -EINVAL; -- 2.53.0