aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/rgrp.c
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2007-05-15 10:37:50 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2007-07-09 03:22:24 -0400
commitdbb7cae2a36170cd17ffbe286ec0c91a998740ff (patch)
tree1f4da65b07ac31648fe9b72f2742075486a86008 /fs/gfs2/rgrp.c
parent41d7db0ab437bc84f8a6e77cccc626ce937605ac (diff)
[GFS2] Clean up inode number handling
This patch cleans up the inode number handling code. The main difference is that instead of looking up the inodes using a struct gfs2_inum_host we now use just the no_addr member of this structure. The tests relating to no_formal_ino can then be done by the calling code. This has advantages in that we want to do different things in different code paths if the no_formal_ino doesn't match. In the NFS patch we want to return -ESTALE, but in the ->lookup() path, its a bug in the fs if the no_formal_ino doesn't match and thus we can withdraw in this case. In order to later fix bz #201012, we need to be able to look up an inode without knowing no_formal_ino, as the only information that is known to us is the on-disk location of the inode in question. This patch will also help us to fix bz #236099 at a later date by cleaning up a lot of the code in that area. There are no user visible changes as a result of this patch and there are no changes to the on-disk format either. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/rgrp.c')
-rw-r--r--fs/gfs2/rgrp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c
index a62c0f2d26d..30eb428065c 100644
--- a/fs/gfs2/rgrp.c
+++ b/fs/gfs2/rgrp.c
@@ -1470,7 +1470,7 @@ void gfs2_unlink_di(struct inode *inode)
1470 struct gfs2_inode *ip = GFS2_I(inode); 1470 struct gfs2_inode *ip = GFS2_I(inode);
1471 struct gfs2_sbd *sdp = GFS2_SB(inode); 1471 struct gfs2_sbd *sdp = GFS2_SB(inode);
1472 struct gfs2_rgrpd *rgd; 1472 struct gfs2_rgrpd *rgd;
1473 u64 blkno = ip->i_num.no_addr; 1473 u64 blkno = ip->i_no_addr;
1474 1474
1475 rgd = rgblk_free(sdp, blkno, 1, GFS2_BLKST_UNLINKED); 1475 rgd = rgblk_free(sdp, blkno, 1, GFS2_BLKST_UNLINKED);
1476 if (!rgd) 1476 if (!rgd)
@@ -1505,9 +1505,9 @@ static void gfs2_free_uninit_di(struct gfs2_rgrpd *rgd, u64 blkno)
1505 1505
1506void gfs2_free_di(struct gfs2_rgrpd *rgd, struct gfs2_inode *ip) 1506void gfs2_free_di(struct gfs2_rgrpd *rgd, struct gfs2_inode *ip)
1507{ 1507{
1508 gfs2_free_uninit_di(rgd, ip->i_num.no_addr); 1508 gfs2_free_uninit_di(rgd, ip->i_no_addr);
1509 gfs2_quota_change(ip, -1, ip->i_inode.i_uid, ip->i_inode.i_gid); 1509 gfs2_quota_change(ip, -1, ip->i_inode.i_uid, ip->i_inode.i_gid);
1510 gfs2_meta_wipe(ip, ip->i_num.no_addr, 1); 1510 gfs2_meta_wipe(ip, ip->i_no_addr, 1);
1511} 1511}
1512 1512
1513/** 1513/**