All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Roth <michael.roth@amd.com>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org,
	"Tomáš Golembiovský" <tgolembi@redhat.com>,
	"Philippe Mathieu-Daudé" <philmd@redhat.com>,
	"Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: [PULL v2 05/12] qga: add command guest-get-disks
Date: Mon,  2 Nov 2020 19:11:27 -0600	[thread overview]
Message-ID: <20201103011134.887744-6-michael.roth@amd.com> (raw)
In-Reply-To: <20201103011134.887744-1-michael.roth@amd.com>

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>
---
 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
index 3bffee99d4..422144bcff 100644
--- a/qga/commands-posix.c
+++ b/qga/commands-posix.c
@@ -3051,3 +3051,9 @@ GuestDeviceInfoList *qmp_guest_get_devices(Error **errp)
 
     return NULL;
 }
+
+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 0c33d48aaa..f7bdd5a8b5 100644
--- a/qga/commands-win32.c
+++ b/qga/commands-win32.c
@@ -2458,3 +2458,9 @@ GuestDeviceInfoList *qmp_guest_get_devices(Error **errp)
     }
     return head;
 }
+
+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 fe10631e4c..e123a000be 100644
--- a/qga/qapi-schema.json
+++ b/qga/qapi-schema.json
@@ -865,6 +865,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.25.1



  parent reply	other threads:[~2020-11-03  1:36 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-03  1:11 [PULL v2 00/12] qemu-ga patch queue for soft-freeze Michael Roth
2020-11-03  1:11 ` [PULL v2 01/12] qga: Rename guest-get-devices return member 'address' to 'id' Michael Roth
2020-11-03  1:11 ` [PULL v2 02/12] qga: Use common time encoding for guest-get-devices 'driver-date' Michael Roth
2020-11-03  1:11 ` [PULL v2 03/12] qga-win: Fix guest-get-devices error API violations Michael Roth
2020-11-03  1:11 ` [PULL v2 04/12] qga: Flatten simple union GuestDeviceId Michael Roth
2020-11-03  1:11 ` Michael Roth [this message]
2020-11-03  1:11 ` [PULL v2 06/12] qga: add implementation of guest-get-disks for Linux Michael Roth
2020-11-03  1:11 ` [PULL v2 07/12] qga: add implementation of guest-get-disks for Windows Michael Roth
2020-11-03  1:11 ` [PULL v2 08/12] glib-compat: add g_unix_get_passwd_entry_qemu() Michael Roth
2020-11-03  1:11 ` [PULL v2 09/12] qga: add ssh-{add,remove}-authorized-keys Michael Roth
2020-11-03  1:11 ` [PULL v2 10/12] qga: add *reset argument to ssh-add-authorized-keys Michael Roth
2020-11-03  1:11 ` [PULL v2 11/12] meson: minor simplification Michael Roth
2020-11-03  1:11 ` [PULL v2 12/12] qga: add ssh-get-authorized-keys Michael Roth
2020-11-03  1:39 ` [PULL v2 00/12] qemu-ga patch queue for soft-freeze no-reply
2020-11-03  2:37 ` Michael Roth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201103011134.887744-6-michael.roth@amd.com \
    --to=michael.roth@amd.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=tgolembi@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.