003 File Manager
Current Path:
/usr/src/tests/sys/cddl/zfs/tests/cli_root/zpool_import
usr
/
src
/
tests
/
sys
/
cddl
/
zfs
/
tests
/
cli_root
/
zpool_import
/
📁
..
📄
Makefile
(1.46 KB)
📁
blockfiles
📄
cleanup.ksh
(1.28 KB)
📄
setup.ksh
(1.48 KB)
📄
zpool_import.cfg
(3.04 KB)
📄
zpool_import.kshlib
(942 B)
📄
zpool_import_002_pos.ksh
(4.07 KB)
📄
zpool_import_003_pos.ksh
(2.06 KB)
📄
zpool_import_004_pos.ksh
(3.14 KB)
📄
zpool_import_005_pos.ksh
(3.18 KB)
📄
zpool_import_006_pos.ksh
(2.75 KB)
📄
zpool_import_007_pos.ksh
(3.03 KB)
📄
zpool_import_008_pos.ksh
(3.09 KB)
📄
zpool_import_009_neg.ksh
(3.07 KB)
📄
zpool_import_010_pos.ksh
(2.89 KB)
📄
zpool_import_011_neg.ksh
(2.54 KB)
📄
zpool_import_012_pos.ksh
(5.12 KB)
📄
zpool_import_013_neg.ksh
(2.31 KB)
📄
zpool_import_014_pos.ksh
(1.75 KB)
📄
zpool_import_all_001_pos.ksh
(5.1 KB)
📄
zpool_import_corrupt_001_pos.ksh
(3.48 KB)
📄
zpool_import_destroyed_001_neg.ksh
(2.72 KB)
📄
zpool_import_destroyed_002_neg.ksh
(2.33 KB)
📄
zpool_import_missing_001_pos.ksh
(4.82 KB)
📄
zpool_import_missing_002_pos.ksh
(4.1 KB)
📄
zpool_import_missing_003_pos.ksh
(5.7 KB)
📄
zpool_import_missing_004_pos.ksh
(2.57 KB)
📄
zpool_import_missing_005_pos.ksh
(3.87 KB)
📄
zpool_import_rename_001_pos.ksh
(4.42 KB)
📄
zpool_import_test.sh
(17.19 KB)
Editing: zpool_import_002_pos.ksh
#!/usr/local/bin/ksh93 -p # # 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 # # $FreeBSD$ # # Copyright 2007 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # ident "@(#)zpool_import_002_pos.ksh 1.3 07/10/09 SMI" # . $STF_SUITE/include/libtest.kshlib . $STF_SUITE/tests/cli_root/zfs_mount/zfs_mount.kshlib ################################################################################ # # __stc_assertion_start # # ID: zpool_import_002_pos # # DESCRIPTION: # Verify that an exported pool cannot be imported # more than once. # # STRATEGY: # 1. Populate the default test directory and unmount it. # 2. Export the default test pool. # 3. Import it using the various combinations. # - Regular import # - Alternate Root Specified # 4. Verify it shows up under 'zpool list'. # 5. Verify it contains a file. # 6. Attempt to import it for a second time. Verify this fails. # # TESTABILITY: explicit # # TEST_AUTOMATION_LEVEL: automated # # CODING_STATUS: COMPLETED (2005-07-04) # # __stc_assertion_end # ################################################################################ verify_runnable "global" set -A pools "$TESTPOOL" "$TESTPOOL1" set -A devs "" "-d $DEVICE_DIR" set -A options "" "-R $ALTER_ROOT" set -A mtpts "$TESTDIR" "$TESTDIR1" function cleanup { typeset -i i=0 while (( i < ${#pools[*]} )); do poolexists ${pools[i]} && \ log_must $ZPOOL export ${pools[i]} datasetexists "${pools[i]}/$TESTFS" || \ log_must $ZPOOL import ${devs[i]} ${pools[i]} ismounted "${pools[i]}/$TESTFS" || \ log_must $ZFS mount ${pools[i]}/$TESTFS [[ -e ${mtpts[i]}/$TESTFILE0 ]] && \ log_must $RM -rf ${mtpts[i]}/$TESTFILE0 ((i = i + 1)) done cleanup_filesystem $TESTPOOL1 $TESTFS destroy_pool $TESTPOOL1 [[ -d $ALTER_ROOT ]] && \ log_must $RM -rf $ALTER_ROOT } log_onexit cleanup log_assert "Verify that an exported pool cannot be imported more than once." setup_filesystem "$DEVICE_FILES" $TESTPOOL1 $TESTFS $TESTDIR1 checksum1=$($SUM $MYTESTFILE | $AWK '{print $1}') typeset -i i=0 typeset -i j=0 typeset basedir function inner_test { typeset pool=$1 typeset target=$2 typeset devs=$3 typeset opts=$4 typeset mtpt=$5 log_must $ZPOOL import ${devs} ${opts} $target log_must poolexists $pool log_must ismounted $pool/$TESTFS basedir=$mtpt [ -n "$opts" ] && basedir="$ALTER_ROOT/$mtpt" [ ! -e "$basedir/$TESTFILE0" ] && \ log_fail "ERROR: $basedir/$TESTFILE0 missing after import." checksum2=$($SUM $basedir/$TESTFILE0 | $AWK '{print $1}') [[ "$checksum1" != "$checksum2" ]] && \ log_fail "ERROR: Checksums differ ($checksum1 != $checksum2)" log_mustnot $ZPOOL import $devs $target } while (( i < ${#pools[*]} )); do log_must $CP $MYTESTFILE ${mtpts[i]}/$TESTFILE0 log_must $ZFS umount ${mtpts[i]} j=0 while (( j < ${#options[*]} )); do typeset pool=${pools[i]} typeset vdevdir="" log_must $ZPOOL export $pool [ "$pool" = "$TESTPOOL1" ] && vdevdir="$DEVICE_DIR" guid=$(get_config $pool pool_guid $vdevdir) log_must test -n "$guid" log_note "Importing '$pool' by guid '$guid'" inner_test $pool $guid "${devs[i]}" "${options[j]}" ${mtpts[i]} log_must $ZPOOL export $pool log_note "Importing '$pool' by name." inner_test $pool $pool "${devs[i]}" "${options[j]}" ${mtpts[i]} ((j = j + 1)) done ((i = i + 1)) done log_pass "Able to import exported pools and import only once."
Upload File
Create Folder