qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 09/10] qga: added bus type and disk location pat


From: Denis V. Lunev
Subject: Re: [Qemu-devel] [PATCH 09/10] qga: added bus type and disk location path
Date: Fri, 19 Jun 2015 21:02:00 +0300
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.7.0

On 19/06/15 20:10, Eric Blake wrote:
On 06/19/2015 10:57 AM, Denis V. Lunev wrote:
From: Olga Krishtal <address@hidden>

According to Microsoft disk location path can be obtained via
IOCTL_SCSI_GET_ADDRESS. Unfortunately this ioctl can not be used for all
devices. There are certain bus types which could be obtained with this
API. Please refer to the following link for more details
https://technet.microsoft.com/en-us/library/ee851589(v=ws.10).aspx

Bus type could be obtained using IOCTL_STORAGE_QUERY_PROPERTY. Enum
STORAGE_BUS_TYPE describes all buses supported by OS.

Windows defines more bus types that Linux. Thus some values have been added
s/that/than/

to GuestDiskBusType.

Signed-off-by: Olga Krishtal <address@hidden>
Signed-off-by: Denis V. Lunev <address@hidden>
CC: Eric Blake <address@hidden>
CC: Michael Roth <address@hidden>
---
  qga/commands-win32.c | 127 ++++++++++++++++++++++++++++++++++++++++++++++++++-
  qga/qapi-schema.json |  15 +++++-
  2 files changed, 139 insertions(+), 3 deletions(-)

+static WinToLin buses[] = {
+    {BusTypeUnknown, GUEST_DISK_BUS_TYPE_UNKNOWN},
+    {BusTypeScsi, GUEST_DISK_BUS_TYPE_SCSI},
+    {BusTypeAtapi, GUEST_DISK_BUS_TYPE_IDE},
+    {BusTypeAta, GUEST_DISK_BUS_TYPE_IDE},
+    {BusType1394, GUEST_DISK_BUS_TYPE_1394},
+    {BusTypeSsa, GUEST_DISK_BUS_TYPE_SSA},
+    {BusTypeFibre, GUEST_DISK_BUS_TYPE_SSA},
+    {BusTypeUsb, GUEST_DISK_BUS_TYPE_USB},
+    {BusTypeRAID, GUEST_DISK_BUS_TYPE_RAID},
+#if (_WIN32_WINNT >= 0x0600)
+    {BusTypeiScsi, GUEST_DISK_BUS_TYPE_I_SCSI},
+    {BusTypeSas, GUEST_DISK_BUS_TYPE_SAS},
+    {BusTypeSata, GUEST_DISK_BUS_TYPE_SATA},
+    {BusTypeSd, GUEST_DISK_BUS_TYPE_SD},
+    {BusTypeMmc, GUEST_DISK_BUS_TYPE_MMC},
+    {BusTypeVirtual, GUEST_DISK_BUS_TYPE_VIRTUAL },
+    {BusTypeFileBackedVirtuaul, GUEST_DISK_BUS_TYPE_FBIRTUAL},
+    {BusTypeSpaces, GUEST_DISK_BUS_TYPE_SPACES}
+#endif
I'd use a trailing comma, so that future additions can be pure additions
rather than amending existing lines.


+++ b/qga/qapi-schema.json
@@ -711,6 +711,7 @@
  # @GuestDiskBusType
  #
  # An enumeration of bus type of disks
+# is devided a bit on Linux and Windows guest
  #
s/devided/divided/

  # @ide: IDE disks
  # @fdc: floppy disks
@@ -721,12 +722,22 @@
  # @uml: UML disks
  # @sata: SATA disks
  # @sd: SD cards
-#
+# @Unknown: Unknown bus type
+# @1394: Win IEEE 1394 bus type
+# @Ssa: Win SSA bus type
+# @Fibre: Win fiber channel bus type
+# @Raid: Win RAID bus type
+# @iScsi: Win iScsi bus type
+# @Sas: Win serial-attaches SCSI bus type
+# @Mmc: Win multimedia card (MMC) bus type
+# @Virtual: Win virtual bus type
+# @FB: Win file-backed bus type
  # Since: 2.2
Missing information about when elements were added: simplest (but
redundant) by adding '(since 2.4)' everywhere, or shorter (but might
cause grief down the road if we try to automate doc generation) by doing
something like:

# Since: 2.2; 'Unknown' and all later entries since 2.4

  ##
  { 'enum': 'GuestDiskBusType',
    'data': [ 'ide', 'fdc', 'scsi', 'virtio', 'xen', 'usb', 'uml', 'sata',
-            'sd' ] }
+            'sd', 'unknown', '1394','Ssa', 'fibre', 'RAID', 'iScsi', 'sas',
Uggh - '1394' is a purely numeric enum name.  Not the first time (so the
qapi generator allows it), but we considered blacklisting future
additions of it:
https://lists.gnu.org/archive/html/qemu-devel/2015-05/msg00229.html

no prob, we can change this to 'ieee1394', the rest here is clear, we'll
do that on Monday

Den



reply via email to

[Prev in Thread] Current Thread [Next in Thread]