WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] xen 3.0.1, mdadm and DEBUG problem

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] xen 3.0.1, mdadm and DEBUG problem
From: Markus Hochholdinger <Markus@xxxxxxxxxxxxxxxxx>
Date: Sat, 25 Mar 2006 19:18:17 +0100
Delivery-date: Sat, 25 Mar 2006 18:19:43 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.7.2
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: pgpEJK9X3kJ3k.pgp
Description: PGP signature

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] xen 3.0.1, mdadm and DEBUG problem, Markus Hochholdinger <=