OSDN Git Service

f2fs: remove redundant check in f2fs_file_write_iter()
authorChengguang Xu <cgxu519@gmx.com>
Tue, 23 Apr 2019 05:08:35 +0000 (13:08 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Thu, 9 May 2019 05:00:14 +0000 (22:00 -0700)
We have already checked flag IOCB_DIRECT in the sanity
check of flag IOCB_NOWAIT, so don't have to check it
again here.

Signed-off-by: Chengguang Xu <cgxu519@gmx.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/file.c

index 59ea9f5..6ace650 100644 (file)
@@ -2839,20 +2839,16 @@ static ssize_t f2fs_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
                if (iov_iter_fault_in_readable(from, iov_iter_count(from)))
                        set_inode_flag(inode, FI_NO_PREALLOC);
 
-               if ((iocb->ki_flags & IOCB_NOWAIT) &&
-                       (iocb->ki_flags & IOCB_DIRECT)) {
-                               if (!f2fs_overwrite_io(inode, iocb->ki_pos,
+               if ((iocb->ki_flags & IOCB_NOWAIT)) {
+                       if (!f2fs_overwrite_io(inode, iocb->ki_pos,
                                                iov_iter_count(from)) ||
-                                       f2fs_has_inline_data(inode) ||
-                                       f2fs_force_buffered_io(inode,
-                                                       iocb, from)) {
-                                               clear_inode_flag(inode,
-                                                               FI_NO_PREALLOC);
-                                               inode_unlock(inode);
-                                               ret = -EAGAIN;
-                                               goto out;
-                               }
-
+                               f2fs_has_inline_data(inode) ||
+                               f2fs_force_buffered_io(inode, iocb, from)) {
+                               clear_inode_flag(inode, FI_NO_PREALLOC);
+                               inode_unlock(inode);
+                               ret = -EAGAIN;
+                               goto out;
+                       }
                } else {
                        preallocated = true;
                        target_size = iocb->ki_pos + iov_iter_count(from);