Bug 1056354

Summary: seabios can not recognize system disk with more than 1 downstream
Product: Red Hat Enterprise Linux 7 Reporter: Jun Li <juli>
Component: seabiosAssignee: Gerd Hoffmann <kraxel>
Status: CLOSED DUPLICATE QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0CC: flang, hhuang, huding, juzhang, michen, qiguo, rhod, shu, virt-maint, xfu
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-01-23 15:07:31 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:
Description Flags
seabios sreenshot (1-downstream)
none
seabios sreenshot (2-downstream)
none
seabios.log none

Description Jun Li 2014-01-22 03:16:30 UTC
Description of problem:
scenario 1:
Boot two upstreams
1 upstream bridge + 2 downstream behind it
--
Seabios can not recognize system disk, only recognize the data disks under downstream. see the attached screenshot of seabios.

scenario 2:
Boot two upstreams
1 upstream bridge + 1 downstream behind it
--
Seabios can recognize system disk, and can boot guest successfully. see the attached screenshot of seabios.


Version-Release number of selected component (if applicable):
seabios-1.7.2.2-10.el7.x86_64
qemu-kvm-rhev-1.5.3-37.el7.x86_64
3.10.0-67.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.boot guest with 4151115-script.sh script.
# sh 4151115-script.sh 
--
# cat 4151115-script.sh 
#!/bin/sh
num=2

cli="$cli /usr/libexec/qemu-kvm -enable-kvm -M q35 -smp 4 -m 3G -usb -device usb-tablet,id=input0 -name RHEL-Server-7.0-64 -drive file=/home/juli/rhel7_64.raw,if=none,id=hd,format=raw,cache=none,werror=stop,rerror=stop -device virtio-scsi-pci,id=scsi0 -device scsi-hd,drive=hd,scsi-id=0,lun=0,id=scsi_image,bootindex=1 -netdev tap,script=/etc/qemu-ifup,id=netdev0 -device virtio-net-pci,netdev=netdev0,id=device-net0 -spice port=5927,disable-ticketing -vga qxl -monitor stdio -drive file=/home/disk/disk0.qcow2,format=qcow2,if=none,id=disk0 -device virtio-scsi-pci,id=disk0 -device scsi-hd,drive=disk0,scsi-id=0,lun=0 -boot menu=on"

for r in $(seq 2)
do

    cli="$cli -device ioh3420,bus=pcie.0,id=root.$r,slot=$r"
    cli="$cli -device x3130-upstream,bus=root.$r,id=upstream$r"
    echo upstream$r

    for k in $(seq $num)
    do
        cli="$cli -device xio3130-downstream,bus=upstream$r,id=downstream$(((r-1)*$num+k)),chassis=$(((r-1)*$num+k-1))"
        cli="$cli -drive file=/home/disk/disk$(((r-1)*$num+k)).qcow2,if=none,id=drive-virtio0-0-$(((r-1)*$num+k)),format=qcow2,cache=none -device virtio-blk-pci,scsi=off,drive=drive-virtio0-0-$(((r-1)*$num+k)),id=virti0-0-$(((r-1)*$num+k)),multifunction=on,bus=downstream$(((r-1)*$num+k))"

    done

done
echo $i
$cli
----------------
# cat 4151115-creat-disk.sh
#! /bin/sh
DIR="/home/disk"
if [-d "$DIR"]; then
    rm -fr $DIR
    mkdir -p $DIR
else
    mkdir -p $DIR
fi

i=0
while ((i<232)); do
    qemu-img create -f qcow2   $DIR/disk$i\.qcow2  100M
    i=$((i+1))
done
------
2.
3.

Actual results:
seabios can not recognize system disk. Please see the attached screenshot of seabios.

Expected results:
seabios can recognize system disk and can boot guest correctly.

Additional info:
this issue is different with bug 1055337. In this bug, the system disk is not under downstream.

Comment 2 Jun Li 2014-01-22 03:22:03 UTC
Created attachment 853572 [details]
seabios sreenshot (1-downstream)

Comment 3 Jun Li 2014-01-22 03:26:57 UTC
Created attachment 853576 [details]
seabios sreenshot (2-downstream)

Comment 4 Gerd Hoffmann 2014-01-22 15:22:28 UTC
Please attach seabios logfile for both cases

-chardev file,path=/dir/seabios.log,id=seabios \
-device isa-debugcon,iobase=0x402,chardev=seabios

Comment 5 Jun Li 2014-01-23 09:43:09 UTC
(In reply to Gerd Hoffmann from comment #4)
> Please attach seabios logfile for both cases
> 
> -chardev file,path=/dir/seabios.log,id=seabios \
> -device isa-debugcon,iobase=0x402,chardev=seabios

ok , please download seabios.log from the attachment.

Comment 6 Jun Li 2014-01-23 09:44:55 UTC
Created attachment 854269 [details]
seabios.log

Comment 7 Gerd Hoffmann 2014-01-23 15:07:31 UTC

*** This bug has been marked as a duplicate of bug 1055832 ***