[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] xen 3.0.1, mdadm and DEBUG problem
hi, i've a little problem here with raid1 inside domU. My setup is, two block devices (gnbd) attached to domU (sda1, sdb1) and build raid1 inside domU. All works fine (mdadm --remove, block-detach, resize, block-attach, mdadm -add) except the part where i want to grow my raid to the new size (mdadm --grow .. --size=max). Sometimes (when not much fs load is done in domU) it works and i "only" get the kernel message "VFS: busy inodes on changed media.". But all works fine. But if i have fs load in domU and i make the grow i get "EXT3-fs error (device md0): ext3_readdir: directory #589900 contains a hole at offset 0" and my fs is switching to ro mode and nothing works until reboot. So i decided to switch on DEBUG for my md to see what's happening. So i recompiled a domU kernel with the only change: # diff linux-2.6.12-xenU/drivers/md/md.c~ linux-2.6.12-xenU/drivers/md/md.c 55c55 < #define DEBUG 0 --- > #define DEBUG 1 With this kernel my domU works fine with a lot of debugging info on my domU console until i try to mdadm --set-faulty inside domU (which works without DEBUG like a charm): test:~# mdadm --set-faulty /dev/md0 /dev/sda1 Segmentation fault test:~# Then i see on my domU console: general protection fault: 0000 [#1] SMP Modules linked in: CPU: 1 EIP: 0061:[<c024c49f>] Not tainted VLI EFLAGS: 00010246 (2.6.12.6-xenU) EIP is at md_error+0x2f/0x120 eax: ffffffe2 ebx: c1304a80 ecx: 00000000 edx: ffffffed esi: c12d6b80 edi: c1304a80 ebp: c6291ea4 esp: c6291e74 ds: 007b es: 007b ss: 0069 Process mdadm (pid: 1278, threadinfo=c6290000 task=c7ad2020) Stack: c3cea000 c12d9ab4 c1186300 c7ad2020 f578c040 c111b300 00000001 00000001 00000000 c1304a80 c03ba4ec 00000801 ffffffe2 c024baac c1304a80 c12d6b80 c1304a80 c024bd64 c1304a80 00800001 bfdc30cc c6291ee8 00000060 c6291f64 Call Trace: [<c024baac>] set_disk_faulty+0x3c/0x50 [<c024bd64>] md_ioctl+0x2a4/0x5a0 [<c016d7c8>] cp_new_stat64+0xf8/0x110 [<c024bac0>] md_ioctl+0x0/0x5a0 [<c0232a3c>] blkdev_ioctl+0x8c/0x440 [<c01764c0>] do_ioctl+0x70/0xa0 [<c01766c5>] vfs_ioctl+0x65/0x1f0 [<c0176895>] sys_ioctl+0x45/0x70 [<c010a6dd>] syscall_call+0x7/0xb Code: ec 30 89 7d fc 8b 7d 08 89 75 f8 8b 75 0c 85 ff 89 5d f4 0f 84 c6 00 00 00 85 f6 0f 84 7b 00 00 00 8b 4e 2c 85 c9 75 74 8b 45 00 <8b> 10 8b 02 8b 4a 04 8b 58 04 8b 45 00 8b 40 04 89 44 24 14 8b And my domU can't access any fs anymore but is running. md is not compiled as module but compiled directly into the kernel so i can configure my raid per boot command line (extra = "md=0,/dev/sda1,/dev/sdb1"). So my question is, is there any known problem with raid (md) inside a domU? Why is mdadm working without debugging but prints "Segmentation fault" while debugging is on? Are am i doing something wrong? mdadm growing is working on other machines without xen. The only output on stock kernel when doing the grow is also "VFS: busy inodes on changed media.". One different thing is that mdadm --grow on stock kernel results in a rebuild of the last bits of the raid while making mdadm --grow inside domU only the size og the raid goes up but no rebuild. Any help would be appreciated. I'm using xen-3.0.1 with two dell poweredge 1850 with two 3.2 GHz Xeons, 8 GB RAM (pae version of xen) and four Intel(R) PRO/1000 as xen hosts. I build xen with make XEN_TARGET_X86_PAE=y world make XEN_TARGET_X86_PAE=y install only modified the kernel config before for my needs (md inside domU) linux-2.6-xen-sparse/arch/xen/configs/xenU_defconfig_x86_32 232c232,242 < # CONFIG_MD is not set --- > CONFIG_MD=y > CONFIG_BLK_DEV_MD=y > CONFIG_MD_LINEAR=m > CONFIG_MD_RAID0=m > CONFIG_MD_RAID1=y > CONFIG_MD_RAID10=m > CONFIG_MD_RAID5=m > CONFIG_MD_RAID6=m > CONFIG_MD_MULTIPATH=m > CONFIG_MD_FAULTY=m > CONFIG_BLK_DEV_DM=n and bonding in dom0 linux-2.6-xen-sparse/arch/xen/configs/xen0_defconfig_x86_32 600c600 < # CONFIG_BONDING is not set --- > CONFIG_BONDING=m domU config test.cfg: cpus = "0-3" vcpus = "4" #kernel = "/boot/vmlinuz-2.6.12.6-xenU" # md debugging on kernel = "/var/tmp/vmlinuz.test" memory = 128 name = "test" vif = [ "mac=XX:XX:XX:XX:XX:XX" ] dhcp = "off" ip = "192.168.1.1" netmask = "255.255.255.0" gateway = "192.168.1.254" hostname = "test" disk = [ "phy:gnbd/test-w1,sda1,w", "phy:gnbd/test-w2,sdb1,w" ] root = "/dev/md0 ro" extra = "md=0,/dev/sda1,/dev/sdb1" -- greetings eMHa Attachment:
pgpFEwadO04ZP.pgp _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |