xref: /illumos-gate/usr/src/test/zfs-tests/tests/functional/cli_root/zpool_add/zpool_add.kshlib (revision 1d32ba663e202c24a5a1f2e5aef83fffb447cb7f)
1d583b39bSJohn Wren Kennedy#
2d583b39bSJohn Wren Kennedy# CDDL HEADER START
3d583b39bSJohn Wren Kennedy#
4d583b39bSJohn Wren Kennedy# The contents of this file are subject to the terms of the
5d583b39bSJohn Wren Kennedy# Common Development and Distribution License (the "License").
6d583b39bSJohn Wren Kennedy# You may not use this file except in compliance with the License.
7d583b39bSJohn Wren Kennedy#
8d583b39bSJohn Wren Kennedy# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9d583b39bSJohn Wren Kennedy# or http://www.opensolaris.org/os/licensing.
10d583b39bSJohn Wren Kennedy# See the License for the specific language governing permissions
11d583b39bSJohn Wren Kennedy# and limitations under the License.
12d583b39bSJohn Wren Kennedy#
13d583b39bSJohn Wren Kennedy# When distributing Covered Code, include this CDDL HEADER in each
14d583b39bSJohn Wren Kennedy# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15d583b39bSJohn Wren Kennedy# If applicable, add the following below this CDDL HEADER, with the
16d583b39bSJohn Wren Kennedy# fields enclosed by brackets "[]" replaced with your own identifying
17d583b39bSJohn Wren Kennedy# information: Portions Copyright [yyyy] [name of copyright owner]
18d583b39bSJohn Wren Kennedy#
19d583b39bSJohn Wren Kennedy# CDDL HEADER END
20d583b39bSJohn Wren Kennedy#
21d583b39bSJohn Wren Kennedy
22d583b39bSJohn Wren Kennedy#
23d583b39bSJohn Wren Kennedy# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
24d583b39bSJohn Wren Kennedy# Use is subject to license terms.
25d583b39bSJohn Wren Kennedy#
26d583b39bSJohn Wren Kennedy
27d583b39bSJohn Wren Kennedy#
28*1d32ba66SJohn Wren Kennedy# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
29d583b39bSJohn Wren Kennedy#
30d583b39bSJohn Wren Kennedy
31d583b39bSJohn Wren Kennedy. $STF_SUITE/include/libtest.shlib
32d583b39bSJohn Wren Kennedy. $STF_SUITE/tests/functional/cli_root/zpool_add/zpool_add.cfg
33d583b39bSJohn Wren Kennedy
34d583b39bSJohn Wren Kennedy#
35d583b39bSJohn Wren Kennedy# Find the storage device in /etc/vfstab
36d583b39bSJohn Wren Kennedy#
37d583b39bSJohn Wren Kennedyfunction find_vfstab_dev
38d583b39bSJohn Wren Kennedy{
39d583b39bSJohn Wren Kennedy	typeset vfstab="/etc/vfstab"
40d583b39bSJohn Wren Kennedy	typeset tmpfile="/tmp/vfstab.tmp"
41d583b39bSJohn Wren Kennedy	typeset vfstabdev
42d583b39bSJohn Wren Kennedy	typeset vfstabdevs=""
43d583b39bSJohn Wren Kennedy	typeset line
44d583b39bSJohn Wren Kennedy
45*1d32ba66SJohn Wren Kennedy	cat $vfstab | grep "^/dev/dsk" >$tmpfile
46d583b39bSJohn Wren Kennedy	while read -r line
47d583b39bSJohn Wren Kennedy	do
48*1d32ba66SJohn Wren Kennedy		vfstabdev=`echo "$line" | awk '{print $1}'`
49d583b39bSJohn Wren Kennedy		vfstabdev=${vfstabdev%%:}
50d583b39bSJohn Wren Kennedy		vfstabdevs="$vfstabdev $vfstabdevs"
51d583b39bSJohn Wren Kennedy	done <$tmpfile
52d583b39bSJohn Wren Kennedy
53*1d32ba66SJohn Wren Kennedy	rm -f $tmpfile
54*1d32ba66SJohn Wren Kennedy	echo $vfstabdevs
55d583b39bSJohn Wren Kennedy}
56d583b39bSJohn Wren Kennedy
57d583b39bSJohn Wren Kennedy#
58d583b39bSJohn Wren Kennedy# Find the storage device in /etc/mnttab
59d583b39bSJohn Wren Kennedy#
60d583b39bSJohn Wren Kennedyfunction find_mnttab_dev
61d583b39bSJohn Wren Kennedy{
62d583b39bSJohn Wren Kennedy	typeset mnttab="/etc/mnttab"
63d583b39bSJohn Wren Kennedy	typeset tmpfile="/tmp/mnttab.tmp"
64d583b39bSJohn Wren Kennedy	typeset mnttabdev
65d583b39bSJohn Wren Kennedy	typeset mnttabdevs=""
66d583b39bSJohn Wren Kennedy	typeset line
67d583b39bSJohn Wren Kennedy
68*1d32ba66SJohn Wren Kennedy	cat $mnttab | grep "^/dev/dsk" >$tmpfile
69d583b39bSJohn Wren Kennedy	while read -r line
70d583b39bSJohn Wren Kennedy	do
71*1d32ba66SJohn Wren Kennedy		mnttabdev=`echo "$line" | awk '{print $1}'`
72d583b39bSJohn Wren Kennedy		mnttabdev=${mnttabdev%%:}
73d583b39bSJohn Wren Kennedy		mnttabdevs="$mnttabdev $mnttabdevs"
74d583b39bSJohn Wren Kennedy	done <$tmpfile
75d583b39bSJohn Wren Kennedy
76*1d32ba66SJohn Wren Kennedy	rm -f $tmpfile
77*1d32ba66SJohn Wren Kennedy	echo $mnttabdevs
78d583b39bSJohn Wren Kennedy}
79d583b39bSJohn Wren Kennedy
80d583b39bSJohn Wren Kennedy#
81d583b39bSJohn Wren Kennedy# Save the systme current dump device configuration
82d583b39bSJohn Wren Kennedy#
83d583b39bSJohn Wren Kennedyfunction save_dump_dev
84d583b39bSJohn Wren Kennedy{
85d583b39bSJohn Wren Kennedy
86d583b39bSJohn Wren Kennedy	typeset dumpdev
87d583b39bSJohn Wren Kennedy	typeset fnd="Dump device"
88d583b39bSJohn Wren Kennedy
89*1d32ba66SJohn Wren Kennedy	dumpdev=`dumpadm | grep "$fnd" | cut -f2 -d : | \
90*1d32ba66SJohn Wren Kennedy		awk '{print $1}'`
91*1d32ba66SJohn Wren Kennedy	echo $dumpdev
92d583b39bSJohn Wren Kennedy}
93d583b39bSJohn Wren Kennedy
94d583b39bSJohn Wren Kennedy#
95d583b39bSJohn Wren Kennedy# Common cleanup routine for partitions used in testing
96d583b39bSJohn Wren Kennedy#
97d583b39bSJohn Wren Kennedyfunction partition_cleanup
98d583b39bSJohn Wren Kennedy{
99d583b39bSJohn Wren Kennedy
100d583b39bSJohn Wren Kennedy        if [[ -n $DISK ]]; then
101d583b39bSJohn Wren Kennedy                partition_disk $SIZE $DISK 7
102d583b39bSJohn Wren Kennedy        else
103d583b39bSJohn Wren Kennedy                typeset disk=""
104d583b39bSJohn Wren Kennedy                for disk in $DISK0 $DISK1; do
105d583b39bSJohn Wren Kennedy                        partition_disk $SIZE $disk 7
106d583b39bSJohn Wren Kennedy                done
107d583b39bSJohn Wren Kennedy        fi
108d583b39bSJohn Wren Kennedy
109d583b39bSJohn Wren Kennedy}
110