Home | History | Annotate | Download | only in slog
      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 2007 Sun Microsystems, Inc.  All rights reserved.
     25 # Use is subject to license terms.
     26 #
     27 # ident	"@(#)slog_007_pos.ksh	1.1	07/07/31 SMI"
     28 #
     29 
     30 . $STF_SUITE/tests/functional/slog/slog.kshlib
     31 
     32 #################################################################################
     33 #
     34 # __stc_assertion_start
     35 #
     36 # ID: slog_007_pos
     37 #
     38 # DESCRIPTION:
     39 #	Exporting and importing pool with log devices passes.
     40 #
     41 # STRATEGY:
     42 #	1. Create pool with log devices.
     43 #	2. Export and import the pool
     44 #	3. Display pool status
     45 #	4. Destroy and import the pool again
     46 #	5. Display pool status
     47 #	6. Destroy and loop to create pool with different configuration.
     48 #
     49 # TESTABILITY: explicit
     50 #
     51 # TEST_AUTOMATION_LEVEL: automated
     52 #
     53 # CODING_STATUS: COMPLETED (2007-06-13)
     54 #
     55 # __stc_assertion_end
     56 #
     57 ################################################################################
     58 
     59 verify_runnable "global"
     60 
     61 log_assert "Exporting and importing pool with log devices passes."
     62 log_onexit cleanup
     63 
     64 for type in "" "mirror" "raidz" "raidz2"
     65 do
     66 	for spare in "" "spare"
     67 	do
     68 		for logtype in "" "mirror"
     69 		do
     70 			#
     71 			# Create pool which devices resider in different
     72 			# directory
     73 			#
     74 			log_must $ZPOOL create $TESTPOOL $type $VDEV \
     75 				$spare $SDEV log $logtype $LDEV $LDEV2
     76 			ldev=$(random_get $LDEV $LDEV2)
     77 			log_must verify_slog_device \
     78 				$TESTPOOL $ldev 'ONLINE' $logtype
     79 
     80 			#
     81 			# Nomal export/import operating
     82 			#
     83 			log_must $ZPOOL export $TESTPOOL
     84 			log_must $ZPOOL import -d $VDIR -d $VDIR2 $TESTPOOL
     85 			log_must display_status $TESTPOOL
     86 			ldev=$(random_get $LDEV $LDEV2)
     87 			log_must verify_slog_device \
     88 				$TESTPOOL $ldev 'ONLINE' $logtype
     89 
     90 			#
     91 			# Destroy the pool and import again
     92 			#
     93 			log_must $ZPOOL destroy $TESTPOOL
     94 			log_must $ZPOOL import -Df -d $VDIR -d $VDIR2 $TESTPOOL
     95 			log_must display_status $TESTPOOL
     96 			ldev=$(random_get $LDEV $LDEV2)
     97 			log_must verify_slog_device \
     98 				$TESTPOOL $ldev 'ONLINE' $logtype
     99 
    100 			log_must $ZPOOL destroy -f $TESTPOOL
    101 		done
    102 	done
    103 done
    104 
    105 log_pass "Exporting and importing pool with log devices passes."
    106