• O
    qemu: Build command line for the new address format · c56fe7f1
    Osier Yang 提交于
    For any disk controller model which is not "lsilogic", the command
    line will be like:
    
      -drive file=/dev/sda,if=none,id=drive-scsi0-0-3-0,format=raw \
      -device scsi-disk,bus=scsi0.0,channel=0,scsi-id=3,lun=0,i\
      drive=drive-scsi0-0-3-0,id=scsi0-0-3-0
    
    The relationship between the libvirt address attrs and the qdev
    properties are (controller model is not "lsilogic"; strings
    inside <> represent libvirt adress attrs):
      bus=scsi<controller>.0
      channel=<bus>
      scsi-id=<target>
      lun=<unit>
    
    * src/qemu/qemu_command.h: (New param "virDomainDefPtr def"
      for function qemuBuildDriveDevStr; new param "virDomainDefPtr
      vmdef" for function qemuAssignDeviceDiskAlias. Both for
      virDomainDiskFindControllerModel's use).
    
    * src/qemu/qemu_command.c:
      - New param "virDomainDefPtr def" for qemuAssignDeviceDiskAliasCustom.
        For virDomainDiskFindControllerModel's use, if the disk bus is "scsi"
        and the controller model is not "lsilogic", "target" is one part of
        the alias name.
      - According change on qemuAssignDeviceDiskAlias and qemuBuildDriveDevStr
    
    * src/qemu/qemu_hotplug.c:
      - Changes to be consistent with declarations of qemuAssignDeviceDiskAlias
        qemuBuildDriveDevStr, and qemuBuildControllerDevStr.
    
    * tests/qemuxml2argvdata/qemuxml2argv-pseries-vio-user-assigned.args,
      tests/qemuxml2argvdata/qemuxml2argv-pseries-vio.args: Update the
      generated command line.
    c56fe7f1
qemu_hotplug.c 78.7 KB