diff options
author | Dan Carpenter <error27@gmail.com> | 2011-08-18 16:16:05 +0200 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2011-08-18 16:16:05 +0200 |
commit | 9a4327ca1f45f82edad7dc0a4e52ce9316e0950c (patch) | |
tree | 322aa21ccdd9a9aaeac28ccdb08ae1e1b5baeb12 /fs/btrfs/file.c | |
parent | btrfs: btrfs_permission's RO check shouldn't apply to device nodes (diff) | |
download | linux-9a4327ca1f45f82edad7dc0a4e52ce9316e0950c.tar.xz linux-9a4327ca1f45f82edad7dc0a4e52ce9316e0950c.zip |
btrfs: unlock on error in btrfs_file_llseek()
There were some unlocks on error missing in a recent patch to
btrfs_file_llseek().
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to '')
-rw-r--r-- | fs/btrfs/file.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c index 658d66959abe..f7d9df7f3fdd 100644 --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c @@ -1804,10 +1804,14 @@ static loff_t btrfs_file_llseek(struct file *file, loff_t offset, int origin) } } - if (offset < 0 && !(file->f_mode & FMODE_UNSIGNED_OFFSET)) - return -EINVAL; - if (offset > inode->i_sb->s_maxbytes) - return -EINVAL; + if (offset < 0 && !(file->f_mode & FMODE_UNSIGNED_OFFSET)) { + ret = -EINVAL; + goto out; + } + if (offset > inode->i_sb->s_maxbytes) { + ret = -EINVAL; + goto out; + } /* Special lock needed here? */ if (offset != file->f_pos) { |