From: Alasdair Kergon Date: Fri, 23 Jan 2004 14:09:33 +0000 (+0000) Subject: Add event number arg to dmsetup wait. X-Git-Tag: v1_00_08~12 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=6d8a2f2ff6bb5f385d8686f75a3dec78014e7738;p=dm.git Add event number arg to dmsetup wait. --- diff --git a/dmsetup/dmsetup.c b/dmsetup/dmsetup.c index e04881c..b8ed05d 100644 --- a/dmsetup/dmsetup.c +++ b/dmsetup/dmsetup.c @@ -269,7 +269,7 @@ static int _version(int argc, char **argv, void *data) return r; } -static int _simple(int task, const char *name, int display) +static int _simple(int task, const char *name, uint32_t event_nr, int display) { int r = 0; @@ -282,6 +282,9 @@ static int _simple(int task, const char *name, int display) if (!dm_task_set_name(dmt, name)) goto out; + if (event_nr && !dm_task_set_event_nr(dmt, event_nr)) + goto out; + r = dm_task_run(dmt); if (r && display && _switches[VERBOSE_ARG]) @@ -294,32 +297,33 @@ static int _simple(int task, const char *name, int display) static int _remove_all(int argc, char **argv, void *data) { - return _simple(DM_DEVICE_REMOVE_ALL, "", 0); + return _simple(DM_DEVICE_REMOVE_ALL, "", 0, 0); } static int _remove(int argc, char **argv, void *data) { - return _simple(DM_DEVICE_REMOVE, argv[1], 0); + return _simple(DM_DEVICE_REMOVE, argv[1], 0, 0); } static int _suspend(int argc, char **argv, void *data) { - return _simple(DM_DEVICE_SUSPEND, argv[1], 1); + return _simple(DM_DEVICE_SUSPEND, argv[1], 0, 1); } static int _resume(int argc, char **argv, void *data) { - return _simple(DM_DEVICE_RESUME, argv[1], 1); + return _simple(DM_DEVICE_RESUME, argv[1], 0, 1); } static int _clear(int argc, char **argv, void *data) { - return _simple(DM_DEVICE_CLEAR, argv[1], 1); + return _simple(DM_DEVICE_CLEAR, argv[1], 0, 1); } static int _wait(int argc, char **argv, void *data) { - return _simple(DM_DEVICE_WAITEVENT, argv[1], 2); + return _simple(DM_DEVICE_WAITEVENT, argv[1], + (argc == 3) ? atoi(argv[2]) : 0, 1); } static int _process_mapper_dir(int argc, char **argv, @@ -606,7 +610,7 @@ static struct command _commands[] = { {"mknodes", "[]", 0, 1, _info}, {"status", "[]", 0, 1, _status}, {"table", "[]", 0, 1, _status}, - {"wait", "", 1, 1, _wait}, + {"wait", " []", 1, 2, _wait}, {"version", "", 0, 0, _version}, {NULL, NULL, 0, 0, NULL} };