X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=ioengines.c;h=1a89ea7691ce7c7f82d71302e966c4377b27f0e9;hp=c1648a016ee29bcb46b7994b039cc1c652852e9d;hb=a978ba684deb758465a0ccb18a008797636e8054;hpb=640e94218b780e3d7b15758c760e59f3511f0933 diff --git a/ioengines.c b/ioengines.c index c1648a01..1a89ea76 100644 --- a/ioengines.c +++ b/ioengines.c @@ -260,13 +260,19 @@ int td_io_commit(struct thread_data *td) int td_io_open_file(struct thread_data *td, struct fio_file *f) { - if (!td->io_ops->open_file(td, f)) { - f->open = 1; - td->nr_open_files++; - return 0; - } + if (td->io_ops->open_file(td, f)) + return 1; - return 1; + f->last_free_lookup = 0; + f->last_completed_pos = 0; + f->last_pos = 0; + f->open = 1; + + if (f->file_map) + memset(f->file_map, 0, f->num_maps * sizeof(long)); + + td->nr_open_files++; + return 0; } void td_io_close_file(struct thread_data *td, struct fio_file *f)