Loading fs/f2fs/file.c +34 −30 Original line number Diff line number Diff line Loading @@ -4338,7 +4338,9 @@ static ssize_t f2fs_file_write_iter(struct kiocb *iocb, struct iov_iter *from) } ret = generic_write_checks(iocb, from); if (ret > 0) { if (ret <= 0) goto out_unlock; if (iocb->ki_flags & IOCB_NOWAIT) { if (!f2fs_overwrite_io(inode, iocb->ki_pos, iov_iter_count(from)) || Loading @@ -4348,6 +4350,7 @@ static ssize_t f2fs_file_write_iter(struct kiocb *iocb, struct iov_iter *from) goto out_unlock; } } if (iocb->ki_flags & IOCB_DIRECT) { ret = f2fs_convert_inline_inode(inode); if (ret) Loading @@ -4371,11 +4374,12 @@ static ssize_t f2fs_file_write_iter(struct kiocb *iocb, struct iov_iter *from) 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: inode_unlock(inode); out: Loading Loading
fs/f2fs/file.c +34 −30 Original line number Diff line number Diff line Loading @@ -4338,7 +4338,9 @@ static ssize_t f2fs_file_write_iter(struct kiocb *iocb, struct iov_iter *from) } ret = generic_write_checks(iocb, from); if (ret > 0) { if (ret <= 0) goto out_unlock; if (iocb->ki_flags & IOCB_NOWAIT) { if (!f2fs_overwrite_io(inode, iocb->ki_pos, iov_iter_count(from)) || Loading @@ -4348,6 +4350,7 @@ static ssize_t f2fs_file_write_iter(struct kiocb *iocb, struct iov_iter *from) goto out_unlock; } } if (iocb->ki_flags & IOCB_DIRECT) { ret = f2fs_convert_inline_inode(inode); if (ret) Loading @@ -4371,11 +4374,12 @@ static ssize_t f2fs_file_write_iter(struct kiocb *iocb, struct iov_iter *from) 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: inode_unlock(inode); out: Loading