Print this page
XXX Remove nawk(1)


   6 # Common Development and Distribution License (the "License").
   7 # You may not use this file except in compliance with the License.
   8 #
   9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10 # or http://www.opensolaris.org/os/licensing.
  11 # See the License for the specific language governing permissions
  12 # and limitations under the License.
  13 #
  14 # When distributing Covered Code, include this CDDL HEADER in each
  15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16 # If applicable, add the following below this CDDL HEADER, with the
  17 # fields enclosed by brackets "[]" replaced with your own identifying
  18 # information: Portions Copyright [yyyy] [name of copyright owner]
  19 #
  20 # CDDL HEADER END
  21 #
  22 #
  23 # Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
  24 # Use is subject to license terms.
  25 #
  26 # ident "%Z%%M% %I%     %E% SMI"
  27 #
  28 # Start mirror resync threads.
  29 
  30 DEVFSADM=/usr/sbin/devfsadm
  31 METADEVADM=/usr/sbin/metadevadm
  32 METASYNC=/usr/sbin/metasync
  33 METADEV=/dev/md/admin
  34 METASET=/usr/sbin/metaset
  35 TMPFILE=/var/run/metaset.$$
  36 
  37 . /lib/svc/share/smf_include.sh
  38 
  39 print_verbose()
  40 {
  41         echo "Unable to resolve unnamed devices for volume management."
  42         echo "Please refer to the Solaris Volume Manager documentation,"
  43         echo "Troubleshooting section, at http://docs.sun.com or from"
  44         echo "your local copy."
  45 }
  46 
  47 resolve_auto_take_sets()
  48 {
  49         if [ -x $METASET ]; then
  50                 # Fixing up of the ctd names for devices in auto take
  51                 # sets relies heavily on the output of the metaset
  52                 # command. Any change to the output of the metaset command
  53                 # should modify this script as well in order ensure nothing
  54                 # breaks
  55                 #
  56                 # The following command saves all of the auto-take set names
  57                 # into the TMPFILE
  58                 name_str=`gettext "Set name"`
  59                 mn_str=`gettext "Multi-owner"` 
  60                 $METASET | /bin/nawk -F ' |\t|,' -v snm="$name_str" \
  61                     -v mstr="$mn_str" '$0 ~ snm { \
  62                     if (index($0, mstr) == 0) print $4 \
  63                 }' > $TMPFILE 2>&1
  64 
  65                 if [ -s "$TMPFILE" ]; then
  66                         localised_string=`gettext "Yes (auto)"`
  67                         for i in `cat $TMPFILE`; do
  68                                 $METASET -s $i | grep "$localised_string" \
  69                                     > /dev/null 2>&1
  70                                 if [ $? -eq 0 ]; then
  71                                         $METADEVADM -l -r -s $i
  72                                         error=$?    
  73                                         case $error in
  74                                         0|2)    ;;
  75                                         3)      print_verbose
  76                                                 ;;
  77                                         *)      echo "$METADEVADM \
  78                                                 -r failure $error."
  79                                                 ;;
  80                                         esac




   6 # Common Development and Distribution License (the "License").
   7 # You may not use this file except in compliance with the License.
   8 #
   9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10 # or http://www.opensolaris.org/os/licensing.
  11 # See the License for the specific language governing permissions
  12 # and limitations under the License.
  13 #
  14 # When distributing Covered Code, include this CDDL HEADER in each
  15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16 # If applicable, add the following below this CDDL HEADER, with the
  17 # fields enclosed by brackets "[]" replaced with your own identifying
  18 # information: Portions Copyright [yyyy] [name of copyright owner]
  19 #
  20 # CDDL HEADER END
  21 #
  22 #
  23 # Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
  24 # Use is subject to license terms.
  25 #


  26 # Start mirror resync threads.
  27 
  28 DEVFSADM=/usr/sbin/devfsadm
  29 METADEVADM=/usr/sbin/metadevadm
  30 METASYNC=/usr/sbin/metasync
  31 METADEV=/dev/md/admin
  32 METASET=/usr/sbin/metaset
  33 TMPFILE=/var/run/metaset.$$
  34 
  35 . /lib/svc/share/smf_include.sh
  36 
  37 print_verbose()
  38 {
  39         echo "Unable to resolve unnamed devices for volume management."
  40         echo "Please refer to the Solaris Volume Manager documentation,"
  41         echo "Troubleshooting section, at http://docs.sun.com or from"
  42         echo "your local copy."
  43 }
  44 
  45 resolve_auto_take_sets()
  46 {
  47         if [ -x $METASET ]; then
  48                 # Fixing up of the ctd names for devices in auto take
  49                 # sets relies heavily on the output of the metaset
  50                 # command. Any change to the output of the metaset command
  51                 # should modify this script as well in order ensure nothing
  52                 # breaks
  53                 #
  54                 # The following command saves all of the auto-take set names
  55                 # into the TMPFILE
  56                 name_str=`gettext "Set name"`
  57                 mn_str=`gettext "Multi-owner"` 
  58                 $METASET | /usr/xpg4/bin/awk -F ' |\t|,' -v snm="$name_str" \
  59                     -v mstr="$mn_str" '$0 ~ snm { \
  60                     if (index($0, mstr) == 0) print $4 \
  61                 }' > $TMPFILE 2>&1
  62 
  63                 if [ -s "$TMPFILE" ]; then
  64                         localised_string=`gettext "Yes (auto)"`
  65                         for i in `cat $TMPFILE`; do
  66                                 $METASET -s $i | grep "$localised_string" \
  67                                     > /dev/null 2>&1
  68                                 if [ $? -eq 0 ]; then
  69                                         $METADEVADM -l -r -s $i
  70                                         error=$?    
  71                                         case $error in
  72                                         0|2)    ;;
  73                                         3)      print_verbose
  74                                                 ;;
  75                                         *)      echo "$METADEVADM \
  76                                                 -r failure $error."
  77                                                 ;;
  78                                         esac