2021-05-18 06:50:34 +00:00
|
|
|
From 58688d868656e77f67ea915544b0bb3bb60f33d8 Mon Sep 17 00:00:00 2001
|
2021-02-16 07:43:20 +00:00
|
|
|
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>
|
2021-05-18 06:50:34 +00:00
|
|
|
Date: Wed, 16 Dec 2020 16:06:11 -0500
|
|
|
|
Subject: [PATCH 10/14] qga: add command guest-get-disks
|
2021-02-16 07:43:20 +00:00
|
|
|
MIME-Version: 1.0
|
|
|
|
Content-Type: text/plain; charset=UTF-8
|
|
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
|
|
|
|
RH-Author: Marc-André Lureau <marcandre.lureau@redhat.com>
|
2021-05-18 06:50:34 +00:00
|
|
|
Message-id: <20201216160615.324213-7-marcandre.lureau@redhat.com>
|
|
|
|
Patchwork-id: 100475
|
|
|
|
O-Subject: [RHEL-8.4.0 qemu-kvm PATCH v2 06/10] qga: add command guest-get-disks
|
|
|
|
Bugzilla: 1859494
|
|
|
|
RH-Acked-by: Danilo de Paula <ddepaula@redhat.com>
|
|
|
|
RH-Acked-by: Sergio Lopez Pascual <slp@redhat.com>
|
|
|
|
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
|
2021-02-16 07:43:20 +00:00
|
|
|
|
|
|
|
From: Tomáš Golembiovský <tgolembi@redhat.com>
|
|
|
|
|
|
|
|
Add API and stubs for new guest-get-disks command.
|
|
|
|
|
|
|
|
The command guest-get-fsinfo can be used to list information about disks
|
|
|
|
and partitions but it is limited only to mounted disks with filesystem.
|
|
|
|
This new command should allow listing information about disks of the VM
|
|
|
|
regardles whether they are mounted or not. This can be usefull for
|
|
|
|
management applications for mapping virtualized devices or pass-through
|
|
|
|
devices to device names in the guest OS.
|
|
|
|
|
|
|
|
Signed-off-by: Tomáš Golembiovský <tgolembi@redhat.com>
|
|
|
|
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
|
|
|
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
|
|
Signed-off-by: Michael Roth <michael.roth@amd.com>
|
|
|
|
|
|
|
|
(cherry-picked from commit c27ea3f9ef7c7f29e55bde91879f8514abce9c38)
|
|
|
|
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
|
|
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
|
|
|
|
---
|
|
|
|
qga/commands-posix.c | 6 ++++++
|
|
|
|
qga/commands-win32.c | 6 ++++++
|
|
|
|
qga/qapi-schema.json | 31 +++++++++++++++++++++++++++++++
|
|
|
|
3 files changed, 43 insertions(+)
|
|
|
|
|
|
|
|
diff --git a/qga/commands-posix.c b/qga/commands-posix.c
|
2021-05-18 06:50:34 +00:00
|
|
|
index c86c87ed522..5095104afc0 100644
|
2021-02-16 07:43:20 +00:00
|
|
|
--- a/qga/commands-posix.c
|
|
|
|
+++ b/qga/commands-posix.c
|
2021-05-18 06:50:34 +00:00
|
|
|
@@ -3039,3 +3039,9 @@ GuestOSInfo *qmp_guest_get_osinfo(Error **errp)
|
2021-02-16 07:43:20 +00:00
|
|
|
|
|
|
|
return info;
|
|
|
|
}
|
|
|
|
+
|
|
|
|
+GuestDiskInfoList *qmp_guest_get_disks(Error **errp)
|
|
|
|
+{
|
|
|
|
+ error_setg(errp, QERR_UNSUPPORTED);
|
|
|
|
+ return NULL;
|
|
|
|
+}
|
|
|
|
diff --git a/qga/commands-win32.c b/qga/commands-win32.c
|
|
|
|
index 55ba5b263af..be63fa2b208 100644
|
|
|
|
--- a/qga/commands-win32.c
|
|
|
|
+++ b/qga/commands-win32.c
|
|
|
|
@@ -2234,3 +2234,9 @@ GuestOSInfo *qmp_guest_get_osinfo(Error **errp)
|
|
|
|
|
|
|
|
return info;
|
|
|
|
}
|
|
|
|
+
|
|
|
|
+GuestDiskInfoList *qmp_guest_get_disks(Error **errp)
|
|
|
|
+{
|
|
|
|
+ error_setg(errp, QERR_UNSUPPORTED);
|
|
|
|
+ return NULL;
|
|
|
|
+}
|
|
|
|
diff --git a/qga/qapi-schema.json b/qga/qapi-schema.json
|
|
|
|
index fb4605cc19c..22df375c92f 100644
|
|
|
|
--- a/qga/qapi-schema.json
|
|
|
|
+++ b/qga/qapi-schema.json
|
|
|
|
@@ -852,6 +852,37 @@
|
|
|
|
'bus': 'int', 'target': 'int', 'unit': 'int',
|
|
|
|
'*serial': 'str', '*dev': 'str'} }
|
|
|
|
|
|
|
|
+##
|
|
|
|
+# @GuestDiskInfo:
|
|
|
|
+#
|
|
|
|
+# @name: device node (Linux) or device UNC (Windows)
|
|
|
|
+# @partition: whether this is a partition or disk
|
|
|
|
+# @dependents: list of dependent devices; e.g. for LVs of the LVM this will
|
|
|
|
+# hold the list of PVs, for LUKS encrypted volume this will
|
|
|
|
+# contain the disk where the volume is placed. (Linux)
|
|
|
|
+# @address: disk address information (only for non-virtual devices)
|
|
|
|
+# @alias: optional alias assigned to the disk, on Linux this is a name assigned
|
|
|
|
+# by device mapper
|
|
|
|
+#
|
|
|
|
+# Since 5.2
|
|
|
|
+##
|
|
|
|
+{ 'struct': 'GuestDiskInfo',
|
|
|
|
+ 'data': {'name': 'str', 'partition': 'bool', 'dependents': ['str'],
|
|
|
|
+ '*address': 'GuestDiskAddress', '*alias': 'str'} }
|
|
|
|
+
|
|
|
|
+##
|
|
|
|
+# @guest-get-disks:
|
|
|
|
+#
|
|
|
|
+# Returns: The list of disks in the guest. For Windows these are only the
|
|
|
|
+# physical disks. On Linux these are all root block devices of
|
|
|
|
+# non-zero size including e.g. removable devices, loop devices,
|
|
|
|
+# NBD, etc.
|
|
|
|
+#
|
|
|
|
+# Since: 5.2
|
|
|
|
+##
|
|
|
|
+{ 'command': 'guest-get-disks',
|
|
|
|
+ 'returns': ['GuestDiskInfo'] }
|
|
|
|
+
|
|
|
|
##
|
|
|
|
# @GuestFilesystemInfo:
|
|
|
|
#
|
|
|
|
--
|
|
|
|
2.27.0
|
|
|
|
|