summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
ada083c)
Signed-off-by: Jens Axboe <axboe@fb.com>
fifo = fifo_alloc(TRACE_FIFO_SIZE);
fifo = fifo_alloc(TRACE_FIFO_SIZE);
- old_state = td->runstate;
- td_set_runstate(td, TD_SETTING_UP);
+ old_state = td_bump_runstate(td, TD_SETTING_UP);
fifo_free(fifo);
close(fd);
fifo_free(fifo);
close(fd);
- td_set_runstate(td, old_state);
+ td_restore_runstate(td, old_state);
if (!td->files_index) {
log_err("fio: did not find replay device(s)\n");
if (!td->files_index) {
log_err("fio: did not find replay device(s)\n");
- old_runstate = td->runstate;
- td_set_runstate(td, TD_PRE_READING);
+ old_runstate = td_bump_runstate(td, TD_PRE_READING);
bs = td->o.max_bs[DDIR_READ];
b = malloc(bs);
bs = td->o.max_bs[DDIR_READ];
b = malloc(bs);
- td_set_runstate(td, old_runstate);
+ td_restore_runstate(td, old_runstate);
if (did_open)
td->io_ops->close_file(td, f);
if (did_open)
td->io_ops->close_file(td, f);
dprint(FD_FILE, "setup files\n");
dprint(FD_FILE, "setup files\n");
- old_state = td->runstate;
- td_set_runstate(td, TD_SETTING_UP);
+ old_state = td_bump_runstate(td, TD_SETTING_UP);
if (o->read_iolog_file)
goto done;
if (o->read_iolog_file)
goto done;
if (o->create_only)
td->done = 1;
if (o->create_only)
td->done = 1;
- td_set_runstate(td, old_state);
+ td_restore_runstate(td, old_state);
return 0;
err_offset:
log_err("%s: you need to specify valid offset=\n", o->name);
err_out:
return 0;
err_offset:
log_err("%s: you need to specify valid offset=\n", o->name);
err_out:
- td_set_runstate(td, old_state);
+ td_restore_runstate(td, old_state);
if (td->o.random_distribution == FIO_RAND_DIST_RANDOM)
return 0;
if (td->o.random_distribution == FIO_RAND_DIST_RANDOM)
return 0;
- state = td->runstate;
- td_set_runstate(td, TD_SETTING_UP);
+ state = td_bump_runstate(td, TD_SETTING_UP);
+
for_each_file(td, f, i)
__init_rand_distribution(td, f);
for_each_file(td, f, i)
__init_rand_distribution(td, f);
- td_set_runstate(td, state);
+
+ td_restore_runstate(td, state);
};
extern void td_set_runstate(struct thread_data *, int);
};
extern void td_set_runstate(struct thread_data *, int);
+extern int td_bump_runstate(struct thread_data *, int);
+extern void td_restore_runstate(struct thread_data *, int);
+
#define TERMINATE_ALL (-1)
extern void fio_terminate_threads(int);
#define TERMINATE_ALL (-1)
extern void fio_terminate_threads(int);
td->runstate = runstate;
}
td->runstate = runstate;
}
+int td_bump_runstate(struct thread_data *td, int new_state)
+{
+ int old_state = td->runstate;
+
+ td_set_runstate(td, new_state);
+ return old_state;
+}
+
+void td_restore_runstate(struct thread_data *td, int old_state)
+{
+ td_set_runstate(td, old_state);
+}
+
void fio_terminate_threads(int group_id)
{
struct thread_data *td;
void fio_terminate_threads(int group_id)
{
struct thread_data *td;