Skip to content

Commit

Permalink
GFS2: Update gfs2_get_block_type() to use rbm
Browse files Browse the repository at this point in the history
Use the new gfs2_rbm_from_block() function to replace an open
coded version of the same code.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
  • Loading branch information
Steven Whitehouse committed Sep 24, 2012
1 parent 5b924ae commit 3983903
Showing 1 changed file with 6 additions and 19 deletions.
25 changes: 6 additions & 19 deletions fs/gfs2/rgrp.c
Original file line number Diff line number Diff line change
Expand Up @@ -1824,27 +1824,14 @@ void gfs2_inplace_release(struct gfs2_inode *ip)

static unsigned char gfs2_get_block_type(struct gfs2_rgrpd *rgd, u64 block)
{
struct gfs2_bitmap *bi = NULL;
u32 length, rgrp_block, buf_block;
unsigned int buf;
unsigned char type;

length = rgd->rd_length;
rgrp_block = block - rgd->rd_data0;

for (buf = 0; buf < length; buf++) {
bi = rgd->rd_bits + buf;
if (rgrp_block < (bi->bi_start + bi->bi_len) * GFS2_NBBY)
break;
}

gfs2_assert(rgd->rd_sbd, buf < length);
buf_block = rgrp_block - bi->bi_start * GFS2_NBBY;
struct gfs2_rbm rbm = { .rgd = rgd, };
int ret;

type = gfs2_testbit(rgd, bi->bi_bh->b_data + bi->bi_offset,
bi->bi_len, buf_block);
ret = gfs2_rbm_from_block(&rbm, block);
WARN_ON_ONCE(ret != 0);

return type;
return gfs2_testbit(rgd, rbm.bi->bi_bh->b_data + rbm.bi->bi_offset,
rbm.bi->bi_len, rbm.offset);
}


Expand Down

0 comments on commit 3983903

Please sign in to comment.