Commit d2571b1f authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] [patch 7/25 dm: use sector_div()

From: Joe Thornber <thornber@sistina.com>

Use sector_div() rather than defining own version.  [Christophe Saout]
parent 6247e3d5
...@@ -63,30 +63,6 @@ static int get_stripe(struct dm_target *ti, struct stripe_c *sc, ...@@ -63,30 +63,6 @@ static int get_stripe(struct dm_target *ti, struct stripe_c *sc,
return 0; 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. * Construct a striped mapping.
* <number of stripes> <chunk size (2^^n)> [<dev_path> <offset>]+ * <number of stripes> <chunk size (2^^n)> [<dev_path> <offset>]+
...@@ -126,7 +102,8 @@ static int stripe_ctr(struct dm_target *ti, unsigned int argc, char **argv) ...@@ -126,7 +102,8 @@ static int stripe_ctr(struct dm_target *ti, unsigned int argc, char **argv)
return -EINVAL; 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 " ti->error = "dm-stripe: Target length not divisable by "
"number of stripes"; "number of stripes";
return -EINVAL; return -EINVAL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment