On Wed, Dec 22, 2004 at 03:39:32PM +0900, Horms wrote: > > Still, I wonder about the ioctl errors that I see with fdisk. > > I took a breif look at initrd and for reference have included > how it handles mdadm below. I think that the important bit > is that it passes not only the md device but its component > devices to mdadm -A (--assemble). It seems to me that as your > invocation does not do that, it is going into a code path > in mdadm that has a bug in it and thus segfaults. In a nutshell, > I don't think it is a kernel problem.
I forgot to mention that I tried passing the component devices to mdadm along with the /dev/md0. Still a segfault. I haven't tried with the UUID, too. > -- > Horms > > getraid_mdadm() { > mdadm=$(mdadm -D "$device") || { > echo "$PROG: mdadm -D $device failed" >&2 > exit 1 > } > eval "$( > echo "$mdadm" | awk ' > $1 == "Raid" && $2 == "Level" { print "echo " $4; > next } > $1 == "Number" && $2 == "Major" { start = 1; next } > $1 == "UUID" { print "uuid=" $3; start = 0; next } > !start { next } > $2 == 0 && $3 == 0 { next } > { devices = devices " " $NF } > END { print "devices='\''" devices "'\''" } > ' > )" > > printf '%s\n' $devices > getroot > echo mdadm -A /devfs/md/$minor -R -u $uuid $devices \ > > md$minor-script > echo /sbin/mdadm >&6 > }