ppcrcd/trunk/conf.dir/usr/lib/ppcrcd: assemble find_md
sparky
cvs at pld-linux.org
Sat Mar 4 19:27:40 CET 2006
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")
More information about the pld-cvs-commit
mailing list