# # 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 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # . $STF_SUITE/include/libtest.shlib DEPTH_FS=$TESTPOOL/depth_fs MAX_DEPTH=3 DS_COUNT=3 set -A depth_options "d 0" "d 1" "d 2" "d 4" "d 32" set -A depth_array 0 1 2 4 32 # # Setup multiple depths datasets, including fs, volume and snapshot. # function depth_fs_setup { typeset -i i j k typeset fslist log_must $ZFS create $DEPTH_FS (( i=1 )) while (( i<=MAX_DEPTH )); do if (( i==1 )); then fslist=$DEPTH_FS else (( k=i-1 )) fslist=$($ZFS list -rH -t filesystem -o name $DEPTH_FS|$GREP depth"$k"$) if (( $? != 0 )); then log_fail "No depth$k filesystem" fi fi for fs in $fslist; do (( j=1 )) while (( j<=DS_COUNT )); do log_must $ZFS create $fs/fs_"$j"_depth"$i" if is_global_zone ; then log_must $ZFS create -V 8M $fs/vol_"$j"_depth"$i" fi log_must $ZFS snapshot $fs@snap_"$j"_depth"$i" (( j=j+1 )) done done (( i=i+1 )) done } # # Cleanup multiple depths filesystem. # function depth_fs_cleanup { log_must $ZFS destroy -rR $DEPTH_FS }