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: