From: Eric Biggers <ebigg...@google.com>

Replace 'if (ret > 0)' with 'if (ret <= 0) goto out_unlock;'.
No change in behavior.

Signed-off-by: Eric Biggers <ebigg...@google.com>
Signed-off-by: Jaegeuk Kim <jaeg...@kernel.org>
---
 fs/f2fs/file.c | 69 ++++++++++++++++++++++++++------------------------
 1 file changed, 36 insertions(+), 33 deletions(-)

diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c
index ec8de0662437..fdc440d212c3 100644
--- a/fs/f2fs/file.c
+++ b/fs/f2fs/file.c
@@ -4355,48 +4355,51 @@ static ssize_t f2fs_file_write_iter(struct kiocb *iocb, 
struct iov_iter *from)
        }
 
        ret = generic_write_checks(iocb, from);
-       if (ret > 0) {
-               if (iocb->ki_flags & IOCB_NOWAIT) {
-                       if (!f2fs_overwrite_io(inode, iocb->ki_pos,
-                                               iov_iter_count(from)) ||
+       if (ret <= 0)
+               goto out_unlock;
+
+       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)) {
-                               ret = -EAGAIN;
-                               goto out_unlock;
-                       }
-               }
-               if (iocb->ki_flags & IOCB_DIRECT) {
-                       ret = f2fs_convert_inline_inode(inode);
-                       if (ret)
-                               goto out_unlock;
-               }
-               /* Possibly preallocate the blocks for the write. */
-               target_size = iocb->ki_pos + iov_iter_count(from);
-               preallocated = f2fs_preallocate_blocks(iocb, from);
-               if (preallocated < 0) {
-                       ret = preallocated;
+                       ret = -EAGAIN;
                        goto out_unlock;
                }
+       }
 
-               ret = __generic_file_write_iter(iocb, from);
+       if (iocb->ki_flags & IOCB_DIRECT) {
+               ret = f2fs_convert_inline_inode(inode);
+               if (ret)
+                       goto out_unlock;
+       }
+       /* Possibly preallocate the blocks for the write. */
+       target_size = iocb->ki_pos + iov_iter_count(from);
+       preallocated = f2fs_preallocate_blocks(iocb, from);
+       if (preallocated < 0) {
+               ret = preallocated;
+               goto out_unlock;
+       }
 
-               /* Don't leave any preallocated blocks around past i_size. */
-               if (preallocated > 0 && i_size_read(inode) < target_size) {
-                       down_write(&F2FS_I(inode)->i_gc_rwsem[WRITE]);
-                       filemap_invalidate_lock(inode->i_mapping);
-                       if (!f2fs_truncate(inode))
-                               file_dont_truncate(inode);
-                       filemap_invalidate_unlock(inode->i_mapping);
-                       up_write(&F2FS_I(inode)->i_gc_rwsem[WRITE]);
-               } else {
+       ret = __generic_file_write_iter(iocb, from);
+
+       /* Don't leave any preallocated blocks around past i_size. */
+       if (preallocated > 0 && i_size_read(inode) < target_size) {
+               down_write(&F2FS_I(inode)->i_gc_rwsem[WRITE]);
+               filemap_invalidate_lock(inode->i_mapping);
+               if (!f2fs_truncate(inode))
                        file_dont_truncate(inode);
-               }
+               filemap_invalidate_unlock(inode->i_mapping);
+               up_write(&F2FS_I(inode)->i_gc_rwsem[WRITE]);
+       } else {
+               file_dont_truncate(inode);
+       }
 
-               clear_inode_flag(inode, FI_PREALLOCATED_ALL);
+       clear_inode_flag(inode, FI_PREALLOCATED_ALL);
+
+       if (ret > 0)
+               f2fs_update_iostat(F2FS_I_SB(inode), APP_WRITE_IO, ret);
 
-               if (ret > 0)
-                       f2fs_update_iostat(F2FS_I_SB(inode), APP_WRITE_IO, ret);
-       }
 out_unlock:
        inode_unlock(inode);
 out:
-- 
2.34.0.rc1.387.gb447b232ab-goog



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to