Loading fs/f2fs/data.c +9 −2 Original line number Diff line number Diff line Loading @@ -673,6 +673,9 @@ int f2fs_map_blocks(struct inode *inode, struct f2fs_map_blocks *map, err = reserve_new_block(&dn); } else { err = __allocate_data_block(&dn); if (!err) set_inode_flag(F2FS_I(inode), FI_APPEND_WRITE); } if (err) goto sync_out; Loading Loading @@ -1685,8 +1688,12 @@ static ssize_t f2fs_direct_IO(struct kiocb *iocb, struct iov_iter *iter, trace_f2fs_direct_IO_enter(inode, offset, count, iov_iter_rw(iter)); err = blockdev_direct_IO(iocb, inode, iter, offset, get_data_block_dio); if (err < 0 && iov_iter_rw(iter) == WRITE) if (iov_iter_rw(iter) == WRITE) { if (err > 0) set_inode_flag(F2FS_I(inode), FI_UPDATE_WRITE); else if (err < 0) f2fs_write_failed(mapping, offset + count); } trace_f2fs_direct_IO_exit(inode, offset, count, iov_iter_rw(iter), err); Loading Loading
fs/f2fs/data.c +9 −2 Original line number Diff line number Diff line Loading @@ -673,6 +673,9 @@ int f2fs_map_blocks(struct inode *inode, struct f2fs_map_blocks *map, err = reserve_new_block(&dn); } else { err = __allocate_data_block(&dn); if (!err) set_inode_flag(F2FS_I(inode), FI_APPEND_WRITE); } if (err) goto sync_out; Loading Loading @@ -1685,8 +1688,12 @@ static ssize_t f2fs_direct_IO(struct kiocb *iocb, struct iov_iter *iter, trace_f2fs_direct_IO_enter(inode, offset, count, iov_iter_rw(iter)); err = blockdev_direct_IO(iocb, inode, iter, offset, get_data_block_dio); if (err < 0 && iov_iter_rw(iter) == WRITE) if (iov_iter_rw(iter) == WRITE) { if (err > 0) set_inode_flag(F2FS_I(inode), FI_UPDATE_WRITE); else if (err < 0) f2fs_write_failed(mapping, offset + count); } trace_f2fs_direct_IO_exit(inode, offset, count, iov_iter_rw(iter), err); Loading