Hide Forgot
Description of problem: Block devices (disk devices) are mapped into xvde (instead of xvda - ..) while "Red Hat Enterprise Linux Server release 6.1 (Santiago)" amd64 (x86_64) is running as paravirtualized Xen guest. Version-Release number of selected component (if applicable): /etc/redhat-release Red Hat Enterprise Linux Server release 6.1 (Santiago) Linux version 2.6.32-131.2.1.el6.x86_64 (mockbuild.bos.redhat.com) (gcc version 4.4.5 20110214 (Red Hat 4.4.5-6) (GCC) ) #1 SMP Wed May 18 07:07:37 EDT 2011 Command line: ro root=/dev/xvda1 rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us How reproducible: Run RHEL 6.1 x86_64 as PV guest (DomU). Run RHEL 5.6 x86_64 with Xen 3.4.3 as hypervisor system (Dom0) Steps to Reproduce: 1. Get the RHEL 5.6 x86_64 box with Xen 3.4.3 installed. Some hypervisor details: xm info host : **** release : 2.6.18-194.17.4.el5xen version : #1 SMP Mon Oct 25 16:36:31 EDT 2010 machine : x86_64 nr_cpus : 4 nr_nodes : 1 cores_per_socket : 4 threads_per_core : 1 cpu_mhz : 2128 hw_caps : bfebfbff:28100800:00000000:00000340:009ce3bd:00000000:00000001:00000000 virt_caps : hvm total_memory : 6135 free_memory : 2582 node_to_cpu : node0:0-3 node_to_memory : node0:2582 xen_major : 3 xen_minor : 4 xen_extra : .3 xen_caps : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 xen_scheduler : credit xen_pagesize : 4096 platform_params : virt_start=0xffff800000000000 xen_changeset : unavailable cc_compiler : gcc version 4.1.2 20080704 (Red Hat 4.1.2-48) cc_compile_by : root cc_compile_domain : gitco.tld cc_compile_date : Sat Jan 22 14:01:09 CET 2011 xend_config_format : 4 2. Prepare the following DomU (Xen guest) configuration file: bootloader = "/usr/bin/pygrub" vcpus = "4" memory = "128" name = "rhel-6.1" disk = [ "phy:/dev/<dev1>,sda1,w", "phy:/dev/<dev2>,sda2,w" ] vfb = [ "type=vnc,vncpasswd=" ] where, /dev/<dev1> and /dev/<dev2> - block devices for the guest (DomU). 3. Create the guest with: xm create <domu_config_file> -c where, <domu_config_file> Xen guest configuration file (you have just created on step #2) full name Actual results: dracut: Starting plymouth daemon xlblk_init: register_blkdev major: 202 blkfront: xvde1: barriers disabled blkfront: xvde2: barriers disabled dracut Warning: No root device "block:/dev/xvda1" found dracut Warning: Boot has failed. To debug this issue add "rdshell" to the kernel command line. dracut Warning: Signal caught! dracut Warning: Boot has failed. To debug this issue add "rdshell" to the kernel command line. Kernel panic - not syncing: Attempted to kill init! Pid: 1, comm: init Not tainted 2.6.32-131.2.1.el6.x86_64 #1 Call Trace: [<ffffffff814da16e>] ? panic+0x78/0x143 [<ffffffff8106c452>] ? do_exit+0x852/0x860 [<ffffffff81173fc5>] ? fput+0x25/0x30 [<ffffffff8106c4b8>] ? do_group_exit+0x58/0xd0 [<ffffffff8106c547>] ? sys_exit_group+0x17/0x20 [<ffffffff8100b172>] ? system_call_fastpath+0x16/0x1b Expected results: Devices are mapped inside the PV guest (DomU) as xvda1 and xvda2 Additional info: The bug seems to be similar to https://bugzilla.redhat.com/show_bug.cgi?id=691339 But the guest is running on PV mode (not HVM).
Hi, You should change your config from disk = [ "phy:/dev/<dev1>,sda1,w", "phy:/dev/<dev2>,sda2,w" ] to disk = [ "phy:/dev/<dev1>,xvda1,w", "phy:/dev/<dev2>,xvda2,w" ] The scsi major numbers are reserved for emulated devices, and, while there's conversion code that remaps them to xvd devices (as you've seen), they add an offset to avoid conflicts. PV guests should just always use xvd.