summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--daemon/devsparts.c17
-rw-r--r--generator/generator_actions.ml12
-rw-r--r--src/MAX_PROC_NR2
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