Bug 1020303

Summary: seabios fail to recognize virtio-scsi device if specify LUN not 0
Product: Red Hat Enterprise Linux 6 Reporter: Sibiao Luo <sluo>
Component: qemu-kvmAssignee: Paolo Bonzini <pbonzini>
Status: CLOSED DEFERRED QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.5CC: acathrow, bsarathy, chayang, juzhang, michen, mkenneth, pbonzini, qzhang, virt-maint, xfu
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1020622 (view as bug list) Environment:
Last Closed: 2014-02-14 14:30:14 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: 1020622    
Bug Blocks:    

Description Sibiao Luo 2013-10-17 12:16:50 UTC
Description of problem:
only LUN 0 is recognized by seabios for virtio-scsi device, seabios will fail to recognize virtio-scsi device if specify LUN not 0.

Version-Release number of selected component (if applicable):
host info:
# uname -r && rpm -q qemu-kvm && rpm -q seabios
2.6.32-422.el6.x86_64
qemu-kvm-0.12.1.2-2.414.el6.x86_64
seabios-0.6.1.2-28.el6.x86_64
guest info:
2.6.32-422.el6.x86_64

How reproducible:
100%

Steps to Reproduce:
1.boot guest with virtio-scsi device specified LUN is not 0.
e.g.:...-drive file=/home/my-data-disk.qcow2,if=none,id=drive-data-disk1,format=qcow2,cache=none,werror=stop,rerror=stop -device virtio-scsi-pci,bus=pci.0,addr=0x7,id=scsi0 -device scsi-hd,drive=drive-data-disk1,id=data-disk1,bus=scsi0.0,lun=1 -drive file=/home/my-data-disk.raw,if=none,id=drive-data-disk2,format=raw,cache=none,werror=stop,rerror=stop -device virtio-scsi-pci,bus=pci.0,addr=0x8,id=scsi1 -device scsi-hd,drive=drive-data-disk2,id=data-disk2,bus=scsi1.0,lun=2
2.press F12 during POST.

Actual results:
after step 2, seabios fail to recognize virtio-scsi device if specify LUN not 0.
Press F12 for boot menu.

Select boot device:

1. Virtio disk PCI:0:4
2. Floppy [drive A]
3. DVD/CD [ata1-0: QEMU DVD-ROM ATAI-4 DVD/CD]
4. gPXE (PCI 00:05.0)
5. Legacy option rom

Expected results:
seabios should recognize virtio-scsi device if specify LUN not 0.
e.g:
1. Virtio disk PCI:0:4
 * Virtio-scsi Drive QEMU QEMU HARDDISK 0.12 *   <----------
 * Virtio-scsi Drive QEMU QEMU HARDDISK 0.12 *   <----------
2. Floppy [drive A]
3. DVD/CD [ata1-0: QEMU DVD-ROM ATAI-4 DVD/CD]
4. gPXE (PCI 00:05.0)
5. Legacy option rom

Additional info:

Comment 1 Sibiao Luo 2013-10-17 12:19:08 UTC
# /usr/libexec/qemu-kvm -M pc -S -cpu SandyBridge -enable-kvm -m 2048 -smp 2,sockets=2,cores=1,threads=1 -no-kvm-pit-reinjection -usb -device usb-tablet,id=input0 -name sluo -uuid 990ea161-6b67-47b2-b803-19fb01d30d30 -rtc base=localtime,clock=host,driftfix=slew -device virtio-serial-pci,id=virtio-serial0,max_ports=16,vectors=0,bus=pci.0,addr=0x3 -chardev socket,id=channel1,path=/tmp/helloworld1,server,nowait -device virtserialport,chardev=channel1,name=com.redhat.rhevm.vdsm,bus=virtio-serial0.0,id=port1 -chardev socket,id=channel2,path=/tmp/helloworld2,server,nowait -device virtserialport,chardev=channel2,name=com.redhat.rhevm.vdsm,bus=virtio-serial0.0,id=port2 -drive file=/home/RHEL6.5-20131004.5_6.5_Server_x86_64.qcow2bk,if=none,id=drive-virtio-disk,format=qcow2,cache=none,aio=native,werror=stop,rerror=stop -device virtio-blk-pci,vectors=0,bus=pci.0,addr=0x4,scsi=off,drive=drive-virtio-disk,id=virtio-disk,bootindex=1 -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,id=virtio-net-pci0,mac=2C:41:38:B6:40:21,bus=pci.0,addr=0x5 -device virtio-balloon-pci,id=ballooning,bus=pci.0,addr=0x6 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -k en-us -boot menu=on -spice disable-ticketing,port=5932 -monitor stdio -drive file=/home/my-data-disk.qcow2,if=none,id=drive-data-disk1,format=qcow2,cache=none,werror=stop,rerror=stop -device virtio-scsi-pci,bus=pci.0,addr=0x7,id=scsi0 -device scsi-hd,drive=drive-data-disk1,id=data-disk1,bus=scsi0.0,lun=1 -drive file=/home/my-data-disk.raw,if=none,id=drive-data-disk2,format=raw,cache=none,werror=stop,rerror=stop -device virtio-scsi-pci,bus=pci.0,addr=0x8,id=scsi1 -device scsi-hd,drive=drive-data-disk2,id=data-disk2,bus=scsi1.0,lun=2

Comment 2 Paolo Bonzini 2013-10-18 07:18:03 UTC
Yes, this is a known limitation that may be lifted later.