GFS2: Misc fixes
authorSteven Whitehouse <swhiteho@redhat.com>
Mon, 19 Sep 2011 09:25:49 +0000 (10:25 +0100)
committerSteven Whitehouse <swhiteho@redhat.com>
Fri, 21 Oct 2011 11:39:51 +0000 (12:39 +0100)
Some items picked up through automated code analysis. A few bits
of unreachable code and two unchecked return values.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/lops.c
fs/gfs2/ops_fstype.c
fs/gfs2/quota.c

index de05b4d..0301be6 100644 (file)
@@ -695,8 +695,6 @@ static int databuf_lo_scan_elements(struct gfs2_jdesc *jd, unsigned int start,
 
                brelse(bh_log);
                brelse(bh_ip);
-               if (error)
-                       break;
 
                sdp->sd_replayed_blocks++;
        }
index 69166ff..7e823bb 100644 (file)
@@ -651,7 +651,6 @@ static int init_journal(struct gfs2_sbd *sdp, int undo)
                fs_err(sdp, "can't lookup journal index: %d\n", error);
                return PTR_ERR(sdp->sd_jindex);
        }
-       ip = GFS2_I(sdp->sd_jindex);
 
        /* Load in the journal index special file */
 
@@ -763,7 +762,6 @@ fail:
 static int init_inodes(struct gfs2_sbd *sdp, int undo)
 {
        int error = 0;
-       struct gfs2_inode *ip;
        struct inode *master = sdp->sd_master_dir->d_inode;
 
        if (undo)
@@ -788,7 +786,6 @@ static int init_inodes(struct gfs2_sbd *sdp, int undo)
                fs_err(sdp, "can't get resource index inode: %d\n", error);
                goto fail_statfs;
        }
-       ip = GFS2_I(sdp->sd_rindex);
        sdp->sd_rindex_uptodate = 0;
 
        /* Read in the quota inode */
index 10a59cd..7e528dc 100644 (file)
@@ -645,8 +645,11 @@ static int gfs2_adjust_quota(struct gfs2_inode *ip, loff_t loc,
        int err, nbytes;
        u64 size;
 
-       if (gfs2_is_stuffed(ip))
-               gfs2_unstuff_dinode(ip, NULL);
+       if (gfs2_is_stuffed(ip)) {
+               err = gfs2_unstuff_dinode(ip, NULL);
+               if (err)
+                       return err;
+       }
 
        memset(&q, 0, sizeof(struct gfs2_quota));
        err = gfs2_internal_read(ip, NULL, (char *)&q, &loc, sizeof(q));
@@ -927,7 +930,9 @@ int gfs2_quota_lock(struct gfs2_inode *ip, u32 uid, u32 gid)
        unsigned int x;
        int error = 0;
 
-       gfs2_quota_hold(ip, uid, gid);
+       error = gfs2_quota_hold(ip, uid, gid);
+       if (error)
+               return error;
 
        if (capable(CAP_SYS_RESOURCE) ||
            sdp->sd_args.ar_quota != GFS2_QUOTA_ON)