Bug 756313

Summary: RHEL 6.2 Xen hvm guest can't get more than 4 hdx disks
Product: Red Hat Enterprise Linux 6 Reporter: Shengnan Wang <shwang>
Component: kernelAssignee: Xen Maintainance List <xen-maint>
Status: CLOSED NOTABUG QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.2CC: drjones, imammedo, leiwang, mrezanin, qguan, qwan, yuzhou
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: xen
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-11-24 14:04:44 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Shengnan Wang 2011-11-23 08:40:20 UTC
Description of problem:
When create a 6.2 hvm guest with more than 4 hdx block-devices, there are only 4 hdx block-devices can be seen and used in the guest.


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

How reproducible:
100%.

Steps to Reproduce:
1. Boot up the guest with the parameters as following:
disk = [ "file:/root/img/RHEL-Server-6.2-64-20111117.0-hvm.raw,hda,w",'file:/root/img/hvm-add-0.raw,hdb,w','file:/root/img/hvm-add-1.raw,hdc,w','file:/root/img/hvm-add-2.img,hdd,w','file:/root/img/hvm-add-3.img,hde,w','file:/root/img/hvm-add-4.img,hdf,w','file:/root/img/hvm-add-5.img,hdg,w' ]


Actual results:
Only four disks can be seen in the guest while seven disks seems attached to the guest in the host.

Expected results:
There are 7 available disks in the guest.

Additional info:
1. Test it on 6.2-20111117.0. It happens to both i386 and x86_64 hvm guest.  
2. Test it on 6.1 release. It happens too. 
3. Test it on 5.7 release, the 7 disks can be seen and used in guest.

Comment 3 Igor Mammedov 2011-11-23 11:15:22 UTC
Could you try with RHEL-Server-6.1-64-hvm.raw image instead of RHEL-Server-6.2-64-20111117.0-hvm.raw (it seams to be corrupted).

Comment 4 Shengnan Wang 2011-11-24 02:52:50 UTC
The new 6.2 img called RHEL-Server-6.2-64-hvm.raw. I reproduce it with following cfg file. 


# cat hvm-boot-64.cfg 
name = "hvm-guest"
maxmem = 2048
memory = 2048
vcpus = 4
builder = "hvm"
kernel = "/usr/lib/xen/boot/hvmloader"
boot = "c"
pae = 1
acpi = 1
apic = 1
sdl = 0
vnc = 1
serial="pty"
vncunused = 1
vnclisten = "0.0.0.0"
keymap = "en-us"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "preserve"
device_model = "/usr/lib64/xen/bin/qemu-dm"
disk = [ 'file:/root/img/RHEL-Server-6.2-64-hvm.raw,hda,w','file:/root/img/hvm-add-1.img,hdb,w','file:/root/img/hvm-add-2.img,hdc,w','file:/root/img/hvm-add-3.img,hdd,w','file:/root/img/hvm-add-4.img,hde,w','file:/root/img/hvm-add-5.img,hdf,w','file:/root/img/hvm-add-6.img,hdg,w' ]
vif = ["mac=00:16:3e:43:73:02,script=vif-bridge,bridge=xenbr0"]

And the guest's kernel command line:

# cat /etc/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/xvda
default=0
timeout=5
serial --unit=0 --speed=115200
terminal --timeout=15 serial console
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux (2.6.32-220.el6.x86_64)
	root (hd0,0)
	kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto quiet rd_LVM_LV=VolGroup/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM xen_emul_unplug=never console=tty0 console=ttyS0,115200n8 ingnore_loglevel
	initrd /initramfs-2.6.32-220.el6.x86_64.img

Comment 5 Yuyu Zhou 2011-11-24 05:29:17 UTC
(In reply to comment #3)
> Could you try with RHEL-Server-6.1-64-hvm.raw image instead of
> RHEL-Server-6.2-64-20111117.0-hvm.raw (it seams to be corrupted).

Test with RHEL-Server-6.1-64-hvm (kernel-2.6.32-131.0.15.el6.x86_64).
7 disks can be seem in host by "xm block-list", only 4 disks can be seem in guest by command "fdisk -l".

Comment 6 Igor Mammedov 2011-11-24 07:45:15 UTC
(In reply to comment #5)
> (In reply to comment #3)
> > Could you try with RHEL-Server-6.1-64-hvm.raw image instead of
> > RHEL-Server-6.2-64-20111117.0-hvm.raw (it seams to be corrupted).
> 
> Test with RHEL-Server-6.1-64-hvm (kernel-2.6.32-131.0.15.el6.x86_64).
> 7 disks can be seem in host by "xm block-list", only 4 disks can be seem in
> guest by command "fdisk -l".

If it's not too much to ask. Could you try and see if issue is there with Fedora 16 hvm guest, please?

Comment 7 Qin Guan 2011-11-24 11:29:17 UTC
(In reply to comment #6)
> 
> If it's not too much to ask. Could you try and see if issue is there with
> Fedora 16 hvm guest, please?

This problem can be reproduced with Fedora 16 hvm guest with the configuration in Comment 4.

And only ata0 and ata1 can be detected in "xm dmesg":

...
(XEN) HVM13: Start BIOS ...
(XEN) HVM13: Starting emulated 16-bit real-mode: ip=F000:FFF0
(XEN) HVM13:  rombios.c,v 1.138 2005/05/07 15:55:26 vruppert Exp $
(XEN) HVM13: Remapping master: ICW2 0x8 -> 0x20
(XEN) HVM13: Remapping slave: ICW2 0x70 -> 0x28
(XEN) HVM13: VGABios $Id: vgabios.c,v 1.61 2005/05/24 16:50:50 vruppert Exp $
(XEN) HVM13: HVMAssist BIOS, 1 cpu, $Revision: 1.138 $ $Date: 2005/05/07 15:55:26 $
(XEN) HVM13: 
(XEN) HVM13: ata0-0: PCHS=16383/16/63 translation=lba LCHS=1024/255/63
(XEN) HVM13: ata0 master: QEMU HARDDISK ATA-7 Hard-Disk (10240 MBytes)
(XEN) HVM13: ata0-1: PCHS=4161/16/63 translation=lba LCHS=520/128/63
(XEN) HVM13: ata0  slave: QEMU HARDDISK ATA-7 Hard-Disk (2048 MBytes)
(XEN) HVM13: ata1-0: PCHS=4161/16/63 translation=lba LCHS=520/128/63
(XEN) HVM13: ata1 master: QEMU HARDDISK ATA-7 Hard-Disk (2048 MBytes)
(XEN) HVM13: ata1-1: PCHS=4161/16/63 translation=lba LCHS=520/128/63
(XEN) HVM13: ata1  slave: QEMU HARDDISK ATA-7 Hard-Disk (2048 MBytes)
(XEN) HVM13: 
(XEN) HVM13: Booting from Hard Disk...
(XEN) hvm.c:1600:d13 Bad HVM op 9.
...

Comment 8 Igor Mammedov 2011-11-24 14:04:44 UTC
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Virtualization/sect-Virtualization-Virtualization_limitations-Xen_limitations.html

"A maximum of four virtualized (emulated) IDE devices per guest"