Neil,
Bad news, increasing alignment from 512 to 4096 didn't solved the
problem, segmentation fault is still occuring randomly when rebooting
but less often than before.
Bellow are some boot logs extracts, I hope it will give you other ideas:
===========================================
Begin: Loading[ 5.181890] md: raid1 personality registered for level 1
Success: loaded module raid1.
done.
Begin: Assembling all MD arrays ... [ 5.253192] md: md1 stopped.
[ 5.289986] md: bind<sdb2>
[ 5.297419] md: bind<sda2>
[ 5.323848] raid1: raid set md1 active with 2 out of 2 mirrors
[ 5.330025] md1: detected capacity change from 0 to 511692800
mdadm: /dev/md/debian:1 has been started with 2 drives.
[ 5.345109] md1: unknown partition table
[ 5.583525] md: md0 stopped.
mdadm: cannot re-read metadata from /dev/mtdblock5 - aborting
[ 5.668071] md: md2 stopped.
[ 5.701962] md: bind<sdb3>
[ 5.707337] md: bind<sda3>
[ 5.738602] raid1: raid set md2 active with 2 out of 2 mirrors
[ 5.744644] md2: detected capacity change from 0 to 989689110528
mdadm: /dev/md2 has been started with 2 drives.
[ 5.762720] md2: unknown partition table
Segmentation fault
Failure: failed to assemble all arrays.
done.
done.
===========================================
Begin: Loading[ 5.105979] md: raid1 personality registered for level 1
Success: loaded module raid1.
done.
Begin: Assembling all MD arrays ... [ 5.177587] md: md1 stopped.
[ 5.215192] md: bind<sdb2>
[ 5.222784] md: bind<sda2>
[ 5.249114] raid1: raid set md1 active with 2 out of 2 mirrors
[ 5.255129] md1: detected capacity change from 0 to 511692800
mdadm: /dev/md/debian:1 has been started with 2 drives.
[ 5.270464] md1: unknown partition table
Segmentation fault
Failure: failed to assemble all arrays.
done.
done.
Begin: Waiting for root file system ... done.
Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Check root= (did the system wait for the right device?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/disk/by-uuid/695192e7-148e-4d02-8588-4d2fc3f8c978 does not
exist. Dropping to a shell!
===========================================
Arnaud
Le 15/07/2011 05:34, Arnaud Desmier a écrit :
Hi Neil,
I've applied your patch and it is working well, no more crash with
DEVICE=partitions in mdadm.conf
Thanks,
Arnaud
Le 15/07/2011 04:25, NeilBrown a écrit :
On Thu, 14 Jul 2011 20:24:52 +0200 Arnaud Desmier
<arnaud.desm...@googlemail.com> wrote:
Hi Scott,
Thanks for your answer, I've changed /etc/mdadm/mdadm.conf as you
requested and "/sbin/mdadm --assemble --scan --auto=yes --symlink=no"
didn't crashed but exit with code 2, I don't know what it means.
Reboot is now going fine and each array is correctly mounted.
Arnaud
Le 10/07/2011 14:28, Scott Schaefer a écrit :
...
If it "succeeds", then I think there is reasonable chance this is
related to the mtdblock device(s). Update the initramfs, reboot, and
see if the devices are normal on startup.
So it seems to be directly related to the mtdblock devices... I wonder how.
If you have time/interest to experiment and compile some code I would be very
interested to know if changing:
if (posix_memalign((void**)&super, 512,
on line 1291 of super1.c (in the function load_super1) to
if (posix_memalign((void**)&super, 4096,
made any difference.
i.e. get the source, make this change, compile and install. Then
revert the change to mdadm.conf and see if it then fails or works.
Thanks,
NeilBrown