From ba484df7d3f1f2fbe7bff63dc5c26564b4ff1b97 Mon Sep 17 00:00:00 2001 From: Steven Whitehouse Date: Tue, 8 Nov 2011 14:04:20 +0000 Subject: [PATCH] --- yaml --- r: 280330 b: refs/heads/master c: 87654896ca619ff64f94d3881d6bd0ec7b29e25f h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/gfs2/bmap.c | 3 --- trunk/fs/gfs2/file.c | 2 +- trunk/fs/gfs2/inode.c | 9 ++++++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index c849730e43c6..993893ce34bc 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: dfe4d34b39b80faff52489f950a18523da7581bf +refs/heads/master: 87654896ca619ff64f94d3881d6bd0ec7b29e25f diff --git a/trunk/fs/gfs2/bmap.c b/trunk/fs/gfs2/bmap.c index 41d494d79709..f6be14f9ec14 100644 --- a/trunk/fs/gfs2/bmap.c +++ b/trunk/fs/gfs2/bmap.c @@ -743,9 +743,6 @@ static int do_strip(struct gfs2_inode *ip, struct buffer_head *dibh, else if (ip->i_depth) revokes = sdp->sd_inptrs; - if (error) - return error; - memset(&rlist, 0, sizeof(struct gfs2_rgrp_list)); bstart = 0; blen = 0; diff --git a/trunk/fs/gfs2/file.c b/trunk/fs/gfs2/file.c index 46f6f9ac1ebc..6336bc6bf458 100644 --- a/trunk/fs/gfs2/file.c +++ b/trunk/fs/gfs2/file.c @@ -609,7 +609,7 @@ static int gfs2_fsync(struct file *file, loff_t start, loff_t end, struct inode *inode = mapping->host; int sync_state = inode->i_state & (I_DIRTY_SYNC|I_DIRTY_DATASYNC); struct gfs2_inode *ip = GFS2_I(inode); - int ret, ret1 = 0; + int ret = 0, ret1 = 0; if (mapping->nrpages) { ret1 = filemap_fdatawrite_range(mapping, start, end); diff --git a/trunk/fs/gfs2/inode.c b/trunk/fs/gfs2/inode.c index cfd4959b218c..377920d3c430 100644 --- a/trunk/fs/gfs2/inode.c +++ b/trunk/fs/gfs2/inode.c @@ -1037,12 +1037,14 @@ static int gfs2_unlink(struct inode *dir, struct dentry *dentry) struct buffer_head *bh; struct gfs2_holder ghs[3]; struct gfs2_rgrpd *rgd; - int error; + int error = -EROFS; gfs2_holder_init(dip->i_gl, LM_ST_EXCLUSIVE, 0, ghs); gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, ghs + 1); rgd = gfs2_blk2rgrpd(sdp, ip->i_no_addr); + if (!rgd) + goto out_inodes; gfs2_holder_init(rgd->rd_gl, LM_ST_EXCLUSIVE, 0, ghs + 2); @@ -1088,12 +1090,13 @@ static int gfs2_unlink(struct inode *dir, struct dentry *dentry) out_gunlock: gfs2_glock_dq(ghs + 2); out_rgrp: - gfs2_holder_uninit(ghs + 2); gfs2_glock_dq(ghs + 1); out_child: - gfs2_holder_uninit(ghs + 1); gfs2_glock_dq(ghs); out_parent: + gfs2_holder_uninit(ghs + 2); +out_inodes: + gfs2_holder_uninit(ghs + 1); gfs2_holder_uninit(ghs); return error; }