Bug 1358994

Summary: Reject to use same busNr to 2 pxb controllers
Product: Red Hat Enterprise Linux Advanced Virtualization Reporter: Yang Yang <yanyang>
Component: libvirtAssignee: Andrea Bolognani <abologna>
Status: CLOSED DEFERRED QA Contact: Meina Li <meili>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.0CC: dyuan, hhan, jsuchane, lmen, rbalakri, xuzhang
Target Milestone: rcKeywords: Triaged
Target Release: 8.0   
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: 2020-02-11 16:12:21 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:
Bug Depends On:    
Bug Blocks: 1401400    

Description Yang Yang 2016-07-22 04:25:46 UTC
Description of problem:
I have 2 pxb controllers in domain xml. I manually configure
the same value to their busNrs. Then I create the vm. Guest
paused w/o any prompt messages. 

Version-Release number of selected component (if applicable):
libvirt-2.0.0-2.el7.x86_64
qemu-kvm-rhev-2.6.0-13.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.set the same busNr to 2 pxb controllers
<controller type='pci' index='1' model='pci-expander-bus'>
      <model name='pxb'/>
      <target busNr='10'/>
    </controller>
<controller type='pci' index='2' model='pci-expander-bus'>
      <model name='pxb'/>
      <target busNr='10'/>
    </controller>

# virsh create vm1-pxb.xml

# virsh list
 Id    Name                           State
----------------------------------------------------
 24    vm1-pxb                        paused

2.
3.

Actual results:
Guest paused w/o any prompt messages

Expected results:
Libvirt should reject to use same busNr to 2 pxb controllers

Additional info:
Addressed qemu log here
2016-07-22T03:37:21.837390Z qemu-kvm: -device pxb,bus_nr=10,id=pci.2,bus=pci.0,addr=0xa: Bus 10 is already in use.

Comment 2 Yang Yang 2016-07-27 08:10:26 UTC
Laine,

I think libvirt should also reject to manually configure busNr(i) = existing busNr(j) +(-) 1. If busNr(i) = busNr(j) +1, the pxb(i) with busNr(j) does not have room for internal pci bridge, so any devices plugged into this pxb are not usable. If busNr(i) = busNr(j) -1, the pxb(i) with busNr(i) has the same problem as well

Comment 3 Laine Stump 2016-09-08 17:41:46 UTC
It's true that more validation is needed, but there wasn't time to do it for this release. Moving to 7.4

Comment 4 Laine Stump 2017-05-15 14:25:21 UTC
The three other BZes listed in "See also" are closely related, and can/should be fixed as a group.

Comment 6 Jaroslav Suchanek 2020-02-11 16:12:21 UTC
This bug was closed deferred as a result of bug triage.

Please reopen if you disagree and provide justification why this bug should
get enough priority. Most important would be information about impact on
customer or layered product. Please indicate requested target release.