Turn io_u filled variable into a flag
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
diff --git a/io_u.c b/io_u.c
index dc4473b..88b2b9f 100644
--- a/io_u.c
+++ b/io_u.c
@@ -988,7 +988,7 @@
* 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;
}
}
diff --git a/ioengine.h b/ioengine.h
index b599b61..343b06f 100644
--- a/ioengine.h
+++ b/ioengine.h
@@ -8,6 +8,7 @@
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,
};
/*
@@ -43,19 +44,18 @@
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;
diff --git a/verify.c b/verify.c
index 73c1262..098c19b 100644
--- a/verify.c
+++ b/verify.c
@@ -30,20 +30,22 @@
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;
@@ -58,7 +60,7 @@
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;
}