Bug 816059

Summary: can not Install guest(RHEL6.3 32) using scsi-hd and scsi-cd
Product: Red Hat Enterprise Linux 6 Reporter: yunpingzheng <yunzheng>
Component: kernelAssignee: Paolo Bonzini <pbonzini>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.3CC: acathrow, areis, bsarathy, dyasny, juzhang, michen, mkenneth, pbonzini, sluo, virt-maint, wdai
Target Milestone: rc   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: kernel-2.6.32-328.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-21 06:09:22 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:    
Bug Blocks: 833566    
Attachments:
Description Flags
screenshot of before anaconda running
none
screenshot of just after anaconda running-1
none
screenshot of just after anaconda running-2
none
screenshot of format disk
none
error info
none
trivial patch
none
kernel328 host with scsi-cd none

Description yunpingzheng 2012-04-25 07:31:30 UTC
Created attachment 580080 [details]
screenshot of before anaconda running

Description of problem:
Install guest (RHEL6.3 32) using   scsi-hd  and  scsi-cd  error.
btw:
 Install the rhel6.3 x86_64 using  scsi-hd  and  scsi-cd  successfully
 Install rhel6.3 32 using ide-drive successfully.

Version-Release number of selected component (if applicable):


How reproducible:
10/10

Steps to Reproduce:
1.Create a image with format raw 
# qemu-img create -f raw  RHEL-Server-6.3-32.raw 20G
2.install the guest(RHEL6.3 32) using cdrom
 
Actual results:
error appear install has been aborted,the Errors maybe appear in three position.
  1.before anaconda running
  2.just after anaconda running
  3.disk format
 see the attachment.

Expected results:
install successfully

Additional info:
qemu-cli:
/usr/libexec/qemu-kvm \
-name 'vm1' \
-nodefaults \
-vga std \
-chardev socket,id=qmp_monitor1,path=/tmp/monitor-qmpmonitor1,server,nowait  \
-mon chardev=qmp_monitor1,mode=control  \
-chardev socket,id=serial_id,path=/tmp/serial,server,nowait  \
-device isa-serial,chardev=serial_id  \
-device ich9-usb-uhci1,id=usb1,bus=pci.0,addr=0x4 \
-device virtio-scsi,id=virtio_scsi_pci,addr=0x5 \
-drive file='/root/RHEL-Server-6.3-32.raw',if=none,id=virtio-scsi0,media=disk,cache=none,boot=off,snapshot=off,readonly=off,format=raw,aio=native \
-device scsi-hd,bus=virtio_scsi_pci.0,drive=virtio-scsi0 \
-device virtio-net-pci,netdev=idpwvLaF,mac=9a:f3:47:74:5e:de,id=ndev00idpwvLaF,bus=pci.0,addr=0x3 \
-netdev tap,id=idpwvLaF,vhost=on,script=/root/qemu-ifup \
-m 4096 \
-smp 4,cores=2,threads=1,sockets=2 \
-cpu 'qemu64' \
-drive file='/root/RHEL6.3-Server-i386.iso',if=none,id=virtio-scsi1,media=cdrom,boot=off,snapshot=off,readonly=on,format=raw \
-device scsi-cd,bus=virtio_scsi_pci.0,drive=virtio-scsi1  \
-device usb-tablet,id=usb-tablet1,bus=usb1.0 \
-vnc :0 \
-rtc base=utc,clock=host,driftfix=slew \
-M rhel6.3.0 \
-boot order=cdn,once=d,menu=off    \
-no-kvm-pit-reinjection \
-no-shutdown \
-enable-kvm 
2.screenshot
 see the attachement

Comment 2 yunpingzheng 2012-04-25 07:32:17 UTC
Created attachment 580081 [details]
screenshot of just after anaconda running-1

Comment 3 yunpingzheng 2012-04-25 07:32:53 UTC
Created attachment 580082 [details]
screenshot of just after anaconda running-2

Comment 4 yunpingzheng 2012-04-25 07:33:25 UTC
Created attachment 580083 [details]
screenshot of format disk

Comment 5 yunpingzheng 2012-04-25 08:17:09 UTC
Created attachment 580089 [details]
error info

Comment 6 Ademar Reis 2012-04-30 17:27:09 UTC
Corner case on a tech-preview feature, too late for RHEL6.3

Comment 8 Paolo Bonzini 2012-07-20 10:22:47 UTC
Created attachment 599355 [details]
trivial patch

The problem only shows up with 1GB RAM or more, and happens because highmem was not considered by the virtio-scsi driver.  The fix is trivial, because we already have a scatterlist (i.e. physical addresses of the buffers) and we just need to copy it into the new scatterlist that is handed to virtio.

Comment 9 Paolo Bonzini 2012-07-20 13:38:52 UTC
*** Bug 810843 has been marked as a duplicate of this bug. ***

Comment 11 RHEL Program Management 2012-07-31 12:51:44 UTC
This request was evaluated by Red Hat Product Management for
inclusion in a Red Hat Enterprise Linux release.  Product
Management has requested further review of this request by
Red Hat Engineering, for potential inclusion in a Red Hat
Enterprise Linux release for currently deployed products.
This request is not yet committed for inclusion in a release.

Comment 12 Jarod Wilson 2012-10-10 19:44:43 UTC
Patch(es) available on kernel-2.6.32-328.el6

Comment 15 Sibiao Luo 2012-10-12 02:07:11 UTC
Created attachment 625771 [details]
kernel328 host with scsi-cd

Comment 16 Sibiao Luo 2012-10-12 05:00:18 UTC
Reprocue this issue with the same steps as Comment #0, install guest (RHEL6.3 32bit) using scsi-hd + scsi-cd, but fails.

host info:
# uname -r && rpm -q qemu-kvm
2.6.32-328.el6.x86_64
qemu-kvm-0.12.1.2-2.320.el6.x86_64
guest info:
RHEL6.3GA_32bit

Steps:
1.Create a image. 
# qemu-img create -f qcow2 RHEL6.3-20120613-sluo-x86_64.qcow2 10G
2.install the guest(RHEL6.3 32) using cdrom.
eg:# /usr/libexec/qemu-kvm -M rhel6.3.0 -enable-kvm -m 4096 -smp 2,sockets=2,cores=1,threads=1 -usb -device usb-tablet,id=input0 -name sluo_test -uuid `uuidgen` -drive file=/home/RHEL6.3-20120613-i386.qcow2,format=qcow2,if=none,id=drive-disk,cache=none,werror=stop,rerror=stop -device virtio-scsi-pci,id=scsi0 -device scsi-hd,drive=drive-disk,scsi-id=0,lun=0,id=scsi_image,bootindex=2 -netdev tap,id=hostnet0,script=/etc/qemu-ifup -device e1000,netdev=hostnet0,id=virtio-net-pci0,mac=05:1a:4a:02:0b:11,bus=pci.0,bootindex=3 -device virtio-balloon-pci,id=balloon0,bus=pci.0 -vnc :1 -boot menu=on -monitor stdio -drive file=/home/RHEL6.3-20120613.2-Server-i386-DVD1.iso,if=none,media=cdrom,cache=none,werror=stop,format=raw,id=cd -device virtio-scsi-pci,id=scsi1 -device scsi-cd,drive=cd,id=scsi_cd,bootindex=1

Results:
fail to install rhel6.3 32bit guest with 'exec of anaconda failed: Input/output error'. please see attachment 625771 [details] for details.

----------------------------------------------------------------------------

Verify this issue with the same steps as Comment #0, install guest (RHEL6.3 32bit) using scsi-hd + scsi-cd.

host ifno:
# uname -r && rpm -q qemu-kvm
2.6.32-328.el6.x86_64
qemu-kvm-0.12.1.2-2.320.el6.x86_64
guest info:
RHEL6.4-20121011.n.0-Server-i386

Steps:
the same as reproduce.
eg:...-drive file=/home/RHEL6.4-20121011.n.0-Server-i386-DVD1.iso,if=none,media=cdrom,cache=none,werror=stop,format=raw,id=cd -device virtio-scsi-pci,id=scsi1 -device scsi-cd,drive=cd,id=scsi_cd,bootindex=1 -drive file=/home/RHEL6.4-20121011.n.0-sluo-i386.qcow2,format=qcow2,if=none,id=drive-disk,cache=none,werror=stop,rerror=stop -device virtio-scsi-pci,id=scsi0 -device scsi-hd,drive=drive-disk,scsi-id=0,lun=0,id=scsi_image,bootindex=2

Results:
finish install RHEL6.4-20121011.n.0-Server-i386 guest successfully and reboot guest correctly.

Base on above, this issue has been fixed correctly.

Best Regards.
sluo

Comment 17 juzhang 2013-01-08 10:34:59 UTC
According to comment16, set this issue as verified.

Comment 19 errata-xmlrpc 2013-02-21 06:09:22 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.

http://rhn.redhat.com/errata/RHSA-2013-0496.html