1 #!/bin/ksh -p
   2 #
   3 # CDDL HEADER START
   4 #
   5 # The contents of this file are subject to the terms of the
   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 #
  24 # Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
  25 #
  26 
  27 . /usr/lib/brand/ipkg/common.ksh
  28 
  29 # States
  30 # ZONE_STATE_CONFIGURED           0 (never see)
  31 # ZONE_STATE_INCOMPLETE           1 (never see)
  32 # ZONE_STATE_INSTALLED            2
  33 # ZONE_STATE_READY                3
  34 # ZONE_STATE_RUNNING              4
  35 # ZONE_STATE_SHUTTING_DOWN        5
  36 # ZONE_STATE_DOWN                 6
  37 # ZONE_STATE_MOUNTED              7
  38 
  39 # cmd
  40 #
  41 # ready                 0
  42 # boot                  1
  43 # halt                  4
  44 
  45 ZONENAME=$1
  46 ZONEPATH=$2
  47 state=$3
  48 cmd=$4
  49 ALTROOT=$5
  50 
  51 # If we're not halting the zone, then just return.
  52 if [ $cmd -eq 4 ]; then
  53         is_brand_labeled
  54         if (( $? == 0 )); then
  55                 # Leave the active dataset mounted after halting (this might be
  56                 # a different dataset than what was mounted).
  57                 mount_active_ds
  58         else
  59                 # Umount dataset on the root.
  60                 zoneroot="$ZONEPATH/root"
  61                 umount $zoneroot || printf "$f_zfs_unmount" "$zoneroot"
  62         fi
  63 fi
  64 
  65 exit $ZONE_SUBPROC_OK