Re: [PATCH 3/3] domain_conf: Allow to look up scsi disks when controller uses a CCW address

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

 



On Wed, 25 Nov 2020 12:06:48 +0100
Thomas Huth <thuth@xxxxxxxxxx> 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@xxxxxxxxxx>
> ---
>  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.




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux