From 84abeef7d9f2f5cded36dcfc127b3f33db89ea57 Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Wed, 12 Aug 2020 11:48:15 -0600 Subject: [PATCH] io_u: calculate incremental residuals correctly We need to use the transfer buffer length for the residual calculation, otherwise multiple shorts on the same IO will not calculate the right value. Fixes: 5fff95436922 ("Add support for >= 4G block sizes") Signed-off-by: Jens Axboe --- io_u.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/io_u.c b/io_u.c index dbb0a6f8..2ef5acec 100644 --- a/io_u.c +++ b/io_u.c @@ -1977,7 +1977,7 @@ static void io_completed(struct thread_data *td, struct io_u **io_u_ptr, td->last_ddir = ddir; if (!io_u->error && ddir_rw(ddir)) { - unsigned long long bytes = io_u->buflen - io_u->resid; + unsigned long long bytes = io_u->xfer_buflen - io_u->resid; int ret; /* -- 2.25.1