1 |
--- mkinitrd-5.1.19.6/mkinitrd.emc 2007-07-12 10:06:31.000000000 -0400 |
2 |
+++ mkinitrd-5.1.19.6/mkinitrd 2007-07-12 10:06:40.000000000 -0400 |
3 |
@@ -178,14 +178,29 @@ |
4 |
return 1 |
5 |
} |
6 |
|
7 |
+get_disk_vendor() { |
8 |
+ local vendor=$(scsi_id -g -u -s ${1#/sys} -x | grep ^ID_VENDOR= | \ |
9 |
+ sed 's/^ID_VENDOR=//') |
10 |
+ [ -n "$vendor" ] || vendor=$(scsi_id -g -ppre-spc3-83 -u -s ${1#/sys} -x \ |
11 |
+ | grep ^ID_VENDOR= | sed 's/^ID_VENDOR=//') |
12 |
+ [ -z "$vendor" ] && return 1 |
13 |
+ echo ${vendor} |
14 |
+} |
15 |
+ |
16 |
# this sucks; we need a generic way to get the hardware handler |
17 |
is_emc() { |
18 |
- major=$(echo $1 | cut -d: -f1) |
19 |
- minor=$(echo $1 | cut -d: -f2) |
20 |
+ local syspath=$1 |
21 |
+ local devpath=$2 |
22 |
+ local majmin=$(cat ${syspath}/dev) |
23 |
+ local major=$(echo $1 | cut -d: -f1) |
24 |
+ local minor=$(echo $1 | cut -d: -f2) |
25 |
if dmsetup -C -j $major -m $minor table 2>/dev/null | \ |
26 |
grep -v "No devices found" | grep -q " emc " ; then |
27 |
return 0 |
28 |
fi |
29 |
+ if [ "$(get_disk_vendor ${syspath})" == "DGC" ]; then |
30 |
+ return 0 |
31 |
+ fi |
32 |
return 1 |
33 |
} |
34 |
|
35 |
@@ -194,12 +209,14 @@ |
36 |
local arg2="$2" |
37 |
local majmin=$(cat $1/dev) |
38 |
local ret=1 |
39 |
- if is_mpath ${majmin} ; then |
40 |
- arg2=yes |
41 |
- if is_emc ${majmin} ; then |
42 |
+ if [ "${arg2}" == "yes" ]; then |
43 |
+ if is_emc ${1} ${devpath} ; then |
44 |
ret=0 |
45 |
fi |
46 |
fi |
47 |
+ if is_mpath ${majmin} ; then |
48 |
+ arg2=yes |
49 |
+ fi |
50 |
slaves="$1/slaves/*" |
51 |
for slave in $slaves ; do |
52 |
[ -e $slave ] || continue |