* Reset the buf_filled parameters so next time if the
* buffer is used for writes it is refilled.
*/
- io_u->buf_filled = 0;
+ io_u->flags &= ~IO_U_F_FILLED;
io_u->buf_filled_len = 0;
}
}
IO_U_F_FLIGHT = 1 << 1,
IO_U_F_FREE_DEF = 1 << 2,
IO_U_F_IN_CUR_DEPTH = 1 << 3,
+ IO_U_F_FILLED = 1 << 4,
};
/*
unsigned long buflen;
unsigned long long offset;
- /*
- * Parameters related to pre-filled buffers and
- * their size to handle variable block sizes.
- */
- int buf_filled;
- unsigned long buf_filled_len;
-
/*
* IO engine state, may be different from above when we get
* partial transfers / residual data counts
void *xfer_buf;
unsigned long xfer_buflen;
+ /*
+ * Parameter related to pre-filled buffers and
+ * their size to handle variable block sizes.
+ */
+ unsigned long buf_filled_len;
+
unsigned int resid;
unsigned int error;
fill_random_buf(p, len);
break;
case 1:
- if (io_u->buf_filled && io_u->buf_filled_len >= len) {
+ if ((io_u->flags & IO_U_F_FILLED) &&
+ io_u->buf_filled_len >= len) {
dprint(FD_VERIFY, "using already filled verify pattern b=0 len=%u\n", len);
return;
}
dprint(FD_VERIFY, "fill verify pattern b=0 len=%u\n", len);
memset(p, td->o.verify_pattern[0], len);
- io_u->buf_filled = 1;
+ io_u->flags |= IO_U_F_FILLED;
io_u->buf_filled_len = len;
break;
default: {
unsigned int i = 0, size = 0;
unsigned char *b = p;
- if (io_u->buf_filled && io_u->buf_filled_len >= len) {
+ if ((io_u->flags & IO_U_F_FILLED) &&
+ io_u->buf_filled_len >= len) {
dprint(FD_VERIFY, "using already filled verify pattern b=%d len=%u\n",
td->o.verify_pattern_bytes, len);
return;
memcpy(b+i, td->o.verify_pattern, size);
i += size;
}
- io_u->buf_filled = 1;
+ io_u->flags |= IO_U_F_FILLED;
io_u->buf_filled_len = len;
break;
}