static int finish_log(struct thread_data *td, struct io_log *log, int trylock) { if (td->tp_data) iolog_flush(log, 1); if (trylock) { if (fio_trylock_file(log->filename)) return 1; } else fio_lock_file(log->filename); if (td->client_type == FIO_CLIENT_TYPE_GUI) fio_send_iolog(td, log, log->filename); else flush_log(log); fio_unlock_file(log->filename); free_log(log); return 0; }
static int finish_log_named(struct thread_data *td, struct io_log *log, const char *prefix, const char *postfix, int trylock) { char file_name[256]; snprintf(file_name, sizeof(file_name), "%s_%s.log", prefix, postfix); if (trylock) { if (fio_trylock_file(file_name)) return 1; } else fio_lock_file(file_name); if (td->client_type == FIO_CLIENT_TYPE_GUI) { fio_send_iolog(td, log, file_name); free(log->log); free(log); } else __finish_log(log, file_name); fio_unlock_file(file_name); return 0; }