aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/glops.c
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2006-11-01 16:05:38 -0500
committerSteven Whitehouse <swhiteho@redhat.com>2006-11-30 10:34:30 -0500
commitbfded27ba010d1c3b0aa3843f97dc9b80de751be (patch)
tree55d0009b96ae00188fa4ab546cdcad5686a3fdde /fs/gfs2/glops.c
parent[GFS2] Shrink gfs2_inode (7) - di_payload_format (diff)
downloadlinux-dev-bfded27ba010d1c3b0aa3843f97dc9b80de751be.tar.xz
linux-dev-bfded27ba010d1c3b0aa3843f97dc9b80de751be.zip
[GFS2] Shrink gfs2_inode (8) - i_vn
This shrinks the size of the gfs2_inode by 8 bytes by replacing the version counter with a one bit valid/invalid flag. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/glops.c')
-rw-r--r--fs/gfs2/glops.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/gfs2/glops.c b/fs/gfs2/glops.c
index aad45b7a927d..9c2033714b08 100644
--- a/fs/gfs2/glops.c
+++ b/fs/gfs2/glops.c
@@ -305,8 +305,9 @@ static void inode_go_inval(struct gfs2_glock *gl, int flags)
int data = (flags & DIO_DATA);
if (meta) {
+ struct gfs2_inode *ip = gl->gl_object;
gfs2_meta_inval(gl);
- gl->gl_vn++;
+ set_bit(GIF_INVALID, &ip->i_flags);
}
if (data)
gfs2_page_inval(gl);
@@ -351,7 +352,7 @@ static int inode_go_lock(struct gfs2_holder *gh)
if (!ip)
return 0;
- if (ip->i_vn != gl->gl_vn) {
+ if (test_bit(GIF_INVALID, &ip->i_flags)) {
error = gfs2_inode_refresh(ip);
if (error)
return error;