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