X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=ioengines.c;h=433da604ae4af03daf9fc8b8d5a81b2097ed0362;hb=38c1392ef60367a29e25c2aba384de586288aa62;hp=e5fbcd432ce78fb847148383ad03016966aab88d;hpb=a871240086ca6bdc52f79d7459ed283c5a359299;p=fio.git diff --git a/ioengines.c b/ioengines.c index e5fbcd43..433da604 100644 --- a/ioengines.c +++ b/ioengines.c @@ -431,6 +431,14 @@ void td_io_commit(struct thread_data *td) int td_io_open_file(struct thread_data *td, struct fio_file *f) { + if (fio_file_closing(f)) { + /* + * Open translates to undo closing. + */ + fio_file_clear_closing(f); + get_file(f); + return 0; + } assert(!fio_file_open(f)); assert(f->fd == -1); assert(td->io_ops->open_file); @@ -540,11 +548,6 @@ int td_io_close_file(struct thread_data *td, struct fio_file *f) */ fio_file_set_closing(f); - disk_util_dec(f->du); - - if (td->o.file_lock_mode != FILE_LOCK_NONE) - unlock_file_all(td, f); - return put_file(td, f); }