Fix USB support for Windows
resolves: rhbz#2090333 Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>
This commit is contained in:
parent
0c055286c8
commit
18ae9a9ae2
@ -14,6 +14,6 @@ index 91ff57278e..586de296f5 100644
|
|||||||
+++ b/VERSION
|
+++ b/VERSION
|
||||||
@@ -1 +1 @@
|
@@ -1 +1 @@
|
||||||
-7.1.0
|
-7.1.0
|
||||||
+105.0.0
|
+105.0.1
|
||||||
--
|
--
|
||||||
2.17.2
|
2.17.2
|
||||||
|
117
0002-qga-win-usb-support.patch
Normal file
117
0002-qga-win-usb-support.patch
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
From git@z Thu Jan 1 00:00:00 1970
|
||||||
|
Subject: [PATCH 1/2] qga:/qga-win: adding a empty PCI address creation function
|
||||||
|
From: Kfir Manor <kfir@daynix.com>
|
||||||
|
Date: Sun, 20 Nov 2022 16:00:43 +0200
|
||||||
|
Message-Id: <20221120140044.752503-2-kfir@daynix.com>
|
||||||
|
To: qemu-devel@nongnu.org, Konstantin Kostiuk <kkostiuk@redhat.com>, Michael Roth <michael.roth@amd.com>
|
||||||
|
Cc: Yan Vugenfirer <yan@daynix.com>
|
||||||
|
In-Reply-To: <20221120140044.752503-1-kfir@daynix.com>
|
||||||
|
References: <20221120140044.752503-1-kfir@daynix.com>
|
||||||
|
List-Id: <qemu-devel.nongnu.org>
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset="utf-8"
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Refactoring code to avoid duplication of creating an empty PCI address code.
|
||||||
|
|
||||||
|
Signed-off-by: Kfir Manor <kfir@daynix.com>
|
||||||
|
Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
|
||||||
|
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
||||||
|
---
|
||||||
|
qga/commands-win32.c | 20 +++++++++++++-------
|
||||||
|
1 file changed, 13 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/qga/commands-win32.c b/qga/commands-win32.c
|
||||||
|
index ec9f55b453..a645480496 100644
|
||||||
|
--- a/qga/commands-win32.c
|
||||||
|
+++ b/qga/commands-win32.c
|
||||||
|
@@ -599,6 +599,18 @@ static void get_pci_address_for_device(GuestPCIAddress *pci,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+static GuestPCIAddress *get_empty_pci_address(void)
|
||||||
|
+{
|
||||||
|
+ GuestPCIAddress *pci = NULL;
|
||||||
|
+
|
||||||
|
+ pci = g_malloc0(sizeof(*pci));
|
||||||
|
+ pci->domain = -1;
|
||||||
|
+ pci->slot = -1;
|
||||||
|
+ pci->function = -1;
|
||||||
|
+ pci->bus = -1;
|
||||||
|
+ return pci;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static GuestPCIAddress *get_pci_info(int number, Error **errp)
|
||||||
|
{
|
||||||
|
HDEVINFO dev_info = INVALID_HANDLE_VALUE;
|
||||||
|
@@ -608,13 +620,7 @@ static GuestPCIAddress *get_pci_info(int number, Error **errp)
|
||||||
|
SP_DEVICE_INTERFACE_DATA dev_iface_data;
|
||||||
|
HANDLE dev_file;
|
||||||
|
int i;
|
||||||
|
- GuestPCIAddress *pci = NULL;
|
||||||
|
-
|
||||||
|
- pci = g_malloc0(sizeof(*pci));
|
||||||
|
- pci->domain = -1;
|
||||||
|
- pci->slot = -1;
|
||||||
|
- pci->function = -1;
|
||||||
|
- pci->bus = -1;
|
||||||
|
+ GuestPCIAddress *pci = get_empty_pci_address();
|
||||||
|
|
||||||
|
dev_info = SetupDiGetClassDevs(&GUID_DEVINTERFACE_DISK, 0, 0,
|
||||||
|
DIGCF_PRESENT | DIGCF_DEVICEINTERFACE);
|
||||||
|
|
||||||
|
--
|
||||||
|
2.38.1
|
||||||
|
|
||||||
|
|
||||||
|
From git@z Thu Jan 1 00:00:00 1970
|
||||||
|
Subject: [PATCH 2/2] qga:/qga-win: skip getting pci info for USB disks
|
||||||
|
From: Kfir Manor <kfir@daynix.com>
|
||||||
|
Date: Sun, 20 Nov 2022 16:00:44 +0200
|
||||||
|
Message-Id: <20221120140044.752503-3-kfir@daynix.com>
|
||||||
|
To: qemu-devel@nongnu.org, Konstantin Kostiuk <kkostiuk@redhat.com>, Michael Roth <michael.roth@amd.com>
|
||||||
|
Cc: Yan Vugenfirer <yan@daynix.com>
|
||||||
|
In-Reply-To: <20221120140044.752503-1-kfir@daynix.com>
|
||||||
|
References: <20221120140044.752503-1-kfir@daynix.com>
|
||||||
|
List-Id: <qemu-devel.nongnu.org>
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset="utf-8"
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Skip getting PCI info from disks type USB and give them an empty PCI address instead.
|
||||||
|
|
||||||
|
Signed-off-by: Kfir Manor <kfir@daynix.com>
|
||||||
|
Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
|
||||||
|
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
|
||||||
|
---
|
||||||
|
qga/commands-win32.c | 12 ++++++++----
|
||||||
|
1 file changed, 8 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/qga/commands-win32.c b/qga/commands-win32.c
|
||||||
|
index a645480496..14c43b3de5 100644
|
||||||
|
--- a/qga/commands-win32.c
|
||||||
|
+++ b/qga/commands-win32.c
|
||||||
|
@@ -878,10 +878,14 @@ static void get_single_disk_info(int disk_number,
|
||||||
|
* if that doesn't hold since that suggests some other unexpected
|
||||||
|
* breakage
|
||||||
|
*/
|
||||||
|
- disk->pci_controller = get_pci_info(disk_number, &local_err);
|
||||||
|
- if (local_err) {
|
||||||
|
- error_propagate(errp, local_err);
|
||||||
|
- goto err_close;
|
||||||
|
+ if (disk->bus_type == GUEST_DISK_BUS_TYPE_USB) {
|
||||||
|
+ disk->pci_controller = get_empty_pci_address();
|
||||||
|
+ } else {
|
||||||
|
+ disk->pci_controller = get_pci_info(disk_number, &local_err);
|
||||||
|
+ if (local_err) {
|
||||||
|
+ error_propagate(errp, local_err);
|
||||||
|
+ goto err_close;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
if (disk->bus_type == GUEST_DISK_BUS_TYPE_SCSI
|
||||||
|
|| disk->bus_type == GUEST_DISK_BUS_TYPE_IDE
|
||||||
|
|
||||||
|
--
|
||||||
|
2.38.1
|
||||||
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
|||||||
%define ga_distro "RHEL"
|
%define ga_distro "RHEL"
|
||||||
|
|
||||||
Name: mingw-qemu-ga-win
|
Name: mingw-qemu-ga-win
|
||||||
Version: 105.0.0
|
Version: 105.0.1
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Qemus Guest agent for Windows
|
Summary: Qemus Guest agent for Windows
|
||||||
|
|
||||||
@ -19,6 +19,7 @@ Requires(postun): systemd-units
|
|||||||
Source0: http://wiki.qemu.org/download/qemu-%{qemu_version}.tar.bz2
|
Source0: http://wiki.qemu.org/download/qemu-%{qemu_version}.tar.bz2
|
||||||
|
|
||||||
Patch0001: 0001-Change-Version.patch
|
Patch0001: 0001-Change-Version.patch
|
||||||
|
Patch0002: 0002-qga-win-usb-support.patch
|
||||||
|
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
@ -42,6 +43,8 @@ BuildRequires: meson
|
|||||||
BuildRequires: ninja-build
|
BuildRequires: ninja-build
|
||||||
|
|
||||||
%description
|
%description
|
||||||
|
Qemu Guest Agent for Windows.
|
||||||
|
|
||||||
qemu-kvm is an open source virtualizer that provides hardware emulation for
|
qemu-kvm is an open source virtualizer that provides hardware emulation for
|
||||||
the KVM hypervisor.
|
the KVM hypervisor.
|
||||||
|
|
||||||
@ -50,11 +53,8 @@ with the host over a virtio-serial channel named "org.qemu.guest_agent.0"
|
|||||||
|
|
||||||
This package does not need to be installed on the host OS.
|
This package does not need to be installed on the host OS.
|
||||||
|
|
||||||
%package -n qemu-ga-win
|
|
||||||
Summary: %{summary}
|
Summary: %{summary}
|
||||||
|
|
||||||
%description -n qemu-ga-win
|
|
||||||
Qemu Guest Agent for Windows
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n qemu-%{qemu_version}
|
%setup -q -n qemu-%{qemu_version}
|
||||||
@ -107,12 +107,17 @@ mkdir -p $RPM_BUILD_ROOT%{mingw64_bindir}
|
|||||||
cp build/qga/qemu-ga-x86_64.msi $RPM_BUILD_ROOT%{mingw64_bindir}
|
cp build/qga/qemu-ga-x86_64.msi $RPM_BUILD_ROOT%{mingw64_bindir}
|
||||||
|
|
||||||
|
|
||||||
%files -n qemu-ga-win
|
%files
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%{mingw32_bindir}/qemu-ga*
|
%{mingw32_bindir}/qemu-ga*
|
||||||
%{mingw64_bindir}/qemu-ga*
|
%{mingw64_bindir}/qemu-ga*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Dec 6 2022 Konstantin Kostiuk <kkostiuk@redhat.com> 105.0.1
|
||||||
|
- Set version to 105.0.1
|
||||||
|
- Remove redundant package
|
||||||
|
- BZ#2090333 - [mingw-qemu-ga-win] qga command 'guest-get-fsinfo' can't query bus-type of USB
|
||||||
|
|
||||||
* Mon Oct 24 2022 Konstantin Kostiuk <kkostiuk@redhat.com> 105.0.0
|
* Mon Oct 24 2022 Konstantin Kostiuk <kkostiuk@redhat.com> 105.0.0
|
||||||
- Set version to 105.0.0
|
- Set version to 105.0.0
|
||||||
- BZ#2137262 - qemu-ga-win: Rebase qemu-ga to 7.1.0
|
- BZ#2137262 - qemu-ga-win: Rebase qemu-ga to 7.1.0
|
||||||
|
Loading…
Reference in New Issue
Block a user