aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/glops.c
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2006-11-08 15:45:46 -0500
committerSteven Whitehouse <swhiteho@redhat.com>2006-11-30 10:34:52 -0500
commit9e2dbdac3df300516ffdd9a8631f23164d068a50 (patch)
tree088a7dce1a0cc678a80ca1609642e7e3ecacd4dd /fs/gfs2/glops.c
parente7c698d74fc9e0e76b3086062b0519df3601ff52 (diff)
[GFS2] Remove gfs2_inode_attr_in
This function wasn't really doing the right thing. There was no need to update the inode size at this point and the updating of the i_blocks field has now been moved to the places where di_blocks is updated. A result of this patch and some those preceeding it is that unlocking a glock is now a much more efficient process, since there is no longer any requirement to copy data from the gfs2 inode into the vfs inode at this point. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/glops.c')
-rw-r--r--fs/gfs2/glops.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/fs/gfs2/glops.c b/fs/gfs2/glops.c
index 9c2033714b08..b92de0af0bf3 100644
--- a/fs/gfs2/glops.c
+++ b/fs/gfs2/glops.c
@@ -356,7 +356,6 @@ static int inode_go_lock(struct gfs2_holder *gh)
356 error = gfs2_inode_refresh(ip); 356 error = gfs2_inode_refresh(ip);
357 if (error) 357 if (error)
358 return error; 358 return error;
359 gfs2_inode_attr_in(ip);
360 } 359 }
361 360
362 if ((ip->i_di.di_flags & GFS2_DIF_TRUNC_IN_PROG) && 361 if ((ip->i_di.di_flags & GFS2_DIF_TRUNC_IN_PROG) &&
@@ -380,11 +379,8 @@ static void inode_go_unlock(struct gfs2_holder *gh)
380 struct gfs2_glock *gl = gh->gh_gl; 379 struct gfs2_glock *gl = gh->gh_gl;
381 struct gfs2_inode *ip = gl->gl_object; 380 struct gfs2_inode *ip = gl->gl_object;
382 381
383 if (ip == NULL) 382 if (ip)
384 return; 383 gfs2_meta_cache_flush(ip);
385 if (test_bit(GLF_DIRTY, &gl->gl_flags))
386 gfs2_inode_attr_in(ip);
387 gfs2_meta_cache_flush(ip);
388} 384}
389 385
390/** 386/**