f2fs: reduce indentation in f2fs_file_write_iter()
Replace 'if (ret > 0)' with 'if (ret <= 0) goto out_unlock;'. No change in behavior. Signed-off-by: Eric Biggers <ebiggers@google.com> Reviewed-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
committed by
Jaegeuk Kim
parent
3d697a4a6b
commit
b31bf0f96e
@@ -4338,44 +4338,48 @@ static ssize_t f2fs_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ret = generic_write_checks(iocb, from);
|
ret = generic_write_checks(iocb, from);
|
||||||
if (ret > 0) {
|
if (ret <= 0)
|
||||||
if (iocb->ki_flags & IOCB_NOWAIT) {
|
goto out_unlock;
|
||||||
if (!f2fs_overwrite_io(inode, iocb->ki_pos,
|
|
||||||
iov_iter_count(from)) ||
|
if (iocb->ki_flags & IOCB_NOWAIT) {
|
||||||
|
if (!f2fs_overwrite_io(inode, iocb->ki_pos,
|
||||||
|
iov_iter_count(from)) ||
|
||||||
f2fs_has_inline_data(inode) ||
|
f2fs_has_inline_data(inode) ||
|
||||||
f2fs_force_buffered_io(inode, iocb, from)) {
|
f2fs_force_buffered_io(inode, iocb, from)) {
|
||||||
ret = -EAGAIN;
|
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;
|
|
||||||
goto out_unlock;
|
goto out_unlock;
|
||||||
}
|
}
|
||||||
|
|
||||||
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);
|
|
||||||
f2fs_truncate(inode);
|
|
||||||
filemap_invalidate_unlock(inode->i_mapping);
|
|
||||||
up_write(&F2FS_I(inode)->i_gc_rwsem[WRITE]);
|
|
||||||
}
|
|
||||||
clear_inode_flag(inode, FI_PREALLOCATED_ALL);
|
|
||||||
|
|
||||||
if (ret > 0)
|
|
||||||
f2fs_update_iostat(F2FS_I_SB(inode), APP_WRITE_IO, ret);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
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);
|
||||||
|
f2fs_truncate(inode);
|
||||||
|
filemap_invalidate_unlock(inode->i_mapping);
|
||||||
|
up_write(&F2FS_I(inode)->i_gc_rwsem[WRITE]);
|
||||||
|
}
|
||||||
|
|
||||||
|
clear_inode_flag(inode, FI_PREALLOCATED_ALL);
|
||||||
|
|
||||||
|
if (ret > 0)
|
||||||
|
f2fs_update_iostat(F2FS_I_SB(inode), APP_WRITE_IO, ret);
|
||||||
|
|
||||||
out_unlock:
|
out_unlock:
|
||||||
inode_unlock(inode);
|
inode_unlock(inode);
|
||||||
out:
|
out:
|
||||||
|
Reference in New Issue
Block a user