diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-02-02 15:48:26 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-02-02 15:48:26 -0500 |
commit | 4dab75ec3ebf28583fc902ac946b287b5acdbcad (patch) | |
tree | 0f4d8c7b42bdf9f904a87c5ff13fb42e2ad43038 /fs | |
parent | 7fbcca25c0bf8679a751034f65428ff6291cd4ca (diff) | |
parent | ea8d62dadd0217334fb2c5d60e7f89e14076ca10 (diff) |
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
Diffstat (limited to 'fs')
-rw-r--r-- | fs/gfs2/ops_inode.c | 3 | ||||
-rw-r--r-- | fs/gfs2/rgrp.c | 8 |
2 files changed, 4 insertions, 7 deletions
diff --git a/fs/gfs2/ops_inode.c b/fs/gfs2/ops_inode.c index 78f73ca1ef3e..84350e1be66d 100644 --- a/fs/gfs2/ops_inode.c +++ b/fs/gfs2/ops_inode.c | |||
@@ -1088,7 +1088,8 @@ static void *gfs2_follow_link(struct dentry *dentry, struct nameidata *nd) | |||
1088 | error = vfs_follow_link(nd, buf); | 1088 | error = vfs_follow_link(nd, buf); |
1089 | if (buf != array) | 1089 | if (buf != array) |
1090 | kfree(buf); | 1090 | kfree(buf); |
1091 | } | 1091 | } else |
1092 | path_put(&nd->path); | ||
1092 | 1093 | ||
1093 | return ERR_PTR(error); | 1094 | return ERR_PTR(error); |
1094 | } | 1095 | } |
diff --git a/fs/gfs2/rgrp.c b/fs/gfs2/rgrp.c index 0608f490c295..503b842f3ba2 100644 --- a/fs/gfs2/rgrp.c +++ b/fs/gfs2/rgrp.c | |||
@@ -591,11 +591,7 @@ static int gfs2_ri_update(struct gfs2_inode *ip) | |||
591 | u64 rgrp_count = ip->i_disksize; | 591 | u64 rgrp_count = ip->i_disksize; |
592 | int error; | 592 | int error; |
593 | 593 | ||
594 | if (do_div(rgrp_count, sizeof(struct gfs2_rindex))) { | 594 | do_div(rgrp_count, sizeof(struct gfs2_rindex)); |
595 | gfs2_consist_inode(ip); | ||
596 | return -EIO; | ||
597 | } | ||
598 | |||
599 | clear_rgrpdi(sdp); | 595 | clear_rgrpdi(sdp); |
600 | 596 | ||
601 | file_ra_state_init(&ra_state, inode->i_mapping); | 597 | file_ra_state_init(&ra_state, inode->i_mapping); |
@@ -915,7 +911,7 @@ void gfs2_rgrp_repolish_clones(struct gfs2_rgrpd *rgd) | |||
915 | struct gfs2_alloc *gfs2_alloc_get(struct gfs2_inode *ip) | 911 | struct gfs2_alloc *gfs2_alloc_get(struct gfs2_inode *ip) |
916 | { | 912 | { |
917 | BUG_ON(ip->i_alloc != NULL); | 913 | BUG_ON(ip->i_alloc != NULL); |
918 | ip->i_alloc = kzalloc(sizeof(struct gfs2_alloc), GFP_KERNEL); | 914 | ip->i_alloc = kzalloc(sizeof(struct gfs2_alloc), GFP_NOFS); |
919 | return ip->i_alloc; | 915 | return ip->i_alloc; |
920 | } | 916 | } |
921 | 917 | ||