e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# CDDL HEADER START
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# The contents of this file are subject to the terms of the
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# Common Development and Distribution License (the "License").
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# You may not use this file except in compliance with the License.
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# See the License for the specific language governing permissions
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# and limitations under the License.
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# When distributing Covered Code, include this CDDL HEADER in each
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# If applicable, add the following below this CDDL HEADER, with the
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# fields enclosed by brackets "[]" replaced with your own identifying
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# information: Portions Copyright [yyyy] [name of copyright owner]
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# CDDL HEADER END
ab5dfd5e82c7de6e8a7172573741f3c5890a82fa# Copyright 2010 Sun Microsystems, Inc. All rights reserved.
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# Use is subject to license terms.
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinekm_usage=$(gettext "solaris10 brand usage: clone {sourcezone}.")
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinekf_nosource=$(gettext "Error: unable to determine source zone dataset.")
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinekf_sysunconfig=$(gettext "Error: sys-unconfig failed.")
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# Other brand clone options are invalid for this brand.
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# Find the active source zone dataset to clone.
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelineksourcezonepath=`/usr/sbin/zonecfg -z $sourcezone info zonepath | \
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinekif [ -z "$sourcezonepath" ]; then
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# Now set up the zone's datasets
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# First make the top-level dataset.
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# Create the datasets.
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek/usr/sbin/zfs create -o mountpoint=legacy -o zoned=on $zpds/$zpname/ROOT
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# make snapshot
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek if [ $? = 0 ]; then
090f667debfb7792a579172d3f173753762ee29azfs clone -o canmount=noauto $ACTIVE_SRC@$SNAPNAME $ACTIVE_DS
090f667debfb7792a579172d3f173753762ee29aif [ ! -d $ZONEROOT ]; then
090f667debfb7792a579172d3f173753762ee29amount -F zfs $ACTIVE_DS $ZONEROOT || fail_fatal "$f_zfs_mount"
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek# Don't re-sysunconfig if we've already done so
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinekif [[ ! -f $ZONEROOT/etc/.UNCONFIGURED ]]; then
e71ca95ca6de23d33b54cb55cefdef30bc7c969bGerald Jelinek /usr/sbin/zoneadm -z $ZONENAME boot -f -- -m milestone=none
ab5dfd5e82c7de6e8a7172573741f3c5890a82fa# Add a service tag for this zone.