GFS2: d_splice_alias() can't return error
authorMiklos Szeredi <mszeredi@suse.cz>
Mon, 16 Sep 2013 12:52:00 +0000 (14:52 +0200)
committerSteven Whitehouse <swhiteho@redhat.com>
Tue, 17 Sep 2013 09:04:07 +0000 (10:04 +0100)
unless it was given an IS_ERR(inode), which isn't the case here.  So clean
up the unnecessary error handling in gfs2_create_inode().

This paves the way for real fixes (hence the stable Cc).

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Cc: stable@vger.kernel.org
fs/gfs2/inode.c

index 64915eeae5a7112f59256185a00a1cc9f3b2a193..6d7f976aa328139e8260115ee04e7e370424cecd 100644 (file)
@@ -584,7 +584,7 @@ static int gfs2_create_inode(struct inode *dir, struct dentry *dentry,
        if (!IS_ERR(inode)) {
                d = d_splice_alias(inode, dentry);
                error = 0;
-               if (file && !IS_ERR(d)) {
+               if (file) {
                        if (d == NULL)
                                d = dentry;
                        if (S_ISREG(inode->i_mode))
@@ -593,8 +593,6 @@ static int gfs2_create_inode(struct inode *dir, struct dentry *dentry,
                                error = finish_no_open(file, d);
                }
                gfs2_glock_dq_uninit(ghs);
-               if (IS_ERR(d))
-                       return PTR_ERR(d);
                return error;
        } else if (error != -ENOENT) {
                goto fail_gunlock;