Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes

* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:
  GFS2: Use GFP_NOFS for alloc structure
  GFS2: Fix previous patch
  GFS2: Don't withdraw on partial rindex entries
  GFS2: Fix refcnt leak on gfs2_follow_link() error path
This commit is contained in:
Linus Torvalds 2010-02-02 12:48:26 -08:00
commit 4dab75ec3e
2 changed files with 4 additions and 7 deletions

View File

@ -1088,7 +1088,8 @@ static void *gfs2_follow_link(struct dentry *dentry, struct nameidata *nd)
error = vfs_follow_link(nd, buf); error = vfs_follow_link(nd, buf);
if (buf != array) if (buf != array)
kfree(buf); kfree(buf);
} } else
path_put(&nd->path);
return ERR_PTR(error); return ERR_PTR(error);
} }

View File

@ -591,11 +591,7 @@ static int gfs2_ri_update(struct gfs2_inode *ip)
u64 rgrp_count = ip->i_disksize; u64 rgrp_count = ip->i_disksize;
int error; int error;
if (do_div(rgrp_count, sizeof(struct gfs2_rindex))) { do_div(rgrp_count, sizeof(struct gfs2_rindex));
gfs2_consist_inode(ip);
return -EIO;
}
clear_rgrpdi(sdp); clear_rgrpdi(sdp);
file_ra_state_init(&ra_state, inode->i_mapping); file_ra_state_init(&ra_state, inode->i_mapping);
@ -915,7 +911,7 @@ void gfs2_rgrp_repolish_clones(struct gfs2_rgrpd *rgd)
struct gfs2_alloc *gfs2_alloc_get(struct gfs2_inode *ip) struct gfs2_alloc *gfs2_alloc_get(struct gfs2_inode *ip)
{ {
BUG_ON(ip->i_alloc != NULL); BUG_ON(ip->i_alloc != NULL);
ip->i_alloc = kzalloc(sizeof(struct gfs2_alloc), GFP_KERNEL); ip->i_alloc = kzalloc(sizeof(struct gfs2_alloc), GFP_NOFS);
return ip->i_alloc; return ip->i_alloc;
} }