summaryrefslogtreecommitdiffstats
path: root/discover/sysinfo.c
diff options
context:
space:
mode:
Diffstat (limited to 'discover/sysinfo.c')
-rw-r--r--discover/sysinfo.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/discover/sysinfo.c b/discover/sysinfo.c
index 0ac29c1..e8e6d52 100644
--- a/discover/sysinfo.c
+++ b/discover/sysinfo.c
@@ -139,3 +139,21 @@ void system_info_init(struct discover_server *s)
sysinfo = talloc_zero(server, struct system_info);
platform_get_sysinfo(sysinfo);
}
+
+/* Only reset device information. Platform information is static */
+void system_info_reinit(void)
+{
+ unsigned int i;
+
+ for (i = 0; i < sysinfo->n_blockdevs; i++)
+ talloc_free(sysinfo->blockdevs[i]);
+ talloc_free(sysinfo->blockdevs);
+ sysinfo->blockdevs = NULL;
+ sysinfo->n_blockdevs = 0;
+
+ for (i = 0; i < sysinfo->n_interfaces; i++)
+ talloc_free(sysinfo->interfaces[i]);
+ talloc_free(sysinfo->interfaces);
+ sysinfo->interfaces = NULL;
+ sysinfo->n_interfaces = 0;
+}
OpenPOWER on IntegriCloud