]> sourceware.org Git - dm.git/commitdiff
Add event number arg to dmsetup wait.
authorAlasdair Kergon <agk@redhat.com>
Fri, 23 Jan 2004 14:09:33 +0000 (14:09 +0000)
committerAlasdair Kergon <agk@redhat.com>
Fri, 23 Jan 2004 14:09:33 +0000 (14:09 +0000)
dmsetup/dmsetup.c

index e04881c65dec6391d21f5e2b00035aa3f01b85df..b8ed05d394ae91f8074b131a4c4f1fa8986583c7 100644 (file)
@@ -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", "[<dev_name>]", 0, 1, _info},
        {"status", "[<dev_name>]", 0, 1, _status},
        {"table", "[<dev_name>]", 0, 1, _status},
-       {"wait", "<dev_name>", 1, 1, _wait},
+       {"wait", "<dev_name> [<event_nr>]", 1, 2, _wait},
        {"version", "", 0, 0, _version},
        {NULL, NULL, 0, 0, NULL}
 };
This page took 0.034129 seconds and 5 git commands to generate.