[libvirt] [PATCH v2] virsh domxml-from-native to treat SCSI as the bus type for pseries by default

Shivaprasad bhat shivaprasadbhat at gmail.com
Thu Nov 14 09:11:19 UTC 2013


Thanks Cole.

The change is to correct the IDE disk type to SCSI on pseries systems for
domxml-from-native.

Here is the test case and results.

sh# cat cmd.txt
*qemu-system-ppc64 -M pseries -m 4096 -nographic -enable-kvm -hda
/data/images/rhel70.qcow2 -name rhel70 -cdrom
/data/iso/RHEL-7.0-20130306.0-Server-ppc64-dvd1.iso -boot d -vnc :30*

sh# ./run tools/*virsh domxml-from-native qemu-argv cmd.txt*
<domain type='kvm'>
  <name>rhel70</name>
  <uuid>eae019ae-a155-4dd8-be21-f9738b6aedea</uuid>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <os>
    <type arch='ppc64' machine='pseries'>hvm</type>
    <boot dev='cdrom'/>
  </os>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>qemu-system-ppc64</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/data/images/rhel70.qcow2'/>
*      <target dev='hda' bus='scsi'/>                    //----> ide is
changed to SCSI*
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/data/iso/RHEL-7.0-20130306.0-Server-ppc64-dvd1.iso'/>
*      <target dev='hdc' bus='scsi'/>                 //----> ide is
changed to SCSI*
      <readonly/>
      <address type='drive' controller='0' bus='1' target='0' unit='0'/>
    </disk>
  *  <controller type='scsi' index='0'/>             //----> Controller ide
also changed to SCSI*
    <controller type='usb' index='0'/>
    <controller type='pci' index='0' model='pci-root'/>
    <input type='mouse' bus='ps2'/>
    <graphics type='vnc' port='5930' autoport='no' listen=''>
      <listen type='address' address=''/>
    </graphics>
    <video>
      <model type='cirrus' vram='9216' heads='1'/>
    </video>
    <memballoon model='virtio'/>
  </devices>
</domain>
sh#

Regards,
Shiva



On Thu, Nov 14, 2013 at 3:02 AM, Cole Robinson <crobinso at redhat.com> wrote:

> On 11/13/2013 04:31 PM, Shivaprasad bhat wrote:
> > Hi Jan, Cole,
> >
> > Could you please reviewing my patch ?
> >
> > Thanks,
> > Shiva
> >
>
> I'd recommend adding a test case that demonstrates what exactly this is
> changing.
>
> - Cole
>
> >
> > On Wed, Oct 30, 2013 at 1:37 PM, Shivaprasad bhat <
> shivaprasadbhat at gmail.com
> > <mailto:shivaprasadbhat at gmail.com>> wrote:
> >
> >     Hi,
> >
> >     Could someone please help reviewing the patch ?
> >
> >     Thanks and Regards,
> >     Shiva
> >
> >
> >     On Mon, Oct 28, 2013 at 2:50 PM, Shivaprasad G Bhat
> >     <shivaprasadbhat at gmail.com <mailto:shivaprasadbhat at gmail.com>>
> wrote:
> >
> >         The bus type IDE being enum Zero, the bus type on pseries system
> >         appears as IDE for all the disk types. Pseries platform needs
> this to
> >         appear as SCSI instead of IDE.
> >
> >         Signed-off-by: Shivaprasad G Bhat <sbhat at linux.vnet.ibm.com
> >         <mailto:sbhat at linux.vnet.ibm.com>>
> >         ---
> >          src/qemu/qemu_domain.c |   11 +++++++++++
> >          1 file changed, 11 insertions(+)
> >
> >         diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
> >         index b8aec2d..df06c13 100644
> >         --- a/src/qemu/qemu_domain.c
> >         +++ b/src/qemu/qemu_domain.c
> >         @@ -827,6 +827,12 @@
> >         qemuDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
> >              if (dev->type == VIR_DOMAIN_DEVICE_DISK) {
> >                  virDomainDiskDefPtr disk = dev->data.disk;
> >
> >         +        if ((def->os.arch == VIR_ARCH_PPC64) &&
> >         +            def->os.machine && STREQ(def->os.machine,
> "pseries") &&
> >         +            (disk->bus == VIR_DOMAIN_DISK_BUS_IDE)) {
> >         +            disk->bus = VIR_DOMAIN_DISK_BUS_SCSI;
> >         +        }
> >         +
> >                  /* both of these require data from the driver config */
> >                  if (driver && (cfg = virQEMUDriverGetConfig(driver))) {
> >                      /* assign default storage format and driver
> according to
> >         config */
> >         @@ -868,6 +874,11 @@
> >         qemuDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
> >                  (def->os.arch == VIR_ARCH_S390 || def->os.arch ==
> >         VIR_ARCH_S390X))
> >                  dev->data.chr->targetType =
> >         VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_VIRTIO;
> >
> >         +    if (dev->type == VIR_DOMAIN_DEVICE_CONTROLLER &&
> >         +        dev->data.controller->type ==
> VIR_DOMAIN_CONTROLLER_TYPE_IDE &&
> >         +        def->os.machine && STREQ(def->os.machine, "pseries"))
> >         +        dev->data.controller->type =
> VIR_DOMAIN_CONTROLLER_TYPE_SCSI;
> >         +
> >              /* set the default USB model to none for s390 unless an
> address
> >         is found */
> >              if (dev->type == VIR_DOMAIN_DEVICE_CONTROLLER &&
> >                  dev->data.controller->type ==
> VIR_DOMAIN_CONTROLLER_TYPE_USB &&
> >
> >         --
> >         libvir-list mailing list
> >         libvir-list at redhat.com <mailto:libvir-list at redhat.com>
> >         https://www.redhat.com/mailman/listinfo/libvir-list
> >
> >
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20131114/d5980841/attachment-0001.htm>


More information about the libvir-list mailing list