Bug 1329526

Summary: seabios can not recognize virtio 1.0 virtual block
Product: Red Hat Enterprise Linux 7 Reporter: yduan
Component: qemu-kvm-rhevAssignee: Gerd Hoffmann <kraxel>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 7.3CC: chayang, hannsj_uhl, huding, juzhang, knoel, kraxel, mrezanin, sherold, virt-maint, yfu
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: qemu-2.6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-07 21:05:18 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:

Description yduan 2016-04-22 07:41:23 UTC
Description of problem:
seabios can not recognize virtio 1.0 virtual block

Version-Release number of selected component (if applicable):
Host:
  kernel: 3.10.0-382.el7.x86_64
  qemu-kvm-rhev: qemu-kvm-rhev-2.5.0-4.el7.x86_64
  seabios-1.9.1-2.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.Install a VM with following commands:
 ...
 -drive file=/home/backup/rhel7.2released/RHEL-7.2-20151030.0-Server-x86_64-dvd1.iso,if=none,media=cdrom,id=drive_cd,readonly=on,format=raw \
 -device ide-cd,bus=ide.0,drive=drive_cd,id=device_cd \
 -drive file=test.qcow2,format=qcow2,id=drive_sysdisk,if=none,cache=none,aio=native,werror=stop,rerror=stop \
 -device virtio-blk-pci,bus=pci.0,disable-legacy=on,disable-modern=off,drive=drive_sysdisk,id=test \
 -boot order=dcn,once=d \
 ...

Actual results:
Before installation started, anaconda failed to find the hard disk. At this time, switch to console by 'Ctrl + Alt + F2', 'fdisk -l' didn't see the disk either.

Expected results:
Seabios should recognize the hard disk specified in qemu-kvm command line.

Additional info:
Not reproducible with seabios-1.7.5-11.el7.x86_64

Comment 3 Gerd Hoffmann 2016-04-28 08:21:55 UTC
I guess that is the virtio reset issue, qemu commit:

75fd6f1 virtio-pci: call pci reset variant when guest requests reset.

Triggered by newer seabios because it supports virtio 1.0 and therefore
the device is in a different state when the linux kernel detects devices.

Comment 4 Yanan Fu 2016-05-16 09:30:10 UTC
--------------------- reproduce ---------------------
kernel:kernel-3.10.0-396.el7.x86_64
qemu:qemu-kvm-rhev-2.5.0-4.el7.x86_64
seabios:seabios-1.9.1-2.el7.x86_64


1.install a vm with cmd:

...
-drive file=/root/rhel7-blk.qcow2,id=drive-blk-disk,media=disk,format=qcow2,cache=none,if=none \
-device virtio-blk-pci,drive=drive-blk-disk,bus=pci.0,addr=0x4,id=blk-disk,disable-legacy=on,disable-modern=off,bootindex=1 \
-drive file=/root/RHEL-7.2-20151027.3-Server-x86_64-dvd1.iso,if=none,id=drive-cd,media=cdrom,format=raw,cache=none \
-device virtio-blk-pci,drive=drive-cd,bus=pci.0,addr=0x6,id=cdrom,bootindex=0 \
...

2.In bootmenu, can see both cdrom(the first one) and disk(the second one), choose to install from cdrom.
3.Begin to install,anaconda failed to find the hard disk.
4.Switch to console by 'Ctrl + Alt + F2', '#fdisk -l' can not output the disk too. 


reproduce this bug successfully.


---------------------- verify -----------------------

version:
kernel:kernel-3.10.0-396.el7.x86_64
qemu:qemu-kvm-rhev-2.6.0-1.el7.x86_64
seabios:seabios-1.9.1-2.el7.x86_64

1.install a vm with cmd:

...
-drive file=/root/rhel7-blk.qcow2,id=drive-blk-disk,media=disk,format=qcow2,cache=none,if=none \
-device virtio-blk-pci,drive=drive-blk-disk,bus=pci.0,addr=0x4,id=blk-disk,disable-legacy=on,disable-modern=off,bootindex=1 \
-drive file=/root/RHEL-7.2-20151027.3-Server-x86_64-dvd1.iso,if=none,id=drive-cd,media=cdrom,format=raw,cache=none \
-device virtio-blk-pci,drive=drive-cd,bus=pci.0,addr=0x6,id=cdrom,bootindex=0 \
...

2.In bootmenu, can see both cdrom(the first one) and disk(the second one), choose to install from cdrom.
3.Begin to install,anaconda can find the hard disk.
4.Switch to console by 'Ctrl + Alt + F2', '#fdisk -l' can see the disk. 


As the test result above, with same kernel and seabios version, qemu-kvm-rhev-2.5.0-4.el7.x86_64 hit this issue, but qemu-kvm-rhev-2.6.0-1.el7.x86_64 is ok.so I think this bug has been fixed in qemu-kvm-rhev-2.6.0-1.el7.x86_64.

Comment 8 errata-xmlrpc 2016-11-07 21:05:18 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-2673.html