xref: /titanic_44/usr/src/test/zfs-tests/tests/functional/interop/cleanup.ksh (revision f38cb554a534c6df738be3f4d23327e69888e634)
1*f38cb554SJohn Wren Kennedy#!/usr/bin/ksh -p
2*f38cb554SJohn Wren Kennedy#
3*f38cb554SJohn Wren Kennedy# CDDL HEADER START
4*f38cb554SJohn Wren Kennedy#
5*f38cb554SJohn Wren Kennedy# The contents of this file are subject to the terms of the
6*f38cb554SJohn Wren Kennedy# Common Development and Distribution License (the "License").
7*f38cb554SJohn Wren Kennedy# You may not use this file except in compliance with the License.
8*f38cb554SJohn Wren Kennedy#
9*f38cb554SJohn Wren Kennedy# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*f38cb554SJohn Wren Kennedy# or http://www.opensolaris.org/os/licensing.
11*f38cb554SJohn Wren Kennedy# See the License for the specific language governing permissions
12*f38cb554SJohn Wren Kennedy# and limitations under the License.
13*f38cb554SJohn Wren Kennedy#
14*f38cb554SJohn Wren Kennedy# When distributing Covered Code, include this CDDL HEADER in each
15*f38cb554SJohn Wren Kennedy# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*f38cb554SJohn Wren Kennedy# If applicable, add the following below this CDDL HEADER, with the
17*f38cb554SJohn Wren Kennedy# fields enclosed by brackets "[]" replaced with your own identifying
18*f38cb554SJohn Wren Kennedy# information: Portions Copyright [yyyy] [name of copyright owner]
19*f38cb554SJohn Wren Kennedy#
20*f38cb554SJohn Wren Kennedy# CDDL HEADER END
21*f38cb554SJohn Wren Kennedy#
22*f38cb554SJohn Wren Kennedy
23*f38cb554SJohn Wren Kennedy#
24*f38cb554SJohn Wren Kennedy# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
25*f38cb554SJohn Wren Kennedy# Use is subject to license terms.
26*f38cb554SJohn Wren Kennedy#
27*f38cb554SJohn Wren Kennedy
28*f38cb554SJohn Wren Kennedy#
29*f38cb554SJohn Wren Kennedy# Copyright (c) 2013 by Delphix. All rights reserved.
30*f38cb554SJohn Wren Kennedy#
31*f38cb554SJohn Wren Kennedy
32*f38cb554SJohn Wren Kennedy. $STF_SUITE/include/libtest.shlib
33*f38cb554SJohn Wren Kennedy. $STF_SUITE/tests/functional/interop/interop.cfg
34*f38cb554SJohn Wren Kennedy
35*f38cb554SJohn Wren Kennedyverify_runnable "global"
36*f38cb554SJohn Wren Kennedy
37*f38cb554SJohn Wren Kennedyismounted $TESTPOOL/$TESTFS
38*f38cb554SJohn Wren Kennedy(( $? == 0 )) && log_must $ZFS umount -f $TESTDIR
39*f38cb554SJohn Wren Kennedydestroy_pool $TESTPOOL
40*f38cb554SJohn Wren Kennedy
41*f38cb554SJohn Wren Kennedy$METASTAT $META_DEVICE_ID > /dev/null 2>&1
42*f38cb554SJohn Wren Kennedyif (( $? == 0 )); then
43*f38cb554SJohn Wren Kennedy	log_note "Clearing meta device ($META_DEVICE_ID)"
44*f38cb554SJohn Wren Kennedy	$METACLEAR -f $META_DEVICE_ID > /dev/null 2>&1
45*f38cb554SJohn Wren Kennedyfi
46*f38cb554SJohn Wren Kennedy
47*f38cb554SJohn Wren Kennedytypeset metadb=""
48*f38cb554SJohn Wren Kennedytypeset i=""
49*f38cb554SJohn Wren Kennedy
50*f38cb554SJohn Wren Kennedymetadb=`$METADB | $CUT -f6 | $GREP dev | $UNIQ`
51*f38cb554SJohn Wren Kennedyfor i in $metadb; do
52*f38cb554SJohn Wren Kennedy	log_note "Clearing meta db ($i)"
53*f38cb554SJohn Wren Kennedy	$METADB -fd $i > /dev/null 2>&1
54*f38cb554SJohn Wren Kennedydone
55*f38cb554SJohn Wren Kennedy
56*f38cb554SJohn Wren Kennedy# recreate and destroy a zpool over the disks to restore the partitions to
57*f38cb554SJohn Wren Kennedy# normal
58*f38cb554SJohn Wren Kennedycase $DISK_COUNT in
59*f38cb554SJohn Wren Kennedy0)
60*f38cb554SJohn Wren Kennedy	log_note "No disk devices to restore"
61*f38cb554SJohn Wren Kennedy	;;
62*f38cb554SJohn Wren Kennedy1)
63*f38cb554SJohn Wren Kennedy	log_must cleanup_devices $ZFS_DISK2
64*f38cb554SJohn Wren Kennedy	;;
65*f38cb554SJohn Wren Kennedy2)
66*f38cb554SJohn Wren Kennedy	log_must cleanup_devices $META_DISK0 $ZFS_DISK2
67*f38cb554SJohn Wren Kennedy	;;
68*f38cb554SJohn Wren Kennedy*)
69*f38cb554SJohn Wren Kennedy	log_must cleanup_devices $META_DISK0 $META_DISK1 $ZFS_DISK2
70*f38cb554SJohn Wren Kennedy	;;
71*f38cb554SJohn Wren Kennedyesac
72*f38cb554SJohn Wren Kennedy
73*f38cb554SJohn Wren Kennedylog_pass "Cleanup has been successful"
74