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:
# /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
Yes, this is a known limitation that may be lifted later.