IO verification needs to open and grab a reference to a file
Otherwise it can disappear in midair.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/verify.c b/verify.c
index 46e610d..32e7a04 100644
--- a/verify.c
+++ b/verify.c
@@ -4,6 +4,7 @@
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
+#include <assert.h>
#include "fio.h"
@@ -171,6 +172,16 @@
io_u->offset = ipo->offset;
io_u->buflen = ipo->len;
io_u->file = ipo->file;
+
+ if ((io_u->file->flags & FIO_FILE_OPEN) == 0) {
+ int r = td_io_open_file(td, io_u->file);
+
+ if (r)
+ return 1;
+ }
+
+ get_file(ipo->file);
+ assert(io_u->file->flags & FIO_FILE_OPEN);
io_u->ddir = DDIR_READ;
io_u->xfer_buf = io_u->buf;
io_u->xfer_buflen = io_u->buflen;