diff options
-rw-r--r-- | daemon/devsparts.c | 17 | ||||
-rw-r--r-- | generator/generator_actions.ml | 12 | ||||
-rw-r--r-- | src/MAX_PROC_NR | 2 |
3 files changed, 30 insertions, 1 deletions
diff --git a/daemon/devsparts.c b/daemon/devsparts.c index 8020fbe1..bd955da5 100644 --- a/daemon/devsparts.c +++ b/daemon/devsparts.c @@ -264,3 +264,20 @@ do_device_index (const char *device) reply_with_error ("device not found"); return ret; } + +int +do_nr_devices (void) +{ + char **devices; + size_t i; + + devices = do_list_devices (); + if (devices == NULL) + return -1; + + for (i = 0; devices[i] != NULL; ++i) + free (devices[i]); + free (devices); + + return (int) i; +} diff --git a/generator/generator_actions.ml b/generator/generator_actions.ml index 3c8f5976..e6219d17 100644 --- a/generator/generator_actions.ml +++ b/generator/generator_actions.ml @@ -7340,6 +7340,18 @@ for example as a string returned from C<guestfs_list_devices>. See also C<guestfs_list_devices>, C<guestfs_part_to_dev>."); + ("nr_devices", (RInt "nrdisks", [], []), 336, [], + [InitEmpty, Always, TestOutputInt ( + [["nr_devices"]], 4)], + "return number of whole block devices (disks) added", + "\ +This returns the number of whole block devices that were +added. This is the same as the number of devices that would +be returned if you called C<guestfs_list_devices>. + +To find out the maximum number of devices that could be added, +call C<guestfs_max_disks>."); + ] let all_functions = non_daemon_functions @ daemon_functions diff --git a/src/MAX_PROC_NR b/src/MAX_PROC_NR index 3d9988ad..e64f24d5 100644 --- a/src/MAX_PROC_NR +++ b/src/MAX_PROC_NR @@ -1 +1 @@ -335 +336 |