forked from Minki/linux
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:
commit
4dab75ec3e
fs/gfs2
@ -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);
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user