aboutsummaryrefslogtreecommitdiffstats
path: root/fs/gfs2/ops_inode.c
diff options
context:
space:
mode:
authorSteven Whitehouse <swhiteho@redhat.com>2006-04-18 10:09:15 -0400
committerSteven Whitehouse <swhiteho@redhat.com>2006-04-18 10:09:15 -0400
commitfe1bdedc6c16adedc6fd3636185ea91596b1d6eb (patch)
tree4d68a40c1a2db670e71952003e5fb09a95123975 /fs/gfs2/ops_inode.c
parent4d8012b60e0f0e0217e65f67da7d97276d1824e9 (diff)
[GFS2] Use vmalloc() in dir code
When allocating memory to sort directory entries, use vmalloc() rather than kmalloc() since for larger directories, the required size can easily be graeter than the 128k maximum of kmalloc(). Also adding the first steps towards getting the AOP_TRUNCATED_PAGE return code get in the glock code by flagging all places where we request a glock and we are holding a page lock. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2/ops_inode.c')
-rw-r--r--fs/gfs2/ops_inode.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/gfs2/ops_inode.c b/fs/gfs2/ops_inode.c
index 1e2b709711ae..62a12a59d91b 100644
--- a/fs/gfs2/ops_inode.c
+++ b/fs/gfs2/ops_inode.c
@@ -742,8 +742,7 @@ static int gfs2_rename(struct inode *odir, struct dentry *odentry,
742 if (error) 742 if (error)
743 goto out_gunlock_q; 743 goto out_gunlock_q;
744 744
745 error = gfs2_trans_begin(sdp, 745 error = gfs2_trans_begin(sdp, sdp->sd_max_dirres +
746 sdp->sd_max_dirres +
747 al->al_rgd->rd_ri.ri_length + 746 al->al_rgd->rd_ri.ri_length +
748 4 * RES_DINODE + 4 * RES_LEAF + 747 4 * RES_DINODE + 4 * RES_LEAF +
749 RES_UNLINKED + RES_STATFS + 748 RES_UNLINKED + RES_STATFS +