diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2006-11-01 16:05:38 -0500 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2006-11-30 10:34:30 -0500 |
commit | bfded27ba010d1c3b0aa3843f97dc9b80de751be (patch) | |
tree | 55d0009b96ae00188fa4ab546cdcad5686a3fdde /fs/gfs2/glops.c | |
parent | a9583c7983cbba9726bfe64ee46613d654fc9e26 (diff) | |
download | lwn-bfded27ba010d1c3b0aa3843f97dc9b80de751be.tar.gz lwn-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.c | 5 |
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; |