Author: sparky
Date: Sat Mar  4 19:27:37 2006
New Revision: 7086

Added:
   ppcrcd/trunk/conf.dir/usr/lib/ppcrcd/assemble   (contents, props changed)
Modified:
   ppcrcd/trunk/conf.dir/usr/lib/ppcrcd/find_md
Log:
- fixed md detection


Added: ppcrcd/trunk/conf.dir/usr/lib/ppcrcd/assemble
==============================================================================
--- (empty file)
+++ ppcrcd/trunk/conf.dir/usr/lib/ppcrcd/assemble       Sat Mar  4 19:27:37 2006
@@ -0,0 +1,8 @@
+#!/bin/sh
+DEV=$1
+
+if ps aux | grep mdadm | grep -q $DEV; then
+       exec /bin/true
+else
+       exec /sbin/mdadm --assemble --scan $DEV
+fi

Modified: ppcrcd/trunk/conf.dir/usr/lib/ppcrcd/find_md
==============================================================================
--- ppcrcd/trunk/conf.dir/usr/lib/ppcrcd/find_md        (original)
+++ ppcrcd/trunk/conf.dir/usr/lib/ppcrcd/find_md        Sat Mar  4 19:27:37 2006
@@ -10,7 +10,7 @@
 
 sub verbose {
        my $verb = shift;
-       return if $verb > $verbose;
+       return if $verbose > $verb;
        my $msg = shift;
 
        warn "$prog: $msg\n";
@@ -48,6 +48,7 @@
 }
 my $cnt = 0;
 
+mkdir "/mnt";
 open MD_OUT, ">> /etc/mdadm.conf";
 open FS_OUT, ">> /etc/fstab";
 open MO_OUT, "> /etc/modprobe.d/md.conf";
@@ -55,18 +56,20 @@
 foreach my $uuid ( sort keys %by_uuid ) {
        # dirname: ex: md0_hda2hdc2
        my $dirname = "md${cnt}_" . join '', sort @{$by_uuid{$uuid}};
-       verbose(2, "  Preparing /dev/$dirname");
+       verbose(2, "  Preparing /mnt/$dirname");
        
-       printf MD_OUT "DEVICE ", join " /dev/", ('', @{$by_uuid{$uuid}});
+       printf MD_OUT "DEVICE " . join " /dev/", ('', @{$by_uuid{$uuid}});
        printf MD_OUT "\nARRAY /dev/md$cnt uuid=$uuid\n";
        
        printf FS_OUT "/dev/md$cnt /mnt/$dirname auto defaults 0 0\n";
        mkdir "/mnt/$dirname";
        
-       printf MO_OUT "install block-major-9-$cnt /sbin/mdadm --assemble --scan 
/dev/md$cnt\n";
+       printf MO_OUT "install block-major-9-$cnt /usr/lib/ppcrcd/assemble 
/dev/md$cnt";
        system("mknod /dev/md$cnt b 9 $cnt");
        $cnt++;
 }
 close MD_OUT;
 close FS_OUT;
 close MO_OUT;
+
+system("modprobe md")
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to