Recent changes (master)
Jens Axboe <[email protected]> Sun, 10 Aug 2025 06:00:01 -0600 (MDT)
| Newsgroups | org.kernel.vger.fio |
|---|---|
| Message-ID | <[email protected]> |
The following changes since commit f95cf49e1d2a8d2babb8aa385fb902d927533644:
crc: use ISA-L for crc64 NVMe if available (2025-08-07 10:54:04 -0400)
are available in the Git repository at:
git://git.kernel.dk/fio.git master
for you to fetch changes up to a52833b3295f0fae160eb3d4937a371756d6d929:
verify: bump up verify state file version (2025-08-09 08:27:59 -0600)
----------------------------------------------------------------
Shin'ichiro Kawasaki (2):
verify: fix write tracking in error cases
verify: bump up verify state file version
backend.c | 2 ++
io_u.c | 11 +++++++++--
verify-state.h | 2 +-
3 files changed, 12 insertions(+), 3 deletions(-)
---
Diff of recent changes:
diff --git a/backend.c b/backend.c
index 922309a0..858506c4 100644
--- a/backend.c
+++ b/backend.c
@@ -449,6 +449,7 @@ int io_queue_event(struct thread_data *td, struct io_u *io_u, int *ret,
case FIO_Q_COMPLETED:
if (io_u->error) {
*ret = -io_u->error;
+ invalidate_inflight(td, io_u);
clear_io_u(td, io_u);
} else if (io_u->resid) {
long long bytes = io_u->xfer_buflen - io_u->resid;
@@ -467,6 +468,7 @@ int io_queue_event(struct thread_data *td, struct io_u *io_u, int *ret,
if (!from_verify)
unlog_io_piece(td, io_u);
td_verror(td, EIO, "full resid");
+ invalidate_inflight(td, io_u);
clear_io_u(td, io_u);
break;
}
diff --git a/io_u.c b/io_u.c
index 6d0f32a8..78dbac9c 100644
--- a/io_u.c
+++ b/io_u.c
@@ -869,9 +869,16 @@ void put_io_u(struct thread_data *td, struct io_u *io_u)
__td_io_u_unlock(td);
}
+static inline void io_u_clear_inflight_flags(struct thread_data *td,
+ struct io_u *io_u)
+{
+ io_u_clear(td, io_u, IO_U_F_FLIGHT | IO_U_F_BUSY_OK |
+ IO_U_F_PATTERN_DONE);
+}
+
void clear_io_u(struct thread_data *td, struct io_u *io_u)
{
- io_u_clear(td, io_u, IO_U_F_FLIGHT);
+ io_u_clear_inflight_flags(td, io_u);
put_io_u(td, io_u);
}
@@ -2090,7 +2097,7 @@ static void io_completed(struct thread_data *td, struct io_u **io_u_ptr,
dprint_io_u(io_u, "complete");
assert(io_u->flags & IO_U_F_FLIGHT);
- io_u_clear(td, io_u, IO_U_F_FLIGHT | IO_U_F_BUSY_OK | IO_U_F_PATTERN_DONE);
+ io_u_clear_inflight_flags(td, io_u);
invalidate_inflight(td, io_u);
if (td->o.zone_mode == ZONE_MODE_ZBD && td->o.recover_zbd_write_error &&
diff --git a/verify-state.h b/verify-state.h
index c055008e..d8997ace 100644
--- a/verify-state.h
+++ b/verify-state.h
@@ -41,7 +41,7 @@ struct all_io_list {
struct thread_io_list state[0];
};
-#define VSTATE_HDR_VERSION 0x04
+#define VSTATE_HDR_VERSION 0x05
struct verify_state_hdr {
uint64_t version;