diff options
author | Steven Whitehouse <swhiteho@redhat.com> | 2006-11-08 15:45:46 -0500 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2006-11-30 10:34:52 -0500 |
commit | 9e2dbdac3df300516ffdd9a8631f23164d068a50 (patch) | |
tree | 088a7dce1a0cc678a80ca1609642e7e3ecacd4dd /fs/gfs2/glops.c | |
parent | e7c698d74fc9e0e76b3086062b0519df3601ff52 (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.c | 8 |
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 | /** |