[libvirt] [PATCH 1/2] Add VSCSI bus type and VSCSI controller type for pseries guest.

Paolo Bonzini pbonzini at redhat.com
Thu Jun 7 15:42:06 UTC 2012


Il 07/06/2012 00:45, Eric Blake ha scritto:
> It sounds like we need <disk> address structure to support more than
> just drive addressing, but to instead support a union of addressing
> based on the type='' attribute.

No, we don't.  The disk has a normal bus/target/unit address, like any
other SCSI disk.

>>>
>>> the address can be specified in the target.
>>>
>>>  <disk type='file' device='disk'>
>>>       <driver name='qemu' type='raw'/>
>>>       <source file='/path/file'/>
>>>       <target dev='sda' bus='scsi' address='spapr-vio'/>
> 
> No, I don't think you want address added to <target>, but...
> 
>>>       <address type='drive' controller='0' bus='0' unit='0' />
> 
> you instead want <address type='spapr-vio'/> to be something you add to
> your XML to force libvirt to then populate the remaining attributes and
> auto-instantiate the controller.

A simple

  <disk type='file' device='disk'>
       <driver name='qemu' type='raw'/>
       <source file='/path/file'/>
       <target dev='sda' bus='scsi'/>
       <address type='drive' controller='0' bus='0' unit='0' />
  </disk>

will do exactly what you want and add a default ibmvscsi controller.
More complex cases are handled with the controller element:

- giving a specific address to the controller:

  <controller type='scsi' model='ibmvscsi'>
       <address type='spapr-vio' ... />
  </disk>

- using a PCI controller even with an sPAPR machine:

  <controller type='scsi' model='virtio-scsi'>
       <address type='pci' ... />
  </disk>

- using both a vscsi and a PCI controller:

  <disk type='file' device='disk'>
       <driver name='qemu' type='raw'/>
       <source file='/path/file'/>
       <target dev='sda' bus='scsi'/>
       <address type='drive' controller='0' bus='0' unit='0' />
  </disk>
  <disk type='file' device='disk'>
       <driver name='qemu' type='raw'/>
       <source file='/path/file'/>
       <target dev='sdb' bus='scsi'/>
       <address type='drive' controller='1' bus='0' unit='0' />
  </disk>
  <controller type='scsi' model='ibmvscsi'/>
  <controller type='scsi' model='virtio-scsi'/>

(possibly with an spapr-vio and a pci address in the respective
controller elements).

Paolo




More information about the libvir-list mailing list