Bug 1358665
| Summary: | [Q35] Disk which connected to pci bridge didn't be found in guest with q35 machine type | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | jingzhao <jinzhao> | ||||||
| Component: | qemu-kvm-rhev | Assignee: | Marcel Apfelbaum <marcel> | ||||||
| Status: | CLOSED NOTABUG | QA Contact: | jingzhao <jinzhao> | ||||||
| Severity: | low | Docs Contact: | |||||||
| Priority: | low | ||||||||
| Version: | 7.3 | CC: | chayang, jinzhao, juzhang, knoel, lersek, virt-maint, yduan, yiwei | ||||||
| Target Milestone: | rc | ||||||||
| Target Release: | --- | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Unspecified | ||||||||
| Whiteboard: | |||||||||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |||||||
| Doc Text: | Story Points: | --- | |||||||
| Clone Of: | Environment: | ||||||||
| Last Closed: | 2016-08-14 13:54:07 UTC | Type: | Bug | ||||||
| Regression: | --- | Mount Type: | --- | ||||||
| Documentation: | --- | CRM: | |||||||
| Verified Versions: | Category: | --- | |||||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||||
| Embargoed: | |||||||||
| Attachments: |
|
||||||||
Created attachment 1182400 [details]
The seabios log
Created attachment 1182401 [details]
the dmesg log of guest
As reported, this BZ is NOTABUG. The QEMU command line is incorrect.
Namely, in all of the failing cases, we have a nonzero PCI function number for the virtio-blk-pci device:
#0
-device virtio-blk-pci,bus=bridge2,drive=pci-block1,id=pciblock1,addr=0x6.1 \
#1
-device virtio-blk-pci,bus=bridge3,drive=pci-block3,id=pciblock3,addr=0x7.1 \
#2
-device virtio-blk-pci,bus=bridge4,drive=pci-block5,id=pciblock5,addr=0x8.1 \
However, a nonzero PCI function number can only be used if:
- function 0 of the same PCI device also exists, and
- the multifunction capability is advertised by function 0.
In practical terms, it means that
-device virtio-blk-pci,...,addr=0x6.1
will only work if some other
-device FOOBAR,...,addr=0x6.0,multifunction=on
^^^^^^^^^^^^^^^^^^^^^^^^^^^
option exists.
Multifunction is sometimes used to group 8 virtio-blk-pci devices into a single PCI device (using different function numbers). This allows for better density, but prevents independent hot-(un)plug.
Please repeat the original test either with "addr=0x6.0" (that is, changing the function number to 0), or with "addr=0x6.1" entirely removed. Thanks.
(In reply to Laszlo Ersek from comment #4) > As reported, this BZ is NOTABUG. The QEMU command line is incorrect. > > Namely, in all of the failing cases, we have a nonzero PCI function number > for the virtio-blk-pci device: > > #0 > -device virtio-blk-pci,bus=bridge2,drive=pci-block1,id=pciblock1,addr=0x6.1 \ > > #1 > -device virtio-blk-pci,bus=bridge3,drive=pci-block3,id=pciblock3,addr=0x7.1 \ > > #2 > -device virtio-blk-pci,bus=bridge4,drive=pci-block5,id=pciblock5,addr=0x8.1 \ > > However, a nonzero PCI function number can only be used if: > - function 0 of the same PCI device also exists, and > - the multifunction capability is advertised by function 0. > > In practical terms, it means that > > -device virtio-blk-pci,...,addr=0x6.1 > > will only work if some other > > -device FOOBAR,...,addr=0x6.0,multifunction=on > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > option exists. > > Multifunction is sometimes used to group 8 virtio-blk-pci devices into a > single PCI device (using different function numbers). This allows for better > density, but prevents independent hot-(un)plug. > > Please repeat the original test either with "addr=0x6.0" (that is, changing > the function number to 0), or with "addr=0x6.1" entirely removed. Thanks. As above metioned, I tried it with following command and it works 1) with "addr=0x6.0" /usr/libexec/qemu-kvm \ -M q35 \ -cpu SandyBridge \ -nodefaults -rtc base=utc \ -m 4G \ -smp 2,sockets=2,cores=1,threads=1 \ -enable-kvm \ -name rhel7.3 \ -uuid 990ea161-6b67-47b2-b803-19fb01d30d12 \ -smbios type=1,manufacturer='Red Hat',product='RHEV Hypervisor',version=el6,serial=koTUXQrb,uuid=feebc8fd-f8b0-4e75-abc3-e63fcdb67170 \ -k en-us \ -serial unix:/tmp/serial0,server,nowait \ -boot menu=on \ -bios /usr/share/seabios/bios.bin \ -chardev file,path=/home/seabios.log,id=seabios \ -device isa-debugcon,chardev=seabios,iobase=0x402 \ -qmp tcp::8887,server,nowait \ -vga qxl \ -spice port=5932,disable-ticketing \ -device ioh3420,id=root.0,slot=1 \ -drive file=/home/q35-seabios.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none,werror=stop,rerror=stop \ -device virtio-blk-pci,bus=root.0,drive=drive-virtio-disk0,id=virtio-disk0,disable-legacy=on,disable-modern=off,bootindex=1 \ -device i82801b11-bridge,bus=pcie.0,id=bridge1 \ -device pci-bridge,bus=bridge1,id=bridge2,chassis_nr=1 \ -drive file=/home/pci-block1.qcow2,if=none,id=pci-block1,format=qcow2,cache=none,werror=stop,rerror=stop \ -device virtio-blk-pci,bus=bridge2,drive=pci-block1,id=pciblock1 \ -device ioh3420,id=root.2,slot=3 \ -device virtio-net-pci,bus=root.2,netdev=tap10,mac=9a:6a:6b:6c:6d:6e,disable-legacy=on,disable-modern=off -netdev tap,id=tap10 \ -monitor stdio \ 2)with "addr=0x6.1" entirely removed, it didn't work QEMU 2.6.0 monitor - type 'help' for more information (qemu) qemu-kvm: -device virtio-blk-pci,bus=bridge2,drive=pci-block1,id=pciblock1: Unsupported PCI slot 0 for standard hotplug controller. Valid slots are between 1 and 31. So I think we can close bz Thanks Jing Zhao Laszlo and Jing, Thanks for all the help! Marcel |
Description of problem: Disk which connected to pci bridge didn't be found in guest with q35 machine type Version-Release number of selected component (if applicable): host kernel:3.10.0-470.el7.x86_64 qemu-kvm-rhev-2.6.0-14.el7.x86_64 seabios-1.9.1-4.el7.x86_64 guest kernel:3.10.0-470.el7.x86_64 How reproducible: 3/3 Steps to Reproduce: 1. Boot guest with following cli: /usr/libexec/qemu-kvm \ -M q35 \ -cpu SandyBridge \ -nodefaults -rtc base=utc \ -m 4G \ -smp 2,sockets=2,cores=1,threads=1 \ -enable-kvm \ -name rhel7.3 \ -uuid 990ea161-6b67-47b2-b803-19fb01d30d12 \ -smbios type=1,manufacturer='Red Hat',product='RHEV Hypervisor',version=el6,serial=koTUXQrb,uuid=feebc8fd-f8b0-4e75-abc3-e63fcdb67170 \ -k en-us \ -serial unix:/tmp/serial0,server,nowait \ -boot menu=on \ -bios /usr/share/seabios/bios.bin \ -chardev file,path=/home/seabios.log,id=seabios \ -device isa-debugcon,chardev=seabios,iobase=0x402 \ -qmp tcp::8887,server,nowait \ -vga qxl \ -spice port=5932,disable-ticketing \ -device ioh3420,id=root.0,slot=1 \ -drive file=/home/q35.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none,werror=stop,rerror=stop \ -device virtio-blk-pci,bus=root.0,drive=drive-virtio-disk0,id=virtio-disk0,disable-legacy=on,disable-modern=off,bootindex=1 \ -device i82801b11-bridge,bus=pcie.0,id=bridge1 \ -device pci-bridge,bus=bridge1,id=bridge2,chassis_nr=1 \ -drive file=/home/pci-block1.qcow2,if=none,id=pci-block1,format=qcow2,cache=none,werror=stop,rerror=stop \ -device virtio-blk-pci,bus=bridge2,drive=pci-block1,id=pciblock1,addr=0x6.1 \ -device ioh3420,id=root.2,slot=3 \ -device virtio-net-pci,bus=root.2,netdev=tap10,mac=9a:6a:6b:6c:6d:6e,disable-legacy=on,disable-modern=off -netdev tap,id=tap10 \ -monitor stdio \ 2. check the block info through hmp (qemu) info pci Bus 0, device 0, function 0: Host bridge: PCI device 8086:29c0 id "" Bus 0, device 1, function 0: VGA controller: PCI device 1b36:0100 IRQ 10. BAR0: 32 bit memory at 0xf4000000 [0xf7ffffff]. BAR1: 32 bit memory at 0xf8000000 [0xfbffffff]. BAR2: 32 bit memory at 0xfc810000 [0xfc811fff]. BAR3: I/O at 0xd040 [0xd05f]. BAR6: 32 bit memory at 0xffffffffffffffff [0x0000fffe]. id "" Bus 0, device 2, function 0: PCI bridge: PCI device 8086:3420 BUS 0. secondary bus 1. subordinate bus 1. IO range [0x1000, 0x1fff] memory range [0xfc600000, 0xfc7fffff] prefetchable memory range [0xfe000000, 0xfe7fffff] id "root.0" Bus 1, device 0, function 0: SCSI controller: PCI device 1af4:1042 IRQ 11. BAR1: 32 bit memory at 0xfc600000 [0xfc600fff]. BAR4: 64 bit prefetchable memory at 0xfe000000 [0xfe7fffff]. id "virtio-disk0" Bus 0, device 3, function 0: PCI bridge: PCI device 8086:244e BUS 0. secondary bus 2. subordinate bus 3. IO range [0xc000, 0xcfff] memory range [0xfc000000, 0xfc3fffff] prefetchable memory range [0xfe800000, 0xfe9fffff] id "bridge1" Bus 2, device 0, function 0: PCI bridge: PCI device 1b36:0001 IRQ 11. BUS 2. secondary bus 3. subordinate bus 3. IO range [0xc000, 0xcfff] memory range [0xfc000000, 0xfc1fffff] prefetchable memory range [0xfe800000, 0xfe9fffff] BAR0: 64 bit memory at 0xfc200000 [0xfc2000ff]. id "bridge2" Bus 3, device 6, function 1: SCSI controller: PCI device 1af4:1001 IRQ 0. BAR0: I/O at 0xffffffffffffffff [0x003e]. BAR1: 32 bit memory at 0xffffffffffffffff [0x00000ffe]. id "pciblock1" Bus 0, device 4, function 0: PCI bridge: PCI device 8086:3420 BUS 0. secondary bus 4. subordinate bus 4. IO range [0x2000, 0x2fff] memory range [0xfc400000, 0xfc5fffff] prefetchable memory range [0xfd800000, 0xfdffffff] id "root.2" Bus 4, device 0, function 0: Ethernet controller: PCI device 1af4:1041 IRQ 10. BAR1: 32 bit memory at 0xfc440000 [0xfc440fff]. BAR4: 64 bit prefetchable memory at 0xfd800000 [0xfdffffff]. BAR6: 32 bit memory at 0xffffffffffffffff [0x0003fffe]. id "" Bus 0, device 31, function 0: ISA bridge: PCI device 8086:2918 id "" Bus 0, device 31, function 2: SATA controller: PCI device 8086:2922 IRQ 10. BAR4: I/O at 0xd060 [0xd07f]. BAR5: 32 bit memory at 0xfc812000 [0xfc812fff]. id "" Bus 0, device 31, function 3: SMBus: PCI device 8086:2930 IRQ 10. BAR4: I/O at 0x0700 [0x073f]. id "" (qemu) info qtree bus: main-system-bus type System dev: kvm-ioapic, id "" gpio-in "" 24 gsi_base = 0 (0x0) mmio 00000000fec00000/0000000000001000 dev: q35-pcihost, id "" MCFG = 2952790016 (0xb0000000) pci-hole64-size = 0 (0 B) short_root_bus = 0 (0x0) bus: pcie.0 type PCIE dev: ioh3420, id "root.2" power_controller_present = true chassis = 0 (0x0) slot = 3 (0x3) port = 0 (0x0) aer_log_max = 8 (0x8) addr = 04.0 romfile = "" rombar = 1 (0x1) multifunction = false command_serr_enable = true class PCI bridge, addr 00:04.0, pci id 8086:3420 (sub 0000:0000) bus: root.2 type PCIE dev: virtio-net-pci, id "" ioeventfd = false vectors = 3 (0x3) virtio-pci-bus-master-bug-migration = false disable-legacy = true disable-modern = false migrate-extra = true modern-pio-notify = false x-disable-pcie = false addr = 00.0 romfile = "pxe-virtio.rom" rombar = 1 (0x1) multifunction = false command_serr_enable = true class Ethernet controller, addr 04:00.0, pci id 1af4:1041 (sub 1af4:1100) bar 1: mem at 0xfc440000 [0xfc440fff] bar 4: mem at 0xfd800000 [0xfdffffff] bar 6: mem at 0xffffffffffffffff [0x3fffe] bus: virtio-bus type virtio-pci-bus dev: virtio-net-device, id "" csum = true guest_csum = true gso = true guest_tso4 = true guest_tso6 = true guest_ecn = true guest_ufo = true guest_announce = true host_tso4 = true host_tso6 = true host_ecn = true host_ufo = true mrg_rxbuf = true status = true ctrl_vq = true ctrl_rx = true ctrl_vlan = true ctrl_rx_extra = true ctrl_mac_addr = true ctrl_guest_offloads = true mq = false mac = "9a:6a:6b:6c:6d:6e" vlan = <null> netdev = "tap10" x-txtimer = 150000 (0x249f0) x-txburst = 256 (0x100) tx = "" indirect_desc = true event_idx = true notify_on_empty = true any_layout = true dev: i82801b11-bridge, id "bridge1" addr = 03.0 romfile = "" rombar = 1 (0x1) multifunction = false command_serr_enable = true class PCI bridge, addr 00:03.0, pci id 8086:244e (sub 0000:0000) bus: bridge1 type PCI dev: pci-bridge, id "bridge2" chassis_nr = 1 (0x1) msi = true shpc = true addr = 00.0 romfile = "" rombar = 1 (0x1) multifunction = false command_serr_enable = true class PCI bridge, addr 02:00.0, pci id 1b36:0001 (sub 0000:0000) bar 0: mem at 0xfc200000 [0xfc2000ff] bus: bridge2 type PCI dev: virtio-blk-pci, id "pciblock1" class = 0 (0x0) ioeventfd = true vectors = 2 (0x2) virtio-pci-bus-master-bug-migration = false disable-legacy = false disable-modern = true migrate-extra = true modern-pio-notify = false x-disable-pcie = false addr = 06.1 romfile = "" rombar = 1 (0x1) multifunction = false command_serr_enable = true class SCSI controller, addr 03:06.1, pci id 1af4:1001 (sub 1af4:0002) bar 0: i/o at 0xffffffffffffffff [0x3e] bar 1: mem at 0xffffffffffffffff [0xffe] bus: virtio-bus type virtio-pci-bus dev: virtio-blk-device, id "" drive = "pci-block1" logical_block_size = 512 (0x200) physical_block_size = 512 (0x200) min_io_size = 0 (0x0) opt_io_size = 0 (0x0) discard_granularity = 4294967295 (0xffffffff) cyls = 2080 (0x820) heads = 16 (0x10) secs = 63 (0x3f) serial = "" config-wce = true scsi = false request-merging = true indirect_desc = true event_idx = true notify_on_empty = true any_layout = false dev: ioh3420, id "root.0" power_controller_present = true chassis = 0 (0x0) slot = 1 (0x1) port = 0 (0x0) aer_log_max = 8 (0x8) addr = 02.0 romfile = "" rombar = 1 (0x1) multifunction = false command_serr_enable = true class PCI bridge, addr 00:02.0, pci id 8086:3420 (sub 0000:0000) bus: root.0 type PCIE dev: virtio-blk-pci, id "virtio-disk0" class = 0 (0x0) ioeventfd = true vectors = 2 (0x2) virtio-pci-bus-master-bug-migration = false disable-legacy = true disable-modern = false migrate-extra = true modern-pio-notify = false x-disable-pcie = false addr = 00.0 romfile = "" rombar = 1 (0x1) multifunction = false command_serr_enable = true class SCSI controller, addr 01:00.0, pci id 1af4:1042 (sub 1af4:1100) bar 1: mem at 0xfc600000 [0xfc600fff] bar 4: mem at 0xfe000000 [0xfe7fffff] bus: virtio-bus type virtio-pci-bus dev: virtio-blk-device, id "" drive = "drive-virtio-disk0" logical_block_size = 512 (0x200) physical_block_size = 512 (0x200) min_io_size = 0 (0x0) opt_io_size = 0 (0x0) discard_granularity = 4294967295 (0xffffffff) cyls = 16383 (0x3fff) heads = 16 (0x10) secs = 63 (0x3f) serial = "" config-wce = true scsi = false request-merging = true indirect_desc = true event_idx = true notify_on_empty = true any_layout = true dev: qxl-vga, id "" ram_size = 67108864 (0x4000000) vram_size = 67108864 (0x4000000) revision = 4 (0x4) debug = 0 (0x0) guestdebug = 0 (0x0) cmdlog = 0 (0x0) ram_size_mb = 4294967295 (0xffffffff) vram_size_mb = 4294967295 (0xffffffff) vram64_size_mb = 4294967295 (0xffffffff) vgamem_mb = 16 (0x10) surfaces = 1024 (0x400) addr = 01.0 romfile = "vgabios-qxl.bin" rombar = 1 (0x1) multifunction = false command_serr_enable = true class VGA controller, addr 00:01.0, pci id 1b36:0100 (sub 1af4:1100) bar 0: mem at 0xf4000000 [0xf7ffffff] bar 1: mem at 0xf8000000 [0xfbffffff] bar 2: mem at 0xfc810000 [0xfc811fff] bar 3: i/o at 0xd040 [0xd05f] bar 6: mem at 0xffffffffffffffff [0xfffe] dev: ICH9 SMB, id "" addr = 1f.3 romfile = "" rombar = 1 (0x1) multifunction = true command_serr_enable = true class SMBus, addr 00:1f.3, pci id 8086:2930 (sub 1af4:1100) bar 4: i/o at 0x700 [0x73f] bus: i2c type i2c-bus dev: smbus-eeprom, id "" address = 87 (0x57) dev: smbus-eeprom, id "" address = 86 (0x56) dev: smbus-eeprom, id "" address = 85 (0x55) dev: smbus-eeprom, id "" address = 84 (0x54) dev: smbus-eeprom, id "" address = 83 (0x53) dev: smbus-eeprom, id "" address = 82 (0x52) dev: smbus-eeprom, id "" address = 81 (0x51) dev: smbus-eeprom, id "" address = 80 (0x50) dev: ich9-ahci, id "" addr = 1f.2 romfile = "" rombar = 1 (0x1) multifunction = true command_serr_enable = true class SATA controller, addr 00:1f.2, pci id 8086:2922 (sub 1af4:1100) bar 4: i/o at 0xd060 [0xd07f] bar 5: mem at 0xfc812000 [0xfc812fff] bus: ide.5 type IDE bus: ide.4 type IDE bus: ide.3 type IDE bus: ide.2 type IDE bus: ide.1 type IDE bus: ide.0 type IDE dev: ICH9-LPC, id "" noreboot = true addr = 1f.0 romfile = "" rombar = 1 (0x1) multifunction = true command_serr_enable = true class ISA bridge, addr 00:1f.0, pci id 8086:2918 (sub 1af4:1100) bus: isa.0 type ISA dev: isa-debugcon, id "" iobase = 1026 (0x402) chardev = "seabios" readback = 233 (0xe9) dev: i8257, id "" base = 192 (0xc0) page-base = 136 (0x88) pageh-base = -1 (0xffffffffffffffff) dshift = 1 (0x1) dev: i8257, id "" base = 0 (0x0) page-base = 128 (0x80) pageh-base = -1 (0xffffffffffffffff) dshift = 0 (0x0) dev: port92, id "" dev: vmmouse, id "" dev: vmport, id "" dev: i8042, id "" isa irqs 1,12 dev: isa-serial, id "" index = 0 (0x0) iobase = 1016 (0x3f8) irq = 4 (0x4) chardev = "serial0" wakeup = 0 (0x0) isa irq 4 dev: isa-pcspk, id "" iobase = 97 (0x61) dev: kvm-pit, id "" gpio-in "" 1 iobase = 64 (0x40) lost_tick_policy = "delay" dev: mc146818rtc, id "" base_year = 0 (0x0) lost_tick_policy = "discard" isa irq 8 dev: kvm-i8259, id "" iobase = 160 (0xa0) elcr_addr = 1233 (0x4d1) elcr_mask = 222 (0xde) master = false dev: kvm-i8259, id "" iobase = 32 (0x20) elcr_addr = 1232 (0x4d0) elcr_mask = 248 (0xf8) master = true dev: mch, id "" addr = 00.0 romfile = "" rombar = 1 (0x1) multifunction = false command_serr_enable = true class Host bridge, addr 00:00.0, pci id 8086:29c0 (sub 1af4:1100) dev: fw_cfg_io, id "" iobase = 1296 (0x510) dma_iobase = 1300 (0x514) dma_enabled = true dev: kvmclock, id "" dev: kvmvapic, id "" 3. Check the info of disk in guest [root@localhost home]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT vda 252:0 0 30G 0 disk ├─vda1 252:1 0 1G 0 part /boot └─vda2 252:2 0 29G 0 part ├─rhel-root 253:0 0 26G 0 lvm / └─rhel-swap 253:1 0 3G 0 lvm [SWAP] [root@localhost home]# lspci 00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller 00:01.0 VGA compatible controller: Red Hat, Inc. QXL paravirtual graphic card (rev 04) 00:02.0 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 0 (rev 02) 00:03.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92) 00:04.0 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 0 (rev 02) 00:1f.0 ISA bridge: Intel Corporation 82801IB (ICH9) LPC Interface Controller (rev 02) 00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (rev 02) 00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02) 01:00.0 SCSI storage controller: Red Hat, Inc Virtio block device (rev 01) 02:00.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge 04:00.0 Ethernet controller: Red Hat, Inc Virtio network device (rev 01) [root@localhost home]# lspci -vvv -t -[0000:00]-+-00.0 Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller +-01.0 Red Hat, Inc. QXL paravirtual graphic card +-02.0-[01]----00.0 Red Hat, Inc Virtio block device +-03.0-[02-03]----00.0-[03]-- +-04.0-[04]----00.0 Red Hat, Inc Virtio network device +-1f.0 Intel Corporation 82801IB (ICH9) LPC Interface Controller +-1f.2 Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] \-1f.3 Intel Corporation 82801I (ICH9 Family) SMBus Controller Actual results: Disk didn't be found in guest, but can be found through "info qtree" on hmp Expected results: Disk can be found in guest and can be work well Additional info: The seabios log and the dmesg log of guest please check the attachment Also try another two connected method and failed 1) -device ioh3420,id=root.3,slot=4 \ -device pci-bridge,bus=root.3,id=bridge3,chassis_nr=2 \ -drive file=/home/pci-block3.qcow2,if=none,id=pci-block3,format=qcow2,cache=none,werror=stop,rerror=stop \ -device virtio-blk-pci,bus=bridge3,drive=pci-block3,id=pciblock3,addr=0x7.1 \ -device virtio-scsi,bus=bridge3,id=scsi2,addr=0x7.2 \ -drive file=/home/pci-block4.raw,if=none,id=pci-block4,format=raw,cache=none,werror=stop,rerror=stop \ -device scsi-disk,bus=scsi2.0,drive=pci-block4,id=pciblock4 \ 2) -device ioh3420,id=root.4,slot=5 \ -device x3130-upstream,bus=root.4,id=upstream2 \ -device xio3130-downstream,bus=upstream2,id=downstream3,chassis=4 \ -device pci-bridge,bus=root.3,id=bridge4,chassis_nr=3 \ -drive file=/home/pci-block5.qcow2,if=none,id=pci-block5,format=qcow2,cache=none,werror=stop,rerror=stop \ -device virtio-blk-pci,bus=bridge4,drive=pci-block5,id=pciblock5,addr=0x8.1 \ -device virtio-scsi,bus=bridge4,id=scsi3,addr=0x8.2 \ -drive file=/home/pci-block6.raw,if=none,id=pci-block6,format=raw,cache=none,werror=stop,rerror=stop \ -device scsi-disk,bus=scsi3.0,drive=pci-block6,id=pciblock6 \