[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#335601: compaq smart array controller support in yaird



Package: yaird
Version: 0.0.11-6

Yaird 0.0.11 does not support the compaq smart array controller;
here's a patch for machines with the cciss driver,  a preview from 0.0.12.

This does not provide support for cpqarray; reports about those are welcome.

Beware: there's one report that the core patch in Plan.pm works; the
other bells and whistles here are untested so far.

--erik


diff -urN -x {arch} -x .arch-ids -x configure -x aclocal.m4 -x depcomp -x missing -x Makefile -x Makefile.in -x install-sh -x INSTALL p73/ChangeLog p74/ChangeLog
--- p73/ChangeLog	2005-10-24 23:51:03.000000000 +0200
+++ p74/ChangeLog	2005-10-24 23:50:57.000000000 +0200
@@ -2,6 +2,27 @@
 # arch-tag: automatic-ChangeLog--ekonijn@xs4all.nl--debian/yaird--devo--0.1
 #
 
+2005-10-22 15:03:19 GMT	Erik van Konijnenburg <ekonijn@xs4all.nl>	patch-74
+
+    Summary:
+      0.0.12 - preparing for ...
+    Revision:
+      yaird--devo--0.1--patch-74
+
+         * Add support for Compaq smartarray, SMART2 only,
+           no reports yet about Smart 5xxx, but should not be too complicated.
+           These drivers don't point to underlying hardware; no change
+           of doing generic detection, just look at name of block device,
+           then pick a hard-coded module
+         * add more quotes in config files.  This should be more robust
+           in the face of ! marks in smart-array device names.
+
+    modified files:
+     ChangeLog perl/KConfig.pm perl/Plan.pm
+     templates/Debian-initrd.cfg templates/Debian.cfg
+     templates/Fedora.cfg
+
+
 2005-10-13 20:44:53 GMT	Erik van Konijnenburg <ekonijn@xs4all.nl>	patch-73
 
     Summary:
diff -urN -x {arch} -x .arch-ids -x configure -x aclocal.m4 -x depcomp -x missing -x Makefile -x Makefile.in -x install-sh -x INSTALL p73/perl/KConfig.pm p74/perl/KConfig.pm
--- p73/perl/KConfig.pm	2005-10-24 23:51:03.000000000 +0200
+++ p74/perl/KConfig.pm	2005-10-24 23:50:57.000000000 +0200
@@ -192,6 +192,10 @@
 	'st' => 'CHR_DEV_ST',
 	'sr-mod' => 'BLK_DEV_SR',
 	'sg' => 'CHR_DEV_SG',
+
+	# Compaq Smart Array controllers
+	'cpqarray' => 'BLK_CPQ_DA',
+	'cciss' => 'BLK_CPQ_CISS_DA',
 };
 
 
diff -urN -x {arch} -x .arch-ids -x configure -x aclocal.m4 -x depcomp -x missing -x Makefile -x Makefile.in -x install-sh -x INSTALL p73/perl/Plan.pm p74/perl/Plan.pm
--- p73/perl/Plan.pm	2005-10-24 23:51:03.000000000 +0200
+++ p74/perl/Plan.pm	2005-10-24 23:50:57.000000000 +0200
@@ -426,6 +426,22 @@
 		return 1;
 	}
 
+	#
+	# compaq smart controllers in 2.6.13 also lack the hardware link.
+	# plan B: assume that a cciss is a cciss.
+	# complication: there's a discrepancy between /sys and /dev:
+	# /sys/block/cciss!c0d0 and /dev/cciss/c0d0, but this turns out
+	# to have no further consequences.
+	#
+	# note that there also exist /dev/ida/c0d0 devices with cpqarray
+	# underlying devices, but no reports about those so far.
+	#
+	if ($name =~ /^cciss!c\d+d\d+$/) {
+		ModProbe::addModules ($actions, [ "cciss" ]);
+		$actions->add("mkbdev", $device->yspecial, sysname => $name);
+		return 1;
+	}
+
 	return 0;
 }
 
diff -urN -x {arch} -x .arch-ids -x configure -x aclocal.m4 -x depcomp -x missing -x Makefile -x Makefile.in -x install-sh -x INSTALL p73/templates/Debian.cfg p74/templates/Debian.cfg
--- p73/templates/Debian.cfg	2005-10-24 23:51:03.000000000 +0200
+++ p74/templates/Debian.cfg	2005-10-24 23:50:57.000000000 +0200
@@ -217,8 +217,7 @@
 		# and already is suitably escaped.
 		SCRIPT "/init"
 		BEGIN
-			!/sbin/insmod '<TMPL_VAR NAME=target>' \
-			!	<TMPL_VAR NAME=optionList>
+			!/sbin/insmod '<TMPL_VAR NAME=target>' <TMPL_VAR NAME=optionList>
 		END SCRIPT
 	END TEMPLATE
 
@@ -360,8 +359,8 @@
 			!	<TMPL_IF NAME=isRoot>$ro</TMPL_IF> \
 			!	-t <TMPL_VAR NAME=fsType> \
 			!	<TMPL_VAR NAME=options> \
-			!	<TMPL_VAR NAME=device> \
-			!	<TMPL_VAR NAME=target>
+			!	'<TMPL_VAR NAME=device>' \
+			!	'<TMPL_VAR NAME=target>'
 		END SCRIPT
 	END TEMPLATE
 
diff -urN -x {arch} -x .arch-ids -x configure -x aclocal.m4 -x depcomp -x missing -x Makefile -x Makefile.in -x install-sh -x INSTALL p73/templates/Debian-initrd.cfg p74/templates/Debian-initrd.cfg
--- p73/templates/Debian-initrd.cfg	2005-10-24 23:51:03.000000000 +0200
+++ p74/templates/Debian-initrd.cfg	2005-10-24 23:50:57.000000000 +0200
@@ -382,8 +382,8 @@
 			!	<TMPL_IF NAME=isRoot>$ro</TMPL_IF> \
 			!	-t <TMPL_VAR NAME=fsType> \
 			!	<TMPL_VAR NAME=options> \
-			!	<TMPL_VAR NAME=device> \
-			!	<TMPL_VAR NAME=target>
+			!	'<TMPL_VAR NAME=device>' \
+			!	'<TMPL_VAR NAME=target>'
 		END SCRIPT
 	END TEMPLATE
 
diff -urN -x {arch} -x .arch-ids -x configure -x aclocal.m4 -x depcomp -x missing -x Makefile -x Makefile.in -x install-sh -x INSTALL p73/templates/Fedora.cfg p74/templates/Fedora.cfg
--- p73/templates/Fedora.cfg	2005-10-24 23:51:03.000000000 +0200
+++ p74/templates/Fedora.cfg	2005-10-24 23:50:57.000000000 +0200
@@ -232,8 +232,7 @@
 		# and already is suitably escaped.
 		SCRIPT "/init"
 		BEGIN
-			!/sbin/insmod '<TMPL_VAR NAME=target>' \
-			!	<TMPL_VAR NAME=optionList>
+			!/sbin/insmod '<TMPL_VAR NAME=target>' <TMPL_VAR NAME=optionList>
 		END SCRIPT
 	END TEMPLATE
 
@@ -380,8 +379,8 @@
 			!	<TMPL_IF NAME=isRoot>$ro</TMPL_IF> \
 			!	-t <TMPL_VAR NAME=fsType> \
 			!	<TMPL_VAR NAME=options> \
-			!	<TMPL_VAR NAME=device> \
-			!	<TMPL_VAR NAME=target>
+			!	'<TMPL_VAR NAME=device>' \
+			!	'<TMPL_VAR NAME=target>'
 		END SCRIPT
 	END TEMPLATE
 



Reply to: