On Tuesday January 23, [EMAIL PROTECTED] wrote:
> At the end of rebuilding a RAID1 mirror set...quite repeatable....
There is only one patch in ac10 that touches raid1, and it looks like
about the right place. I have included it below.
You could try reverting it.
Presumable spare_rdev or failed_rdev is getting set to NULL. It might
be helpful to put some printks to find out which.
Ofcourse I could scratch my head for a while to figure out what this
patch is meant to achieve and why it doesn't, but it is too early in
the morning.
NeilBrown
--- linux.vanilla/drivers/md/raid1.c Mon Dec 11 16:19:35 2000
+++ linux.ac/drivers/md/raid1.c Thu Jan 18 07:16:37 2001
@@ -832,6 +832,7 @@
struct mirror_info *tmp, *sdisk, *fdisk, *rdisk, *adisk;
mdp_super_t *sb = mddev->sb;
mdp_disk_t *failed_desc, *spare_desc, *added_desc;
+ mdk_rdev_t *spare_rdev, *failed_rdev;
print_raid1_conf(conf);
md_spin_lock_irq(&conf->device_lock);
@@ -989,6 +990,10 @@
/*
* do the switch finally
*/
+ spare_rdev = find_rdev_nr(mddev, spare_desc->number);
+ failed_rdev = find_rdev_nr(mddev, failed_desc->number);
+ xchg_values(spare_rdev->desc_nr, failed_rdev->desc_nr);
+
xchg_values(*spare_desc, *failed_desc);
xchg_values(*fdisk, *sdisk);
>
> Oops: 0000
> CPU: 0
> EIP: 0010:[<c01ba01f>]
> Using defaults from ksymoops -t elf32-i386 -a i386
> EFLAGS: 0010286
> eax: 00000000 ebx: f7ab284c ecx: 00000000 edx: 00000002
> esi: f7a6ef60 edi: ffffffff ebp: f7a63300 esp: f7a71ed8
> ds: 0018 es: 0018 ss: 0018
> Process mdrecoveryd (pid: 7, stackpage=f7a71000)
> Stack: f7a64f18 f7a64ec0 f7a63000 f7a71fb0 00000286 00000001 f7a63280
> f7a63000
> f7a62828 f7a62800 00000001 00000000 f7a71bf0 f7a71f3c 00000000
> f7a71f3c
> f7a64f2c 00000006 09009e0a 00000000 01388ac0 c01716ce 00000000
> c028e5e0
> Call Trace: c01716ce c01c048b c01fb37a c01074c4
> Code: 8b 41 38 89 46 38 89 51 38 8d 7c 24 30 89 ee fc b9 20 00 00
>
> >>EIP; c01ba01f <raid1_diskop+2f7/4f8> <=====
> Trace; c01716ce <vt_console_print+2c2/2d8>
> Trace; c01c048b <md_do_recovery+1ef/25c>
> Trace; c01fb37a <translate_table+266/5bc>
> Trace; c01074c4 <kernel_thread+28/38>
> Code; c01ba01f <raid1_diskop+2f7/4f8>
> 00000000 <_EIP>:
> Code; c01ba01f <raid1_diskop+2f7/4f8> <=====
> Code; c01ba01f <raid1_diskop+2f7/4f8> <=====
> 0: 8b 41 38 mov 0x38(%ecx),%eax <=====
> Code; c01ba022 <raid1_diskop+2fa/4f8>
> 3: 89 46 38 mov %eax,0x38(%esi)
> Code; c01ba025 <raid1_diskop+2fd/4f8>
> 6: 89 51 38 mov %edx,0x38(%ecx)
> Code; c01ba028 <raid1_diskop+300/4f8>
> 9: 8d 7c 24 30 lea 0x30(%esp,1),%edi
> Code; c01ba02c <raid1_diskop+304/4f8>
> d: 89 ee mov %ebp,%esi
> Code; c01ba02e <raid1_diskop+306/4f8>
> f: fc cld
> Code; c01ba02f <raid1_diskop+307/4f8>
> 10: b9 20 00 00 00 mov $0x20,%ecx
>
>
> ________________________________________
> Michael D. Black Principal Engineer
> [EMAIL PROTECTED] 321-676-2923,x203
> http://www.csihq.com Computer Science Innovations
> http://www.csihq.com/~mike My home page
> FAX 321-676-2355
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-raid" in
> the body of a message to [EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to [EMAIL PROTECTED]