OpenSolaris_b135/pkgdefs/common_files/i.sdconf_sparc

#!/bin/sh
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#

#
# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
#ident	"%Z%%M%	%I%	%E% SMI"
#

PATH="/usr/bin:/usr/sbin:${PATH}"
export PATH

add_mpt_entry() {
cat >> $dest << EOF

#
# Enable Target 7 for the mpt SCSI/SAS/SATA driver.  Target 7 has
# traditionally been reserved for legacy SCSI HBAs, but SAS controllers
# supported by the mpt driver do not use target 7 for that purpose.
# Enabling Target 7 allows the use of 8 disks on those controllers.
#
name="sd" parent="mpt"
	target=7 lun=0;
EOF
}

add_self_identifying_entry() {
cat >> $dest <<EOF

#
# The following stub node is needed for pathological bottom-up
# devid resolution on a self-identifying transport. 
#
name="sd" class="scsi-self-identifying";
EOF
}

while read src dest; do
	if [ ! -f $dest ]; then
		cp $src $dest
	else
		line1="name=\"sd\" parent=\"mpt\""
		line2="target=7 lun=0;"
		echo `cat $dest` | grep "$line1[# ]*$line2" >/dev/null

		if [ $? -ne 0 ]; then
			add_mpt_entry
		fi
		echo `cat $dest` | grep "scsi-self-identifying" > /dev/null

		if [ $? -ne 0 ]; then
			add_self_identifying_entry
		fi	
	fi
done

exit 0