[GFS2] Merge the rd_last_alloc_meta and rd_last_alloc_data fields
authorSteven Whitehouse <swhiteho@redhat.com>
Fri, 1 Feb 2008 10:34:15 +0000 (10:34 +0000)
committerSteven Whitehouse <swhiteho@redhat.com>
Mon, 31 Mar 2008 09:40:39 +0000 (10:40 +0100)
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>
fs/gfs2/incore.h
fs/gfs2/rgrp.c

index c50dcdf7992931f80568a1739fa229621a8c8249..898b456b386f67ebe65d81e38f58403b54eec17c 100644 (file)
@@ -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 */
index 66193b45e50bad4f5986f0ab45aa72a83a99f30c..cc28845ba6fdc131666dba56efa6f4ee8d389dba 100644 (file)
@@ -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;
@@ -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;
@@ -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;