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 2008 Sun Microsystems, Inc.  All rights reserved.
24d583b39bSJohn Wren Kennedy# Use is subject to license terms.
25d583b39bSJohn Wren Kennedy#
26d583b39bSJohn Wren Kennedy
27d583b39bSJohn Wren Kennedy#
28286ef713SPaul Dagnelie# Copyright (c) 2012, 2016 by Delphix. All rights reserved.
29c09fb523SKody Kantor# Copyright 2019 Joyent, Inc.
30*0caa7519SOlaf Faaland# Copyright (c) 2017 Lawrence Livermore National Security, LLC.
31d583b39bSJohn Wren Kennedy#
32d583b39bSJohn Wren Kennedy
33d583b39bSJohn Wren Kennedy. $STF_SUITE/include/libtest.shlib
34d583b39bSJohn Wren Kennedy
35d583b39bSJohn Wren Kennedy# Define run length constants
36d583b39bSJohn Wren Kennedyexport RT_LONG="3"
37d583b39bSJohn Wren Kennedyexport RT_MEDIUM="2"
38d583b39bSJohn Wren Kennedyexport RT_SHORT="1"
39d583b39bSJohn Wren Kennedy
40d583b39bSJohn Wren Kennedy# Define macro for zone test
41d583b39bSJohn Wren Kennedyexport ZONE_POOL="zonepool"
42d583b39bSJohn Wren Kennedyexport ZONE_CTR="zonectr"
43d583b39bSJohn Wren Kennedy
44d583b39bSJohn Wren Kennedy# ensure we're running in the C locale, since
45d583b39bSJohn Wren Kennedy# localised messages may result in test failures
46d583b39bSJohn Wren Kennedyexport LC_ALL="C"
47d583b39bSJohn Wren Kennedyexport LANG="C"
48d583b39bSJohn Wren Kennedy
49d583b39bSJohn Wren Kennedy#
50d583b39bSJohn Wren Kennedy# pattern to ignore from 'zpool list'.
51d583b39bSJohn Wren Kennedy#
52d583b39bSJohn Wren Kennedyexport NO_POOLS="no pools available"
53d583b39bSJohn Wren Kennedy
54d583b39bSJohn Wren Kennedy# pattern to ignore from 'zfs list'.
55d583b39bSJohn Wren Kennedyexport NO_DATASETS="no datasets available"
56d583b39bSJohn Wren Kennedy
57c09fb523SKody Kantorexport TEST_BASE_DIR="/var/tmp"
58d583b39bSJohn Wren Kennedy
59d583b39bSJohn Wren Kennedy# Default to compression ON
60d583b39bSJohn Wren Kennedyexport COMPRESSION_PROP=on
61d583b39bSJohn Wren Kennedy
62d583b39bSJohn Wren Kennedy# Default to using the checksum
63d583b39bSJohn Wren Kennedyexport CHECKSUM_PROP=on
64d583b39bSJohn Wren Kennedy
65d583b39bSJohn Wren Kennedy# some common variables used by test scripts :
66dcbf3bd6SGeorge Wilsonexport FIO_SCRIPTS=$STF_SUITE/tests/perf/fio
67dcbf3bd6SGeorge Wilsonexport PERF_SCRIPTS=$STF_SUITE/tests/perf/scripts
68d583b39bSJohn Wren Kennedy
69d583b39bSJohn Wren Kennedy# some test pool names
70ac89d1e8SJohn Kennedyexport TESTPOOL=testpool
71ac89d1e8SJohn Kennedyexport TESTPOOL1=testpool1
72ac89d1e8SJohn Kennedyexport TESTPOOL2=testpool2
73ac89d1e8SJohn Kennedyexport TESTPOOL3=testpool3
74dcbf3bd6SGeorge Wilsonexport PERFPOOL=perfpool
75d583b39bSJohn Wren Kennedy
76d583b39bSJohn Wren Kennedy# some test file system names
77ac89d1e8SJohn Kennedyexport TESTFS=testfs
78ac89d1e8SJohn Kennedyexport TESTFS1=testfs1
79ac89d1e8SJohn Kennedyexport TESTFS2=testfs2
80ac89d1e8SJohn Kennedyexport TESTFS3=testfs3
81d583b39bSJohn Wren Kennedy
82d583b39bSJohn Wren Kennedy# some test directory names
83ac89d1e8SJohn Kennedyexport TESTDIR=${TEST_BASE_DIR%%/}/testdir
84ac89d1e8SJohn Kennedyexport TESTDIR0=${TEST_BASE_DIR%%/}/testdir0
85ac89d1e8SJohn Kennedyexport TESTDIR1=${TEST_BASE_DIR%%/}/testdir1
86ac89d1e8SJohn Kennedyexport TESTDIR2=${TEST_BASE_DIR%%/}/testdir2
87ac89d1e8SJohn Kennedy
88*0caa7519SOlaf Faaland# some temp files
89*0caa7519SOlaf Faalandexport TEMPFILE=${TEST_BASE_DIR%%/}/tempfile$$
90*0caa7519SOlaf Faalandexport TEMPFILE0=${TEST_BASE_DIR%%/}/tempfile0$$
91*0caa7519SOlaf Faalandexport TEMPFILE1=${TEST_BASE_DIR%%/}/tempfile1$$
92*0caa7519SOlaf Faalandexport TEMPFILE2=${TEST_BASE_DIR%%/}/tempfile2$$
93*0caa7519SOlaf Faaland
94*0caa7519SOlaf Faaland
95ac89d1e8SJohn Kennedy# some test sub file system names
96ac89d1e8SJohn Kennedyexport TESTSUBFS=subfs
97ac89d1e8SJohn Kennedyexport TESTSUBFS1=subfs1
98ac89d1e8SJohn Kennedyexport TESTSUBFS2=subfs2
99d583b39bSJohn Wren Kennedy
100d583b39bSJohn Wren Kennedyexport ZFSROOT=
101d583b39bSJohn Wren Kennedy
102ac89d1e8SJohn Kennedyexport TESTSNAP=testsnap
103ac89d1e8SJohn Kennedyexport TESTSNAP1=testsnap1
104ac89d1e8SJohn Kennedyexport TESTSNAP2=testsnap2
105ac89d1e8SJohn Kennedyexport TESTCLONE=testclone
106ac89d1e8SJohn Kennedyexport TESTCLONE1=testclone1
107ac89d1e8SJohn Kennedyexport TESTCLONE2=testclone2
108ac89d1e8SJohn Kennedyexport TESTCLCT=testclct
109ac89d1e8SJohn Kennedyexport TESTCTR=testctr
110ac89d1e8SJohn Kennedyexport TESTCTR1=testctr1
111ac89d1e8SJohn Kennedyexport TESTCTR2=testctr2
112ac89d1e8SJohn Kennedyexport TESTVOL=testvol
113ac89d1e8SJohn Kennedyexport TESTVOL1=testvol1
114ac89d1e8SJohn Kennedyexport TESTVOL2=testvol2
115ac89d1e8SJohn Kennedyexport TESTFILE0=testfile0
116ac89d1e8SJohn Kennedyexport TESTFILE1=testfile1
117ac89d1e8SJohn Kennedyexport TESTFILE2=testfile2
118edb901aaSMarcel Telkaexport TESTBKMARK=testbkmark
119d583b39bSJohn Wren Kennedy
120d583b39bSJohn Wren Kennedyexport LONGPNAME="poolname50charslong_012345678901234567890123456789"
121d583b39bSJohn Wren Kennedyexport LONGFSNAME="fsysname50charslong_012345678901234567890123456789"
122d583b39bSJohn Wren Kennedyexport SNAPFS="$TESTPOOL/$TESTFS@$TESTSNAP"
123d583b39bSJohn Wren Kennedyexport SNAPFS1="$TESTPOOL/$TESTVOL@$TESTSNAP"
124d583b39bSJohn Wren Kennedy
125d583b39bSJohn Wren Kennedyexport VOLSIZE=150m
126d583b39bSJohn Wren Kennedyexport BIGVOLSIZE=1eb
127d583b39bSJohn Wren Kennedy
128d583b39bSJohn Wren Kennedy# Default to limit disks to be checked
129d583b39bSJohn Wren Kennedyexport MAX_FINDDISKSNUM=6
130d583b39bSJohn Wren Kennedy
1314b5c8e93SMatthew Ahrens# Default minimum size for file based vdevs in the test suite
1324b5c8e93SMatthew Ahrensexport MINVDEVSIZE=$((256 * 1024 * 1024))
1334b5c8e93SMatthew Ahrens
1344b5c8e93SMatthew Ahrens# Minimum vdev size possible as defined in the OS
1354b5c8e93SMatthew Ahrensexport SPA_MINDEVSIZE=$((64 * 1024 * 1024))
1364b5c8e93SMatthew Ahrens
1371d32ba66SJohn Wren Kennedyexport AUTO_SNAP=$(svcs -a | grep auto-snapshot | grep online | awk \
138d583b39bSJohn Wren Kennedy    '{print $3}')
139d583b39bSJohn Wren Kennedy
140d583b39bSJohn Wren Kennedy# finally, if we're running in a local zone
141d583b39bSJohn Wren Kennedy# we take some additional actions
142d583b39bSJohn Wren Kennedyif ! is_global_zone; then
143d583b39bSJohn Wren Kennedy	reexport_pool
144d583b39bSJohn Wren Kennedyfi
145d583b39bSJohn Wren Kennedy
146d583b39bSJohn Wren Kennedyexport ZFS_VERSION=5
147d583b39bSJohn Wren Kennedyexport ZFS_ALL_VERSIONS="1 2 3 4 5"
148d583b39bSJohn Wren Kennedy
149d583b39bSJohn Wren Kennedyfor i in $ZFS_ALL_VERSIONS; do
150d583b39bSJohn Wren Kennedy	eval 'export ZFS_VERSION_$i="v${i}-fs"'
151d583b39bSJohn Wren Kennedydone
152a60ca23dSTom Caputi
153a60ca23dSTom Caputiexport ZVOL_DEVDIR="/dev/zvol/dsk"
154a60ca23dSTom Caputiexport ZVOL_RDEVDIR="/dev/zvol/rdsk"
155a60ca23dSTom Caputiexport DEV_DSKDIR="/dev/dsk"
156a60ca23dSTom Caputiexport DEV_RDSKDIR="/dev/rdsk"
157a60ca23dSTom Caputi
158a60ca23dSTom Caputiexport NEWFS_DEFAULT_FS="ufs"
159