Skip to content

Commit

Permalink
[GFS2] Merge the rd_last_alloc_meta and rd_last_alloc_data fields
Browse files Browse the repository at this point in the history
We don't need to keep track of when we last allocated data
and metadata separately since the only thing thats important
when searching for a free block is whether its free or not,
which is independent from what type of block it is.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
  • Loading branch information
Steven Whitehouse committed Mar 31, 2008
1 parent ce276b0 commit ac576cc
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 8 deletions.
3 changes: 1 addition & 2 deletions fs/gfs2/incore.h
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,7 @@ struct gfs2_rgrpd {
struct mutex rd_mutex;
u32 rd_free_clone;
struct gfs2_log_element rd_le;
u32 rd_last_alloc_data;
u32 rd_last_alloc_meta;
u32 rd_last_alloc;
struct gfs2_sbd *rd_sbd;
unsigned char rd_flags;
#define GFS2_RDF_CHECK 0x01 /* Need to check for unlinked inodes */
Expand Down
12 changes: 6 additions & 6 deletions fs/gfs2/rgrp.c
Original file line number Diff line number Diff line change
Expand Up @@ -1422,11 +1422,11 @@ u64 gfs2_alloc_data(struct gfs2_inode *ip)
if (rgrp_contains_block(rgd, ip->i_goal))
goal = ip->i_goal - rgd->rd_data0;
else
goal = rgd->rd_last_alloc_data;
goal = rgd->rd_last_alloc;

blk = rgblk_search(rgd, goal, GFS2_BLKST_FREE, GFS2_BLKST_USED);
BUG_ON(blk == BFITNOENT);
rgd->rd_last_alloc_data = blk;
rgd->rd_last_alloc = blk;

block = rgd->rd_data0 + blk;
ip->i_goal = block;
Expand Down Expand Up @@ -1467,11 +1467,11 @@ u64 gfs2_alloc_meta(struct gfs2_inode *ip)
if (rgrp_contains_block(rgd, ip->i_goal))
goal = ip->i_goal - rgd->rd_data0;
else
goal = rgd->rd_last_alloc_meta;
goal = rgd->rd_last_alloc;

blk = rgblk_search(rgd, goal, GFS2_BLKST_FREE, GFS2_BLKST_USED);
BUG_ON(blk == BFITNOENT);
rgd->rd_last_alloc_meta = blk;
rgd->rd_last_alloc = blk;

block = rgd->rd_data0 + blk;
ip->i_goal = block;
Expand Down Expand Up @@ -1510,11 +1510,11 @@ u64 gfs2_alloc_di(struct gfs2_inode *dip, u64 *generation)
u32 blk;
u64 block;

blk = rgblk_search(rgd, rgd->rd_last_alloc_meta,
blk = rgblk_search(rgd, rgd->rd_last_alloc,
GFS2_BLKST_FREE, GFS2_BLKST_DINODE);
BUG_ON(blk == BFITNOENT);

rgd->rd_last_alloc_meta = blk;
rgd->rd_last_alloc = blk;

block = rgd->rd_data0 + blk;

Expand Down

0 comments on commit ac576cc

Please sign in to comment.