Skip to content

Commit

Permalink
dm stripe: remove stripes_mask
Browse files Browse the repository at this point in the history
The structure stripe_c contains a stripes_mask field. This field is
useless because it can be trivially calculated by subtracting one from
stripes. It is used only at one place. This patch removes it.

The patch also changes ffs(stripes) - 1 to __ffs(stripes).

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
  • Loading branch information
Mikulas Patocka authored and Alasdair G Kergon committed Jul 27, 2012
1 parent f14fa69 commit 1df0548
Showing 1 changed file with 3 additions and 6 deletions.
9 changes: 3 additions & 6 deletions drivers/md/dm-stripe.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ struct stripe {
struct stripe_c {
uint32_t stripes;
int stripes_shift;
sector_t stripes_mask;

/* The size of this target / num. stripes */
sector_t stripe_width;
Expand Down Expand Up @@ -163,10 +162,8 @@ static int stripe_ctr(struct dm_target *ti, unsigned int argc, char **argv)

if (stripes & (stripes - 1))
sc->stripes_shift = -1;
else {
sc->stripes_shift = ffs(stripes) - 1;
sc->stripes_mask = ((sector_t) stripes) - 1;
}
else
sc->stripes_shift = __ffs(stripes);

ti->split_io = chunk_size;
ti->num_flush_requests = stripes;
Expand Down Expand Up @@ -218,7 +215,7 @@ static void stripe_map_sector(struct stripe_c *sc, sector_t sector,
if (sc->stripes_shift < 0)
*stripe = sector_div(chunk, sc->stripes);
else {
*stripe = chunk & sc->stripes_mask;
*stripe = chunk & (sc->stripes - 1);
chunk >>= sc->stripes_shift;
}

Expand Down

0 comments on commit 1df0548

Please sign in to comment.