[RFC PATCH 0/3] Fix "virsh domfsinfo" on s390x (again)

My previous attempts to fix "virsh domfsinfo" on s390x were unfortunately wrong due to some misunderstandings on my side. To correctly list the "Target" device in the output of "virsh domfsinfo", we need to search through the available devices using their CCW address on s390x. For this the QEMU guest agent will be enhanced to also send the CCW address of devices in the guest (see the following URL for details: https://lore.kernel.org/qemu-devel/20201125105417.380317-1-thuth@redhat.com/ ... but it has just been posted and will take some time to get merged, since QEMU is still in hard freeze, that's why I've labed this libvirt series here as RFC only). Using this CCW address, we then can look up the correct target devices on the libvirt side, too. See also https://bugzilla.redhat.com/show_bug.cgi?id=1858771 for some more information. Thomas Huth (3): qemu: agent: Store CCW address in qemuAgentDiskInfo if provided by the guest domain_conf: Allow to look up virtio-block devices by their CCW address domain_conf: Allow to look up scsi disks when controller uses a CCW address src/conf/domain_conf.c | 33 ++++++++++++++++++++++++++++++++- src/conf/domain_conf.h | 4 ++++ src/qemu/qemu_agent.c | 11 +++++++++++ src/qemu/qemu_agent.h | 2 ++ src/qemu/qemu_driver.c | 8 +++++--- 5 files changed, 54 insertions(+), 4 deletions(-) -- 2.18.4

Newer versions of the QEMU guest agent will provide the CCW address of devices on s390x. Store this information in the qemuAgentDiskInfo so that we can use this later. We also map the CSSID 0 from the guest to the value 0xfe on the host, see https://www.qemu.org/docs/master/system/s390x/css.html for details. Signed-off-by: Thomas Huth <thuth@redhat.com> --- src/qemu/qemu_agent.c | 11 +++++++++++ src/qemu/qemu_agent.h | 2 ++ 2 files changed, 13 insertions(+) diff --git a/src/qemu/qemu_agent.c b/src/qemu/qemu_agent.c index 230253d404..d7ad20376c 100644 --- a/src/qemu/qemu_agent.c +++ b/src/qemu/qemu_agent.c @@ -1868,6 +1868,7 @@ qemuAgentGetFSInfoFillDisks(virJSONValuePtr jsondisks, for (i = 0; i < fsinfo->ndisks; i++) { virJSONValuePtr jsondisk = virJSONValueArrayGet(jsondisks, i); virJSONValuePtr pci; + virJSONValuePtr ccw; qemuAgentDiskInfoPtr disk; const char *val; @@ -1916,6 +1917,16 @@ qemuAgentGetFSInfoFillDisks(virJSONValuePtr jsondisks, GET_DISK_ADDR(pci, &disk->pci_controller.bus, "bus"); GET_DISK_ADDR(pci, &disk->pci_controller.slot, "slot"); GET_DISK_ADDR(pci, &disk->pci_controller.function, "function"); + + if ((ccw = virJSONValueObjectGet(jsondisk, "ccw-address"))) { + disk->has_ccw_address = true; + GET_DISK_ADDR(ccw, &disk->ccw_addr.cssid, "cssid"); + if (disk->ccw_addr.cssid == 0) /* Guest CSSID 0 is 0xfe on host */ + disk->ccw_addr.cssid = 0xfe; + GET_DISK_ADDR(ccw, &disk->ccw_addr.ssid, "ssid"); + GET_DISK_ADDR(ccw, &disk->ccw_addr.devno, "devno"); + } + #undef GET_DISK_ADDR } diff --git a/src/qemu/qemu_agent.h b/src/qemu/qemu_agent.h index 7cbab489ec..37b482f3b2 100644 --- a/src/qemu/qemu_agent.h +++ b/src/qemu/qemu_agent.h @@ -77,6 +77,8 @@ struct _qemuAgentDiskInfo { unsigned int target; unsigned int unit; char *devnode; + bool has_ccw_address; + virDomainDeviceCCWAddress ccw_addr; }; typedef struct _qemuAgentFSInfo qemuAgentFSInfo; -- 2.18.4

On Wed, 25 Nov 2020 12:06:46 +0100 Thomas Huth <thuth@redhat.com> wrote:
Newer versions of the QEMU guest agent will provide the CCW address of devices on s390x. Store this information in the qemuAgentDiskInfo so that we can use this later.
We also map the CSSID 0 from the guest to the value 0xfe on the host, see https://www.qemu.org/docs/master/system/s390x/css.html for details.
Signed-off-by: Thomas Huth <thuth@redhat.com> --- src/qemu/qemu_agent.c | 11 +++++++++++ src/qemu/qemu_agent.h | 2 ++ 2 files changed, 13 insertions(+)
(...)
@@ -1916,6 +1917,16 @@ qemuAgentGetFSInfoFillDisks(virJSONValuePtr jsondisks, GET_DISK_ADDR(pci, &disk->pci_controller.bus, "bus"); GET_DISK_ADDR(pci, &disk->pci_controller.slot, "slot"); GET_DISK_ADDR(pci, &disk->pci_controller.function, "function"); + + if ((ccw = virJSONValueObjectGet(jsondisk, "ccw-address"))) { + disk->has_ccw_address = true; + GET_DISK_ADDR(ccw, &disk->ccw_addr.cssid, "cssid"); + if (disk->ccw_addr.cssid == 0) /* Guest CSSID 0 is 0xfe on host */ + disk->ccw_addr.cssid = 0xfe;
This will be true for any guest that doesn't support MCSS-E. I don't see any MCSS-E enablement coming up in the foreseeable future (in fact, I get the impression that this feature is rather dead, and QEMU remains the only implementation anyway), so this should be fine.
+ GET_DISK_ADDR(ccw, &disk->ccw_addr.ssid, "ssid"); + GET_DISK_ADDR(ccw, &disk->ccw_addr.devno, "devno"); + } + #undef GET_DISK_ADDR }
(...)

On 11/25/20 12:06 PM, Thomas Huth wrote:
Newer versions of the QEMU guest agent will provide the CCW address of devices on s390x. Store this information in the qemuAgentDiskInfo so that we can use this later.
We also map the CSSID 0 from the guest to the value 0xfe on the host, see https://www.qemu.org/docs/master/system/s390x/css.html for details.
Signed-off-by: Thomas Huth <thuth@redhat.com> --- src/qemu/qemu_agent.c | 11 +++++++++++ src/qemu/qemu_agent.h | 2 ++ 2 files changed, 13 insertions(+)
diff --git a/src/qemu/qemu_agent.c b/src/qemu/qemu_agent.c index 230253d404..d7ad20376c 100644 --- a/src/qemu/qemu_agent.c +++ b/src/qemu/qemu_agent.c @@ -1868,6 +1868,7 @@ qemuAgentGetFSInfoFillDisks(virJSONValuePtr jsondisks, for (i = 0; i < fsinfo->ndisks; i++) { virJSONValuePtr jsondisk = virJSONValueArrayGet(jsondisks, i); virJSONValuePtr pci; + virJSONValuePtr ccw; qemuAgentDiskInfoPtr disk; const char *val;
@@ -1916,6 +1917,16 @@ qemuAgentGetFSInfoFillDisks(virJSONValuePtr jsondisks, GET_DISK_ADDR(pci, &disk->pci_controller.bus, "bus"); GET_DISK_ADDR(pci, &disk->pci_controller.slot, "slot"); GET_DISK_ADDR(pci, &disk->pci_controller.function, "function"); + + if ((ccw = virJSONValueObjectGet(jsondisk, "ccw-address"))) { + disk->has_ccw_address = true; + GET_DISK_ADDR(ccw, &disk->ccw_addr.cssid, "cssid"); + if (disk->ccw_addr.cssid == 0) /* Guest CSSID 0 is 0xfe on host */ + disk->ccw_addr.cssid = 0xfe; + GET_DISK_ADDR(ccw, &disk->ccw_addr.ssid, "ssid"); + GET_DISK_ADDR(ccw, &disk->ccw_addr.devno, "devno"); + } + #undef GET_DISK_ADDR }
diff --git a/src/qemu/qemu_agent.h b/src/qemu/qemu_agent.h index 7cbab489ec..37b482f3b2 100644 --- a/src/qemu/qemu_agent.h +++ b/src/qemu/qemu_agent.h @@ -77,6 +77,8 @@ struct _qemuAgentDiskInfo { unsigned int target; unsigned int unit; char *devnode; + bool has_ccw_address; + virDomainDeviceCCWAddress ccw_addr; };
typedef struct _qemuAgentFSInfo qemuAgentFSInfo;
I needed to rebase this, because earlier I've merged a patch from Marc-Andre that moved the internals of qemuAgentGetFSInfoFillDisks() into a separate function. Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Michal

On s390x, devices are attached to the channel IO subsytem by default, so we need to look up the devices via their CCW address there instead of using PCI. This fixes "virsh domfsinfo" on s390x for virtio-block devices (the first attempt from commit f8333b3b0a7 did it in the wrong way, reporting the device name on the guest side instead of the target name on the host side). Fixes: f8333b3b0a ("qemu: Fix domfsinfo for non-PCI device information ...") Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1858771 Signed-off-by: Thomas Huth <thuth@redhat.com> --- src/conf/domain_conf.c | 10 +++++++++- src/conf/domain_conf.h | 2 ++ src/qemu/qemu_driver.c | 8 +++++--- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 2393bf6a37..00c115d453 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -17598,6 +17598,7 @@ virDomainDiskControllerMatch(int controller_type, int disk_bus) int virDomainDiskIndexByAddress(virDomainDefPtr def, virPCIDeviceAddressPtr pci_address, + virDomainDeviceCCWAddressPtr ccw_addr, unsigned int bus, unsigned int target, unsigned int unit) { @@ -17614,6 +17615,11 @@ virDomainDiskIndexByAddress(virDomainDefPtr def, if (vdisk->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI && virPCIDeviceAddressEqual(&vdisk->info.addr.pci, pci_address)) return i; + if (vdisk->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW && + ccw_addr && + virDomainDeviceCCWAddressEqual(&vdisk->info.addr.ccw, ccw_addr)) { + return i; + } if (vdisk->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_DRIVE) { virDomainDeviceDriveAddressPtr drive = &vdisk->info.addr.drive; if (controller && @@ -17630,11 +17636,13 @@ virDomainDiskIndexByAddress(virDomainDefPtr def, virDomainDiskDefPtr virDomainDiskByAddress(virDomainDefPtr def, virPCIDeviceAddressPtr pci_address, + virDomainDeviceCCWAddressPtr ccw_addr, unsigned int bus, unsigned int target, unsigned int unit) { - int idx = virDomainDiskIndexByAddress(def, pci_address, bus, target, unit); + int idx = virDomainDiskIndexByAddress(def, pci_address, ccw_addr, + bus, target, unit); return idx < 0 ? NULL : def->disks[idx]; } diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 96e6c34553..b062b962bb 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -3342,10 +3342,12 @@ void virDomainRNGDefFree(virDomainRNGDefPtr def); int virDomainDiskIndexByAddress(virDomainDefPtr def, virPCIDeviceAddressPtr pci_controller, + virDomainDeviceCCWAddressPtr ccw_addr, unsigned int bus, unsigned int target, unsigned int unit); virDomainDiskDefPtr virDomainDiskByAddress(virDomainDefPtr def, virPCIDeviceAddressPtr pci_controller, + virDomainDeviceCCWAddressPtr ccw_addr, unsigned int bus, unsigned int target, unsigned int unit); diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index b69be1bedc..7324412708 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -18852,15 +18852,15 @@ qemuAgentFSInfoToPublic(qemuAgentFSInfoPtr agent, diskDef = virDomainDiskByAddress(vmdef, &agentdisk->pci_controller, + agentdisk->has_ccw_address ? + &agentdisk->ccw_addr : NULL, agentdisk->bus, agentdisk->target, agentdisk->unit); if (diskDef != NULL) ret->devAlias[i] = g_strdup(diskDef->dst); - else if (agentdisk->devnode != NULL) - ret->devAlias[i] = g_strdup(agentdisk->devnode); else - VIR_DEBUG("Missing devnode name for '%s'.", ret->mountpoint); + VIR_DEBUG("Missing target name for '%s'.", ret->mountpoint); } return ret; @@ -19903,6 +19903,8 @@ qemuAgentFSInfoFormatParams(qemuAgentFSInfoPtr *fsinfo, /* match the disk to the target in the vm definition */ diskdef = virDomainDiskByAddress(vmdef, &d->pci_controller, + d->has_ccw_address ? + &d->ccw_addr : NULL, d->bus, d->target, d->unit); -- 2.18.4

On Wed, 25 Nov 2020 12:06:47 +0100 Thomas Huth <thuth@redhat.com> wrote:
On s390x, devices are attached to the channel IO subsytem by default,
s/attached to the channel IO subsystem/accessed via the channel subsystem/
so we need to look up the devices via their CCW address there instead of using PCI.
This fixes "virsh domfsinfo" on s390x for virtio-block devices (the first attempt from commit f8333b3b0a7 did it in the wrong way, reporting the device name on the guest side instead of the target name on the host side).
Fixes: f8333b3b0a ("qemu: Fix domfsinfo for non-PCI device information ...") Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1858771 Signed-off-by: Thomas Huth <thuth@redhat.com> --- src/conf/domain_conf.c | 10 +++++++++- src/conf/domain_conf.h | 2 ++ src/qemu/qemu_driver.c | 8 +++++--- 3 files changed, 16 insertions(+), 4 deletions(-)
Keeping my limited libvirt knowledge in mind: Reviewed-by: Cornelia Huck <cohuck@redhat.com>

On 11/25/20 12:06 PM, Thomas Huth wrote:
On s390x, devices are attached to the channel IO subsytem by default, so we need to look up the devices via their CCW address there instead of using PCI.
This fixes "virsh domfsinfo" on s390x for virtio-block devices (the first attempt from commit f8333b3b0a7 did it in the wrong way, reporting the device name on the guest side instead of the target name on the host side).
Fixes: f8333b3b0a ("qemu: Fix domfsinfo for non-PCI device information ...") Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1858771
Nit pick, we tend to use Resolves: for bugs.
Signed-off-by: Thomas Huth <thuth@redhat.com> --- src/conf/domain_conf.c | 10 +++++++++- src/conf/domain_conf.h | 2 ++ src/qemu/qemu_driver.c | 8 +++++--- 3 files changed, 16 insertions(+), 4 deletions(-)
I've also needed to adapt one more call of virDomainDiskByAddress() because of yet another of Marc-Andre's patch I've merged :-) Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Michal

On s390x, devices are attached to the channel IO subsytem by default, so we need to look up scsi controllers via their CCW address there instead of using PCI. This fixes "virsh domfsinfo" on s390x for virtio-scsi devices (the first attempt from commit f8333b3b0a7 did it in the wrong way, reporting the device name on the guest side instead of the target name on the host side). Fixes: f8333b3b0a ("qemu: Fix domfsinfo for non-PCI device information ...") Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1858771 Signed-off-by: Thomas Huth <thuth@redhat.com> --- src/conf/domain_conf.c | 23 +++++++++++++++++++++++ src/conf/domain_conf.h | 2 ++ 2 files changed, 25 insertions(+) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 00c115d453..d617580fb3 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -17610,6 +17610,12 @@ virDomainDiskIndexByAddress(virDomainDefPtr def, if ((cidx = virDomainControllerFindByPCIAddress(def, pci_address)) >= 0) controller = def->controllers[cidx]; + if (!controller && ccw_addr) { + cidx = virDomainControllerFindByCCWAddress(def, ccw_addr); + if (cidx >= 0) + controller = def->controllers[cidx]; + } + for (i = 0; i < def->ndisks; i++) { vdisk = def->disks[i]; if (vdisk->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI && @@ -18239,6 +18245,23 @@ virDomainControllerFindByType(virDomainDefPtr def, return -1; } +int +virDomainControllerFindByCCWAddress(virDomainDefPtr def, + virDomainDeviceCCWAddressPtr addr) +{ + size_t i; + + for (i = 0; i < def->ncontrollers; i++) { + virDomainDeviceInfoPtr info = &def->controllers[i]->info; + + if (info->type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW && + virDomainDeviceCCWAddressEqual(&info->addr.ccw, addr)) + return i; + } + + return -1; +} + int virDomainControllerFindByPCIAddress(virDomainDefPtr def, virPCIDeviceAddressPtr addr) diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index b062b962bb..8619a85eb1 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -3428,6 +3428,8 @@ void virDomainControllerInsertPreAlloced(virDomainDefPtr def, virDomainControllerDefPtr controller); int virDomainControllerFind(const virDomainDef *def, int type, int idx); int virDomainControllerFindByType(virDomainDefPtr def, int type); +int virDomainControllerFindByCCWAddress(virDomainDefPtr def, + virDomainDeviceCCWAddressPtr addr); int virDomainControllerFindByPCIAddress(virDomainDefPtr def, virPCIDeviceAddressPtr addr); int virDomainControllerFindUnusedIndex(virDomainDef const *def, int type); -- 2.18.4

On Wed, 25 Nov 2020 12:06:48 +0100 Thomas Huth <thuth@redhat.com> wrote:
On s390x, devices are attached to the channel IO subsytem by default,
s/attached to the channel IO subsystem/accessed via the channel subsystem/
so we need to look up scsi controllers via their CCW address there instead of using PCI.
This fixes "virsh domfsinfo" on s390x for virtio-scsi devices (the first attempt from commit f8333b3b0a7 did it in the wrong way, reporting the device name on the guest side instead of the target name on the host side).
Fixes: f8333b3b0a ("qemu: Fix domfsinfo for non-PCI device information ...") Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1858771 Signed-off-by: Thomas Huth <thuth@redhat.com> --- src/conf/domain_conf.c | 23 +++++++++++++++++++++++ src/conf/domain_conf.h | 2 ++ 2 files changed, 25 insertions(+)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 00c115d453..d617580fb3 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -17610,6 +17610,12 @@ virDomainDiskIndexByAddress(virDomainDefPtr def, if ((cidx = virDomainControllerFindByPCIAddress(def, pci_address)) >= 0) controller = def->controllers[cidx];
+ if (!controller && ccw_addr) { + cidx = virDomainControllerFindByCCWAddress(def, ccw_addr); + if (cidx >= 0) + controller = def->controllers[cidx]; + }
Maybe if ((cidx = virDomainControllerFindByCCWAddress(def, ccw_addr)) >= 0) controller = def->controllers[cidx]; to match the pci case right above? (I find your way more readable, though.)
+ for (i = 0; i < def->ndisks; i++) { vdisk = def->disks[i]; if (vdisk->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI &&
(...) LGTM.

On 11/25/20 12:06 PM, Thomas Huth wrote:
On s390x, devices are attached to the channel IO subsytem by default, so we need to look up scsi controllers via their CCW address there instead of using PCI.
This fixes "virsh domfsinfo" on s390x for virtio-scsi devices (the first attempt from commit f8333b3b0a7 did it in the wrong way, reporting the device name on the guest side instead of the target name on the host side).
Fixes: f8333b3b0a ("qemu: Fix domfsinfo for non-PCI device information ...") Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1858771 Signed-off-by: Thomas Huth <thuth@redhat.com> --- src/conf/domain_conf.c | 23 +++++++++++++++++++++++ src/conf/domain_conf.h | 2 ++ 2 files changed, 25 insertions(+)
Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Michal

On 11/25/20 12:06 PM, Thomas Huth wrote:
My previous attempts to fix "virsh domfsinfo" on s390x were unfortunately wrong due to some misunderstandings on my side.
To correctly list the "Target" device in the output of "virsh domfsinfo", we need to search through the available devices using their CCW address on s390x.
For this the QEMU guest agent will be enhanced to also send the CCW address of devices in the guest (see the following URL for details: https://lore.kernel.org/qemu-devel/20201125105417.380317-1-thuth@redhat.com/ ... but it has just been posted and will take some time to get merged, since QEMU is still in hard freeze, that's why I've labed this libvirt series here as RFC only). Using this CCW address, we then can look up the correct target devices on the libvirt side, too.
See also https://bugzilla.redhat.com/show_bug.cgi?id=1858771 for some more information.
Thomas Huth (3): qemu: agent: Store CCW address in qemuAgentDiskInfo if provided by the guest domain_conf: Allow to look up virtio-block devices by their CCW address domain_conf: Allow to look up scsi disks when controller uses a CCW address
src/conf/domain_conf.c | 33 ++++++++++++++++++++++++++++++++- src/conf/domain_conf.h | 4 ++++ src/qemu/qemu_agent.c | 11 +++++++++++ src/qemu/qemu_agent.h | 2 ++ src/qemu/qemu_driver.c | 8 +++++--- 5 files changed, 54 insertions(+), 4 deletions(-)
Patches look good to me. However, I can't push them until QEMU patch is pushed. This is sort of unwritten rule that we learned the hard way (we pushed libvirt patches that were written on the top of QEMU patches, but in the end QEMU patches that were pushed looked different and we had to adapt). I'll keep these in a local branch and push after QEMU patch. Michal

On 10/12/2020 11.41, Michal Privoznik wrote:
On 11/25/20 12:06 PM, Thomas Huth wrote:
My previous attempts to fix "virsh domfsinfo" on s390x were unfortunately wrong due to some misunderstandings on my side.
To correctly list the "Target" device in the output of "virsh domfsinfo", we need to search through the available devices using their CCW address on s390x.
For this the QEMU guest agent will be enhanced to also send the CCW address of devices in the guest (see the following URL for details: https://lore.kernel.org/qemu-devel/20201125105417.380317-1-thuth@redhat.com/ ... but it has just been posted and will take some time to get merged, since QEMU is still in hard freeze, that's why I've labed this libvirt series here as RFC only). Using this CCW address, we then can look up the correct target devices on the libvirt side, too.
See also https://bugzilla.redhat.com/show_bug.cgi?id=1858771 for some more information.
Thomas Huth (3): qemu: agent: Store CCW address in qemuAgentDiskInfo if provided by the guest domain_conf: Allow to look up virtio-block devices by their CCW address domain_conf: Allow to look up scsi disks when controller uses a CCW address
src/conf/domain_conf.c | 33 ++++++++++++++++++++++++++++++++- src/conf/domain_conf.h | 4 ++++ src/qemu/qemu_agent.c | 11 +++++++++++ src/qemu/qemu_agent.h | 2 ++ src/qemu/qemu_driver.c | 8 +++++--- 5 files changed, 54 insertions(+), 4 deletions(-)
Patches look good to me. However, I can't push them until QEMU patch is pushed. This is sort of unwritten rule that we learned the hard way (we pushed libvirt patches that were written on the top of QEMU patches, but in the end QEMU patches that were pushed looked different and we had to adapt).
I'll keep these in a local branch and push after QEMU patch.
The QEMU patch has now been merged: https://git.qemu.org/?p=qemu.git;a=commitdiff;h=5b723a5d8df44b69 Could you now push your rebased version, or do you want me to respin a v4? Thanks, Thomas

On 1/2/21 6:53 AM, Thomas Huth wrote:
On 10/12/2020 11.41, Michal Privoznik wrote:
I'll keep these in a local branch and push after QEMU patch.
The QEMU patch has now been merged:
https://git.qemu.org/?p=qemu.git;a=commitdiff;h=5b723a5d8df44b69
Could you now push your rebased version, or do you want me to respin a v4?
Pushed upstream as: bf63f6549a domain_conf: Allow to look up scsi disks when controller uses a CCW address 5db43b5a76 domain_conf: Allow to look up virtio-block devices by their CCW address f5c8cf9e0e qemu: agent: Store CCW address in qemuAgentDiskInfo if provided by the guest Michal
participants (3)
-
Cornelia Huck
-
Michal Privoznik
-
Thomas Huth