diff --git a/engines/io_uring.c b/engines/io_uring.c index 3a03ae3524..05ce27ebcf 100644 --- a/engines/io_uring.c +++ b/engines/io_uring.c @@ -499,7 +499,7 @@ static struct io_u *fio_ioring_cmd_event(struct thread_data *td, int event) io_u = (struct io_u *) (uintptr_t) cqe->user_data; if (cqe->res != 0) { - io_u->error = -cqe->res; + io_u->error = abs(cqe->res); return io_u; } else { io_u->error = 0; diff --git a/options.c b/options.c index f5d221c776..1dd60e8bb1 100644 --- a/options.c +++ b/options.c @@ -532,7 +532,11 @@ static int ignore_error_type(struct thread_data *td, enum error_type_bit etype, if (fname[0] == 'E') { error[i] = str2error(fname); } else { - error[i] = atoi(fname); + int base = 10; + if (!strncmp(fname, "0x", 2) || + !strncmp(fname, "0X", 2)) + base = 16; + error[i] = strtol(fname, NULL, base); if (error[i] < 0) error[i] = -error[i]; }