aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKinglong Mee <kinglongmee@gmail.com>2017-03-10 17:55:07 +0800
committerMoyster <oysterized@gmail.com>2017-05-21 18:38:24 +0200
commitebb493de15d39bf20207a9abf9593864f99f6c51 (patch)
treee9cab8d7d44b1be9f3710ef08a5ac09bd66f9482
parentb60657b1d4ec4b348b6f1e431dd19782cf1eb2db (diff)
downloadandroid_kernel_m2note-ebb493de15d39bf20207a9abf9593864f99f6c51.tar.gz
f2fs: move mnt_want_write_file after arguments checking
It's needless of mnt_want_write_file for arguments checking. Signed-off-by: Kinglong Mee <kinglongmee@gmail.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r--fs/f2fs/file.c44
1 files changed, 18 insertions, 26 deletions
diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index aca206a64..ba6770768 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -2069,45 +2069,37 @@ static int f2fs_ioc_defragment(struct file *filp, unsigned long arg)
if (!S_ISREG(inode->i_mode))
return -EINVAL;
- err = mnt_want_write_file(filp);
- if (err)
- return err;
-
- if (f2fs_readonly(sbi->sb)) {
- err = -EROFS;
- goto out;
- }
+ if (f2fs_readonly(sbi->sb))
+ return -EROFS;
if (copy_from_user(&range, (struct f2fs_defragment __user *)arg,
- sizeof(range))) {
- err = -EFAULT;
- goto out;
- }
+ sizeof(range)))
+ return -EFAULT;
/* verify alignment of offset & size */
- if (range.start & (F2FS_BLKSIZE - 1) ||
- range.len & (F2FS_BLKSIZE - 1)) {
- err = -EINVAL;
- goto out;
- }
+ if (range.start & (F2FS_BLKSIZE - 1) || range.len & (F2FS_BLKSIZE - 1))
+ return -EINVAL;
if (unlikely((range.start + range.len) >> PAGE_SHIFT >
- sbi->max_file_blocks)) {
- err = -EINVAL;
- goto out;
- }
+ sbi->max_file_blocks))
+ return -EINVAL;
+
+ err = mnt_want_write_file(filp);
+ if (err)
+ return err;
err = f2fs_defragment_range(sbi, filp, &range);
+ mnt_drop_write_file(filp);
+
f2fs_update_time(sbi, REQ_TIME);
if (err < 0)
- goto out;
+ return err;
if (copy_to_user((struct f2fs_defragment __user *)arg, &range,
sizeof(range)))
- err = -EFAULT;
-out:
- mnt_drop_write_file(filp);
- return err;
+ return -EFAULT;
+
+ return 0;
}
static int f2fs_move_file_range(struct file *file_in, loff_t pos_in,