Created attachment 1274096 [details] Seabios log Description of problem: Multiple virtio scsi disk attached, but only one displayed on menu list with lun non 0 Version-Release number of selected component (if applicable): kernel version:3.10.0-655.el7.x86_64 qemu-kvm-rhev version:qemu-kvm-rhev-2.9.0-1.el7.x86_64 seabios version:seabios-1.10.2-2.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1.Start guest with qemu cmds bellow: /usr/libexec/qemu-kvm \ -name 'avocado-vt-vm1' \ -sandbox off \ -machine pc \ -nodefaults \ -vga std \ -chardev socket,id=qmp_id_qmpmonitor1,path=/var/tmp/monitor-qmpmonitor1-20170124-161452-WcepYpO8,server,nowait \ -mon chardev=qmp_id_qmpmonitor1,mode=control \ -chardev socket,id=qmp_id_catch_monitor,path=/var/tmp/monitor-catch_monitor-20170124-161452-WcepYpO8,server,nowait \ -mon chardev=qmp_id_catch_monitor,mode=control \ -device pvpanic,ioport=0x505,id=idqap0h5 \ -chardev socket,id=serial_id_serial0,path=/var/tmp/serial-serial0-20170124-161452-WcepYpO8,server,nowait \ -device isa-serial,chardev=serial_id_serial0 \ -chardev socket,id=seabioslog_id_20170124-161452-WcepYpO8,path=/var/tmp/seabios-20170124-161452-WcepYpO8,server,nowait \ -device isa-debugcon,chardev=seabioslog_id_20170124-161452-WcepYpO8,iobase=0x402 \ -object iothread,id=iothread0 \ -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=03,iothread=iothread0 \ -drive id=drive_image1,if=none,snapshot=off,aio=native,cache=none,format=qcow2,file=/mnt/aliang/rhel74-64-virtio.qcow2 \ -device scsi-hd,id=image1,drive=drive_image1,bus=scsi0.0,lun=0 \ -object iothread,id=iothread1 \ -device virtio-net-pci,mac=9a:b2:b3:b4:b5:b6,id=iduCv1Ln,vectors=4,netdev=idKgexFk,bus=pci.0,addr=05 \ -netdev tap,id=idKgexFk,vhost=on \ -m 4096 \ -smp 4,maxcpus=4,cores=2,threads=1,sockets=2 \ -cpu host \ -vnc :1 \ -rtc base=localtime,clock=host,driftfix=slew \ -boot order=cdn,menu=on,strict=off \ -enable-kvm \ -monitor stdio \ -device virtio-scsi-pci,id=scsi1,bus=pci.0,addr=04,iothread=iothread0 \ -drive id=drive_image2,if=none,snapshot=off,aio=native,cache=none,format=qcow2,file=/mnt/aliang/rhel69-64-virtio.qcow2 \ -device scsi-hd,id=image2,drive=drive_image2,bus=scsi1.0,lun=1 \ -device virtio-scsi-pci,id=scsi2,bus=pci.0,addr=06,iothread=iothread0 \ -drive id=drive_image3,if=none,snapshot=off,aio=native,cache=none,format=qcow2,file=/home/virtio.qcow2 \ -device scsi-hd,id=image3,drive=drive_image3,bus=scsi2.0,lun=1 \ 2.Press "ESC" to enter menu list. 3.Check the menu list Actual results: Boot Menu: 1. virtio-scsi Drive QEMU QEMU HARDDISK 2.5+ 2. Legacy option rom 3. iPXE (PCI 00:05.0) Expected results: Boot Menu: 1. virtio-scsi Drive QEMU QEMU HARDDISK 2.5+ 2. virtio-scsi Drive QEMU QEMU HARDDISK 2.5+ 3. virtio-scsi Drive QEMU QEMU HARDDISK 2.5+ 4. Legacy option rom 5. iPXE (PCI 00:05.0) Additional info: Attachment is the seabios log.
When we attach all virtio disks on lun=0, they all can be displayed on seabios menu list.
Also, when you reboot vm for times(by system_reset or ctrl+alt+del), seabios can't work normally, it just working on "Searching bootorder for: /pci@i0cf8/*@4/*@0/*@xx,0". Attachment it the captured screen and the log.] The issue reproduce rate is 10%.
Created attachment 1274100 [details] Log of reboot
Created attachment 1274102 [details] Captured pictures of abnormal seabios reboot
What if you set lun=0 to all disks, do they get listed then? (I think it is allowed because they are on separate buses)
(In reply to Fam Zheng from comment #7) > What if you set lun=0 to all disks, do they get listed then? (I think it is > allowed because they are on separate buses) Yes, when set lun=0 to all disks, they all get listed.
OK, I think that matches the logic in seabios code: it enumerates boot disks from LUN #0 onward, and stops when a number of lun is not attached.
*** This bug has been marked as a duplicate of bug 1020622 ***