diff options
author | Miklos Szeredi <mszeredi@suse.cz> | 2013-09-16 08:52:00 -0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2013-09-17 05:04:07 -0400 |
commit | 0d0d110720d7960b77c03c9f2597faaff4b484ae (patch) | |
tree | 1f244a7d2d2c3474bb215542265d79a51de07a4b /fs/gfs2 | |
parent | 272b98c6455f00884f0350f775c5342358ebb73f (diff) |
GFS2: d_splice_alias() can't return error
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
Diffstat (limited to 'fs/gfs2')
-rw-r--r-- | fs/gfs2/inode.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index 64915eeae5a7..6d7f976aa328 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c | |||
@@ -584,7 +584,7 @@ static int gfs2_create_inode(struct inode *dir, struct dentry *dentry, | |||
584 | if (!IS_ERR(inode)) { | 584 | if (!IS_ERR(inode)) { |
585 | d = d_splice_alias(inode, dentry); | 585 | d = d_splice_alias(inode, dentry); |
586 | error = 0; | 586 | error = 0; |
587 | if (file && !IS_ERR(d)) { | 587 | if (file) { |
588 | if (d == NULL) | 588 | if (d == NULL) |
589 | d = dentry; | 589 | d = dentry; |
590 | if (S_ISREG(inode->i_mode)) | 590 | if (S_ISREG(inode->i_mode)) |
@@ -593,8 +593,6 @@ static int gfs2_create_inode(struct inode *dir, struct dentry *dentry, | |||
593 | error = finish_no_open(file, d); | 593 | error = finish_no_open(file, d); |
594 | } | 594 | } |
595 | gfs2_glock_dq_uninit(ghs); | 595 | gfs2_glock_dq_uninit(ghs); |
596 | if (IS_ERR(d)) | ||
597 | return PTR_ERR(d); | ||
598 | return error; | 596 | return error; |
599 | } else if (error != -ENOENT) { | 597 | } else if (error != -ENOENT) { |
600 | goto fail_gunlock; | 598 | goto fail_gunlock; |