X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=ioengines.c;h=51cf1ba40e13cd67549d552c1a879461cb383a83;hp=2969840706d18f75965c083c574531d9ff2fa7e0;hb=c592b9fe12d4739d99d5bece517e304804876df6;hpb=df9c26b10275a631e83e7cc92d5f7384998b2c49 diff --git a/ioengines.c b/ioengines.c index 29698407..51cf1ba4 100644 --- a/ioengines.c +++ b/ioengines.c @@ -17,6 +17,7 @@ #include #include "fio.h" +#include "diskutil.h" static FLIST_HEAD(engine_list); @@ -220,7 +221,7 @@ int td_io_queue(struct thread_data *td, struct io_u *io_u) assert((io_u->flags & IO_U_F_FLIGHT) == 0); io_u->flags |= IO_U_F_FLIGHT; - assert(io_u->file->flags & FIO_FILE_OPEN); + assert(fio_file_open(io_u->file)); io_u->error = 0; io_u->resid = 0; @@ -330,8 +331,9 @@ int td_io_open_file(struct thread_data *td, struct fio_file *f) } fio_file_reset(f); - f->flags |= FIO_FILE_OPEN; - f->flags &= ~FIO_FILE_CLOSING; + fio_file_set_open(f); + fio_file_clear_closing(f); + disk_util_inc(f->du); td->nr_open_files++; get_file(f); @@ -386,6 +388,7 @@ done: log_file(td, f, FIO_LOG_OPEN_FILE); return 0; err: + disk_util_dec(f->du); if (td->io_ops->close_file) td->io_ops->close_file(td, f); return 1; @@ -393,14 +396,15 @@ err: int td_io_close_file(struct thread_data *td, struct fio_file *f) { - if (!(f->flags & FIO_FILE_CLOSING)) + if (!fio_file_closing(f)) log_file(td, f, FIO_LOG_CLOSE_FILE); /* * mark as closing, do real close when last io on it has completed */ - f->flags |= FIO_FILE_CLOSING; + fio_file_set_closing(f); + disk_util_dec(f->du); unlock_file_all(td, f); return put_file(td, f);