From: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> In case of a block device error, iomap code returns 0 as opposed to the amount of submitted I/O, which may have completed before the error occurred. Return the count of submitted I/O for correct accounting. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@xxxxxxxx> --- fs/iomap/direct-io.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/iomap/direct-io.c b/fs/iomap/direct-io.c index 23837926c0c5..a980b7b7660f 100644 --- a/fs/iomap/direct-io.c +++ b/fs/iomap/direct-io.c @@ -260,7 +260,7 @@ iomap_dio_bio_actor(struct inode *inode, loff_t pos, loff_t length, size_t n; if (dio->error) { iov_iter_revert(dio->submit.iter, copied); - copied = ret = 0; + ret = 0; goto out; } -- 2.24.1