int status_interval = 0;
char *trigger_file = NULL;
-char *trigger_cmd = NULL;
long long trigger_timeout = 0;
+char *trigger_cmd = NULL;
+char *trigger_remote_cmd = NULL;
static int prev_group_jobs;
.val = 'L',
},
{
- .name = (char *) "trigger",
+ .name = (char *) "trigger-file",
.has_arg = required_argument,
.val = 'W',
},
.has_arg = required_argument,
.val = 'B',
},
+ {
+ .name = (char *) "trigger",
+ .has_arg = required_argument,
+ .val = 'H',
+ },
+ {
+ .name = (char *) "trigger-remote",
+ .has_arg = required_argument,
+ .val = 'J',
+ },
{
.name = NULL,
},
free_threads_shm();
}
+ free(trigger_file);
+ free(trigger_cmd);
+ free(trigger_remote_cmd);
+ trigger_file = trigger_cmd = trigger_remote_cmd = NULL;
+
options_free(fio_options, &def_thread);
fio_filelock_exit();
scleanup();
#ifdef CONFIG_ZLIB
printf(" --inflate-log=log\tInflate and output compressed log\n");
#endif
- printf(" --trigger=file:cmd\tExecute trigger cmd when file exists\n");
+ printf(" --trigger-file=file\tExecute trigger cmd when file exists\n");
printf(" --trigger-timeout=t\tExecute trigger af this time\n");
+ printf(" --trigger=cmd\t\tSet this command as local trigger\n");
+ printf(" --trigger-remote=cmd\tSet this command as remote trigger\n");
printf("\nFio was written by Jens Axboe <jens.axboe@oracle.com>");
printf("\n Jens Axboe <jaxboe@fusionio.com>");
printf("\n Jens Axboe <axboe@fb.com>\n");
status_interval = val / 1000;
break;
}
- case 'W': {
- char *split, *cmd;
- size_t sz;
-
- split = strchr(optarg, ':');
- if (!split) {
- log_err("fio: trigger is file:command\n");
- do_exit++;
- exit_val = 1;
- }
-
- sz = split - optarg;
- if (sz) {
- trigger_file = calloc(1, sz + 1);
- strncpy(trigger_file, optarg, sz);
- }
-
- split++;
- cmd = trigger_cmd = strdup(split);
- strip_blank_front(&trigger_cmd);
- strip_blank_end(trigger_cmd);
- if (strlen(trigger_cmd) == 0) {
- free(cmd);
- trigger_cmd = NULL;
- }
+ case 'W':
+ trigger_file = strdup(optarg);
+ break;
+ case 'H':
+ trigger_cmd = strdup(optarg);
+ break;
+ case 'J':
+ trigger_remote_cmd = strdup(optarg);
break;
- }
case 'B':
if (check_str_time(optarg, &trigger_timeout, 1)) {
log_err("fio: failed parsing time %s\n", optarg);