diff --git a/tests/test-runner/include/Makefile.am b/tests/test-runner/include/Makefile.am
index 7e4080249..d3eeb32de 100644
--- a/tests/test-runner/include/Makefile.am
+++ b/tests/test-runner/include/Makefile.am
@@ -1,6 +1,5 @@
pkgdatadir = $(datadir)/@PACKAGE@/test-runner/include
-dist_pkgdata_SCRIPTS = \
- logapi.shlib
dist_pkgdata_DATA = \
+ logapi.shlib \
stf.shlib
diff --git a/tests/test-runner/include/logapi.shlib b/tests/test-runner/include/logapi.shlib
index fabfc42b1..32fc00616 100644
--- a/tests/test-runner/include/logapi.shlib
+++ b/tests/test-runner/include/logapi.shlib
@@ -1,4 +1,3 @@
-#!/bin/ksh -p
#
# CDDL HEADER START
#
diff --git a/tests/zfs-tests/include/libtest.shlib b/tests/zfs-tests/include/libtest.shlib
index a7344c162..13c859127 100644
--- a/tests/zfs-tests/include/libtest.shlib
+++ b/tests/zfs-tests/include/libtest.shlib
@@ -1,4 +1,3 @@
-#!/bin/ksh -p
#
# CDDL HEADER START
#
diff --git a/tests/zfs-tests/include/zpool_script.shlib b/tests/zfs-tests/include/zpool_script.shlib
index 52ae64890..10bc0cc26 100755
--- a/tests/zfs-tests/include/zpool_script.shlib
+++ b/tests/zfs-tests/include/zpool_script.shlib
@@ -1,4 +1,3 @@
-#!/bin/ksh -p
#
# Common functions used by the zpool_status and zpool_iostat tests for running
# scripts with the -c option.
diff --git a/tests/zfs-tests/tests/functional/cachefile/cachefile.kshlib b/tests/zfs-tests/tests/functional/cachefile/cachefile.kshlib
index a88ac59c3..7723e3083 100644
--- a/tests/zfs-tests/tests/functional/cachefile/cachefile.kshlib
+++ b/tests/zfs-tests/tests/functional/cachefile/cachefile.kshlib
@@ -1,4 +1,3 @@
-#!/bin/ksh -p
#
# CDDL HEADER START
#
diff --git a/tests/zfs-tests/tests/functional/channel_program/Makefile.am b/tests/zfs-tests/tests/functional/channel_program/Makefile.am
new file mode 100644
index 000000000..3886863d1
--- /dev/null
+++ b/tests/zfs-tests/tests/functional/channel_program/Makefile.am
@@ -0,0 +1,6 @@
+SUBDIRS = \
+ lua_core \
+ synctask_core
+
+pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/channel_program
+dist_pkgdata_DATA = channel_common.kshlib
diff --git a/tests/zfs-tests/tests/functional/channel_program/channel_common.kshlib b/tests/zfs-tests/tests/functional/channel_program/channel_common.kshlib
new file mode 100644
index 000000000..c1ecc5296
--- /dev/null
+++ b/tests/zfs-tests/tests/functional/channel_program/channel_common.kshlib
@@ -0,0 +1,238 @@
+#
+# This file and its contents are supplied under the terms of the
+# Common Development and Distribution License ("CDDL"), version 1.0.
+# You may only use this file in accordance with the terms of version
+# 1.0 of the CDDL.
+#
+# A full copy of the text of the CDDL should have accompanied this
+# source. A copy of the CDDL is also available via the Internet at
+# http://www.illumos.org/license/CDDL.
+#
+
+#
+# Copyright (c) 2016, 2017 by Delphix. All rights reserved.
+#
+
+. $STF_SUITE/include/libtest.shlib
+
+ZCP_ROOT=$STF_SUITE/tests/functional/channel_program
+
+#
+# Note: In case of failure (log_fail) in this function
+# we delete the file passed as so the
+# test suite doesn't leak temp files on failures. So it
+# is expected that is a temp file and not
+# an installed file.
+#
+#
+# e.g. log_program 0 "" tmp.7a12V $POOL foo.zcp arg1 arg2
+function log_program
+{
+ typeset expectexit=$1
+ shift
+ typeset expecterror=$1
+ shift
+ typeset tmpin=$1
+ shift
+ typeset cmdargs=$@ tmpout=$(mktemp) tmperr=$(mktemp)
+
+ # Expected output/error filename is the same as the .zcp name
+ typeset basename
+ if [[ $2 != "-" ]]; then
+ basename=${2%.*}
+ fi
+
+ log_note "running: zfs program $cmdargs:"
+
+ zfs program $cmdargs >$tmpout 2>$tmperr
+ typeset ret=$?
+
+ log_note "input:\n$(cat $tmpin)"
+ log_note "output:\n$(cat $tmpout)"
+ log_note "error:\n$(cat $tmperr)"
+
+ #
+ # Verify correct return value
+ #
+ if [[ $ret -ne $expectexit ]]; then
+ rm $tmpout $tmperr $tmpin
+ log_fail "return mismatch: expected $expectexit, got $ret"
+ fi
+
+ #
+ # Check the output or reported error for successful or error returns,
+ # respectively.
+ #
+ if [[ -f "$basename.out" ]] && [[ $expectexit -eq 0 ]]; then
+
+ outdiff=$(diff "$basename.out" "$tmpout")
+ if [[ $? -ne 0 ]]; then
+ output=$(cat $tmpout)
+ rm $tmpout $tmperr $tmpin
+ log_fail "Output mismatch. Expected:\n" \
+ "$(cat $basename.out)\nBut got:\n$output\n" \
+ "Diff:\n$outdiff"
+ fi
+
+ elif [[ -f "$basename.err" ]] && [[ $expectexit -ne 0 ]]; then
+
+ outdiff=$(diff "$basename.err" "$tmperr")
+ if [[ $? -ne 0 ]]; then
+ outputerror=$(cat $tmperr)
+ rm $tmpout $tmperr $tmpin
+ log_fail "Error mismatch. Expected:\n" \
+ "$(cat $basename.err)\nBut got:\n$outputerror\n" \
+ "Diff:\n$outdiff"
+ fi
+
+ elif [[ -n $expecterror ]] && [[ $expectexit -ne 0 ]]; then
+
+ grep -q "$expecterror" $tmperr
+ if [[ $? -ne 0 ]]; then
+ outputerror=$(cat $tmperr)
+ rm $tmpout $tmperr $tmpin
+ log_fail "Error mismatch. Expected to contain:\n" \
+ "$expecterror\nBut got:\n$outputerror\n"
+ fi
+
+ elif [[ $expectexit -ne 0 ]]; then
+ #
+ # If there's no expected output, error reporting is allowed to
+ # vary, but ensure that we didn't fail silently.
+ #
+ if [[ -z "$(cat $tmperr)" ]]; then
+ rm $tmpout $tmperr $tmpin
+ log_fail "error with no stderr output"
+ fi
+ fi
+
+ #
+ # Clean up all temp files except $tmpin which is
+ # reused for the second invocation of log_program.
+ #
+ rm $tmpout $tmperr
+}
+
+#
+# Even though the command's arguments are passed correctly
+# to the log_must_program family of wrappers the majority
+# of the time, zcp scripts passed as HERE documents can
+# make things trickier (see comment within the function
+# below) in the ordering of the commands arguments and how
+# they are passed. Thus, with this function we reconstruct
+# them to ensure that they are passed properly.
+#
+function log_program_construct_args
+{
+ typeset tmpin=$1
+ shift
+
+ args=""
+ i=0
+ while getopts "nt:m:" opt; do
+ case $opt in
+ t) args="$args -t $OPTARG"; i=$(($i + 2)) ;;
+ m) args="$args -m $OPTARG"; i=$(($i + 2)) ;;
+ n) args="$args -n"; i=$(($i + 1)) ;;
+ esac
+ done
+ shift $i
+
+ pool=$1
+ shift
+
+ #
+ # Catch HERE document if it exists and save it within our
+ # temp file. The reason we do this is that since the
+ # log_must_program wrapper calls zfs-program twice (once
+ # for open context and once for syncing) the HERE doc
+ # is consumed in the first invocation and the second one
+ # does not have a program to run.
+ #
+ test -s /dev/stdin && cat > $tmpin
+
+ #
+ # If $tmpin has contents it means that we consumed a HERE
+ # doc and $1 currently holds "-" (a dash). If there is no
+ # HERE doc and $tmpin is empty, then we copy the contents
+ # of the original channel program to $tmpin.
+ #
+ [[ -s $tmpin ]] || cp $1 $tmpin
+ shift
+
+ lua_args=$@
+
+ echo "$args $pool $tmpin $lua_args"
+}
+
+#
+# Program should complete successfully
+# when run in either context.
+#
+function log_must_program
+{
+ typeset tmpin=$(mktemp)
+
+ program_args=$(log_program_construct_args $tmpin $@)
+
+ log_program 0 "" $tmpin "-n $program_args"
+ log_program 0 "" $tmpin "$program_args"
+
+ rm $tmpin
+}
+#
+# Program should error as expected in
+# the same way in both contexts.
+#
+function log_mustnot_checkerror_program
+{
+ typeset expecterror=$1
+ shift
+ typeset tmpin=$(mktemp)
+
+ program_args=$(log_program_construct_args $tmpin $@)
+
+ log_program 1 "$expecterror" $tmpin "-n $program_args"
+ log_program 1 "$expecterror" $tmpin "$program_args"
+
+ rm $tmpin
+}
+
+#
+# Program should fail when run in either
+# context.
+#
+function log_mustnot_program
+{
+ log_mustnot_checkerror_program "" $@
+}
+
+
+#
+# Program should error as expected in
+# open context but complete successfully
+# in syncing context.
+#
+function log_mustnot_checkerror_program_open
+{
+ typeset expecterror=$1
+ shift
+ typeset tmpin=$(mktemp)
+
+ program_args=$(log_program_construct_args $tmpin $@)
+
+ log_program 1 "$expecterror" $tmpin "-n $program_args"
+ log_program 0 "" $tmpin "$program_args"
+
+ rm $tmpin
+}
+
+#
+# Program should complete successfully
+# when run in syncing context but fail
+# when attempted to run in open context.
+#
+function log_must_program_sync
+{
+ log_mustnot_checkerror_program_open "requires passing sync=TRUE" $@
+}
diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_load-key/Makefile.am b/tests/zfs-tests/tests/functional/cli_root/zfs_load-key/Makefile.am
new file mode 100644
index 000000000..06b4239a6
--- /dev/null
+++ b/tests/zfs-tests/tests/functional/cli_root/zfs_load-key/Makefile.am
@@ -0,0 +1,14 @@
+pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/cli_root/zfs_load-key
+dist_pkgdata_SCRIPTS = \
+ setup.ksh \
+ cleanup.ksh \
+ zfs_load-key.ksh \
+ zfs_load-key_all.ksh \
+ zfs_load-key_file.ksh \
+ zfs_load-key_location.ksh \
+ zfs_load-key_noop.ksh \
+ zfs_load-key_recursive.ksh
+
+dist_pkgdata_DATA = \
+ zfs_load-key.cfg \
+ zfs_load-key_common.kshlib
diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_load-key/zfs_load-key_common.kshlib b/tests/zfs-tests/tests/functional/cli_root/zfs_load-key/zfs_load-key_common.kshlib
new file mode 100644
index 000000000..d9066f9cb
--- /dev/null
+++ b/tests/zfs-tests/tests/functional/cli_root/zfs_load-key/zfs_load-key_common.kshlib
@@ -0,0 +1,101 @@
+#
+# CDDL HEADER START
+#
+# This file and its contents are supplied under the terms of the
+# Common Development and Distribution License ("CDDL"), version 1.0.
+# You may only use this file in accordance with the terms of version
+# 1.0 of the CDDL.
+#
+# A full copy of the text of the CDDL should have accompanied this
+# source. A copy of the CDDL is also available via the Internet at
+# http://www.illumos.org/license/CDDL.
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2017 Datto, Inc. All rights reserved.
+#
+
+. $STF_SUITE/include/libtest.shlib
+. $STF_SUITE/tests/functional/cli_root/zfs_load-key/zfs_load-key.cfg
+
+# Return 0 is a dataset key is available, 1 otherwise
+#
+# $1 - dataset
+#
+function key_available
+{
+ typeset ds=$1
+
+ datasetexists $ds || return 1
+
+ typeset val=$(get_prop keystatus $ds)
+ if [[ "$val" == "none" ]]; then
+ log_note "Dataset $ds is not encrypted"
+ elif [[ "$val" == "available" ]]; then
+ return 0
+ fi
+
+ return 1
+}
+
+function key_unavailable
+{
+ key_available $1 && return 1
+ return 0
+}
+
+function verify_keyformat
+{
+ typeset ds=$1
+ typeset format=$2
+ typeset fmt=$(get_prop keyformat $ds)
+
+ if [[ "$fmt" != "$format" ]]; then
+ log_fail "Expected keyformat $format, got $fmt"
+ fi
+
+ return 0
+}
+
+function verify_keylocation
+{
+ typeset ds=$1
+ typeset location=$2
+ typeset keyloc=$(get_prop keylocation $ds)
+
+ if [[ "$keyloc" != "$location" ]]; then
+ log_fail "Expected keylocation $location, got $keyloc"
+ fi
+
+ return 0
+}
+
+function verify_encryption_root
+{
+ typeset ds=$1
+ typeset val=$2
+ typeset eroot=$(get_prop encryptionroot $ds)
+
+ if [[ "$eroot" != "$val" ]]; then
+ log_note "Expected encryption root '$val', got '$eroot'"
+ return 1
+ fi
+
+ return 0
+}
+
+function verify_origin
+{
+ typeset ds=$1
+ typeset val=$2
+ typeset orig=$(get_prop origin $ds)
+
+ if [[ "$orig" != "$val" ]]; then
+ log_note "Expected origin '$val', got '$orig'"
+ return 1
+ fi
+
+ return 0
+}
diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_events/Makefile.am b/tests/zfs-tests/tests/functional/cli_root/zpool_events/Makefile.am
new file mode 100644
index 000000000..0d4c3862b
--- /dev/null
+++ b/tests/zfs-tests/tests/functional/cli_root/zpool_events/Makefile.am
@@ -0,0 +1,12 @@
+pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/cli_root/zpool_events
+dist_pkgdata_SCRIPTS = \
+ setup.ksh \
+ cleanup.ksh \
+ zpool_events_clear.ksh \
+ zpool_events_cliargs.ksh \
+ zpool_events_follow.ksh \
+ zpool_events_poolname.ksh
+
+dist_pkgdata_DATA = \
+ zpool_events.cfg \
+ zpool_events.kshlib
diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_events/zpool_events.cfg b/tests/zfs-tests/tests/functional/cli_root/zpool_events/zpool_events.cfg
new file mode 100644
index 000000000..6018f9d2f
--- /dev/null
+++ b/tests/zfs-tests/tests/functional/cli_root/zpool_events/zpool_events.cfg
@@ -0,0 +1,16 @@
+#
+# This file and its contents are supplied under the terms of the
+# Common Development and Distribution License ("CDDL"), version 1.0.
+# You may only use this file in accordance with the terms of version
+# 1.0 of the CDDL.
+#
+# A full copy of the text of the CDDL should have accompanied this
+# source. A copy of the CDDL is also available via the Internet at
+# http://www.illumos.org/license/CDDL.
+#
+
+#
+# Copyright 2017, loli10K . All rights reserved.
+#
+
+export EVENTS_NUM=42
diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_events/zpool_events.kshlib b/tests/zfs-tests/tests/functional/cli_root/zpool_events/zpool_events.kshlib
new file mode 100644
index 000000000..b92ffb13a
--- /dev/null
+++ b/tests/zfs-tests/tests/functional/cli_root/zpool_events/zpool_events.kshlib
@@ -0,0 +1,39 @@
+#
+# This file and its contents are supplied under the terms of the
+# Common Development and Distribution License ("CDDL"), version 1.0.
+# You may only use this file in accordance with the terms of version
+# 1.0 of the CDDL.
+#
+# A full copy of the text of the CDDL should have accompanied this
+# source. A copy of the CDDL is also available via the Internet at
+# http://www.illumos.org/license/CDDL.
+#
+
+#
+# Copyright 2017, loli10K . All rights reserved.
+#
+
+. $STF_SUITE/include/libtest.shlib
+. $STF_SUITE/tests/functional/cli_root/zpool_events/zpool_events.cfg
+
+#
+# Wait to allow the kernel module to process ZFS events until we reach $eventnum
+# or a timeout of $timeout seconds expire, whichever comes first
+#
+function zpool_events_settle # [timeout]
+{
+ typeset eventnum="${1:-$EVENTS_NUM}"
+ typeset timeout="${2:-3}"
+ typeset -i count
+ typeset -i i=0
+
+ while [[ $i -lt $timeout ]]; do
+ count=$(zpool events -H | wc -l)
+ if [[ $count -ge $eventnum ]]; then
+ break
+ fi
+ i=$((i+1))
+ sleep 1
+ done
+ log_note "waited $i seconds"
+}
diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_labelclear/Makefile.am b/tests/zfs-tests/tests/functional/cli_root/zpool_labelclear/Makefile.am
index a8bea6864..dc4a0277c 100644
--- a/tests/zfs-tests/tests/functional/cli_root/zpool_labelclear/Makefile.am
+++ b/tests/zfs-tests/tests/functional/cli_root/zpool_labelclear/Makefile.am
@@ -1,5 +1,7 @@
pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/cli_root/zpool_labelclear
dist_pkgdata_SCRIPTS = \
- labelclear.cfg \
zpool_labelclear_active.ksh \
zpool_labelclear_exported.ksh
+
+dist_pkgdata_DATA = \
+ labelclear.cfg
diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_labelclear/labelclear.cfg b/tests/zfs-tests/tests/functional/cli_root/zpool_labelclear/labelclear.cfg
index 62d39b05f..8bf038270 100644
--- a/tests/zfs-tests/tests/functional/cli_root/zpool_labelclear/labelclear.cfg
+++ b/tests/zfs-tests/tests/functional/cli_root/zpool_labelclear/labelclear.cfg
@@ -1,5 +1,3 @@
-#!/bin/ksh -p
-#
#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_reopen/zpool_reopen.cfg b/tests/zfs-tests/tests/functional/cli_root/zpool_reopen/zpool_reopen.cfg
new file mode 100644
index 000000000..3d6a291e0
--- /dev/null
+++ b/tests/zfs-tests/tests/functional/cli_root/zpool_reopen/zpool_reopen.cfg
@@ -0,0 +1,45 @@
+#
+# This file and its contents are supplied under the terms of the
+# Common Development and Distribution License ("CDDL"), version 1.0.
+# You may only use this file in accordance with the terms of version
+# 1.0 of the CDDL.
+#
+# A full copy of the text of the CDDL should have accompanied this
+# source. A copy of the CDDL is also available via the Internet at
+# http://www.illumos.org/license/CDDL.
+#
+
+#
+# Copyright (c) 2016, 2017 by Intel Corporation. All rights reserved.
+# Copyright (c) 2017 Open-E, Inc. All Rights Reserved.
+#
+
+. $STF_SUITE/include/libtest.shlib
+
+verify_runnable "global"
+
+export DISK_ARRAY_NUM=$(echo ${DISKS} | nawk '{print NF}')
+export DISKSARRAY=$DISKS
+export SMALL_FILE_SIZE=10
+export LARGE_FILE_SIZE=80
+export MAXTIMEOUT=40
+
+export SDSIZE=256
+export SDHOSTS=1
+export SDTGTS=1
+export SDLUNS=1
+
+export DISK1=$(echo $DISKS | nawk '{print $1}')
+export DISK2=$(echo $DISKS | nawk '{print $2}')
+export DISK3=$(echo $DISKS | nawk '{print $3}')
+
+if is_linux; then
+ set_slice_prefix
+ set_device_dir
+ devs_id[0]=$(get_persistent_disk_name $DISK1)
+ devs_id[1]=$(get_persistent_disk_name $DISK2)
+ devs_id[2]=$(get_persistent_disk_name $DISK3)
+ export devs_id
+else
+ DEV_DSKDIR="/dev"
+fi
diff --git a/tests/zfs-tests/tests/functional/fault/Makefile.am b/tests/zfs-tests/tests/functional/fault/Makefile.am
index abe28501d..993569328 100644
--- a/tests/zfs-tests/tests/functional/fault/Makefile.am
+++ b/tests/zfs-tests/tests/functional/fault/Makefile.am
@@ -1,8 +1,10 @@
pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/fault
dist_pkgdata_SCRIPTS = \
- fault.cfg \
setup.ksh \
cleanup.ksh \
auto_online_001_pos.ksh \
auto_replace_001_pos.ksh \
scrub_after_resilver.ksh
+
+dist_pkgdata_DATA = \
+ fault.cfg
diff --git a/tests/zfs-tests/tests/functional/fault/fault.cfg b/tests/zfs-tests/tests/functional/fault/fault.cfg
index e6e4fe582..817776923 100644
--- a/tests/zfs-tests/tests/functional/fault/fault.cfg
+++ b/tests/zfs-tests/tests/functional/fault/fault.cfg
@@ -1,4 +1,3 @@
-#!/bin/ksh -p
#
# CDDL HEADER START
#
diff --git a/tests/zfs-tests/tests/functional/write_dirs/Makefile.am b/tests/zfs-tests/tests/functional/write_dirs/Makefile.am
index 80493ab3c..267a5d1d1 100644
--- a/tests/zfs-tests/tests/functional/write_dirs/Makefile.am
+++ b/tests/zfs-tests/tests/functional/write_dirs/Makefile.am
@@ -2,6 +2,8 @@ pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/write_dirs
dist_pkgdata_SCRIPTS = \
setup.ksh \
cleanup.ksh \
- write_dirs.cfg \
write_dirs_001_pos.ksh \
write_dirs_002_pos.ksh
+
+dist_pkgdata_DATA = \
+ write_dirs.cfg
diff --git a/tests/zfs-tests/tests/functional/write_dirs/write_dirs.cfg b/tests/zfs-tests/tests/functional/write_dirs/write_dirs.cfg
index 6cb14ad64..400d5bcb1 100644
--- a/tests/zfs-tests/tests/functional/write_dirs/write_dirs.cfg
+++ b/tests/zfs-tests/tests/functional/write_dirs/write_dirs.cfg
@@ -1,4 +1,3 @@
-#!/bin/ksh -p
#
# CDDL HEADER START
#
diff --git a/tests/zfs-tests/tests/functional/zvol/zvol_ENOSPC/Makefile.am b/tests/zfs-tests/tests/functional/zvol/zvol_ENOSPC/Makefile.am
index 7007c8cf9..9cd9b4149 100644
--- a/tests/zfs-tests/tests/functional/zvol/zvol_ENOSPC/Makefile.am
+++ b/tests/zfs-tests/tests/functional/zvol/zvol_ENOSPC/Makefile.am
@@ -2,5 +2,7 @@ pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/zvol/zvol_ENOSPC
dist_pkgdata_SCRIPTS = \
cleanup.ksh \
setup.ksh \
- zvol_ENOSPC.cfg \
zvol_ENOSPC_001_pos.ksh
+
+dist_pkgdata_DATA = \
+ zvol_ENOSPC.cfg
diff --git a/tests/zfs-tests/tests/functional/zvol/zvol_ENOSPC/zvol_ENOSPC.cfg b/tests/zfs-tests/tests/functional/zvol/zvol_ENOSPC/zvol_ENOSPC.cfg
index a2df9c4e0..84986b832 100644
--- a/tests/zfs-tests/tests/functional/zvol/zvol_ENOSPC/zvol_ENOSPC.cfg
+++ b/tests/zfs-tests/tests/functional/zvol/zvol_ENOSPC/zvol_ENOSPC.cfg
@@ -1,4 +1,3 @@
-#!/bin/ksh -p
#
# CDDL HEADER START
#
diff --git a/tests/zfs-tests/tests/functional/zvol/zvol_cli/Makefile.am b/tests/zfs-tests/tests/functional/zvol/zvol_cli/Makefile.am
index c4b803899..c6b15684f 100644
--- a/tests/zfs-tests/tests/functional/zvol/zvol_cli/Makefile.am
+++ b/tests/zfs-tests/tests/functional/zvol/zvol_cli/Makefile.am
@@ -2,7 +2,9 @@ pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/zvol/zvol_cli
dist_pkgdata_SCRIPTS = \
cleanup.ksh \
setup.ksh \
- zvol_cli.cfg \
zvol_cli_001_pos.ksh \
zvol_cli_002_pos.ksh \
zvol_cli_003_neg.ksh
+
+dist_pkgdata_DATA = \
+ zvol_cli.cfg
diff --git a/tests/zfs-tests/tests/functional/zvol/zvol_cli/zvol_cli.cfg b/tests/zfs-tests/tests/functional/zvol/zvol_cli/zvol_cli.cfg
index 233867efe..bede6694c 100644
--- a/tests/zfs-tests/tests/functional/zvol/zvol_cli/zvol_cli.cfg
+++ b/tests/zfs-tests/tests/functional/zvol/zvol_cli/zvol_cli.cfg
@@ -1,4 +1,3 @@
-#!/bin/ksh -p
#
# CDDL HEADER START
#
diff --git a/tests/zfs-tests/tests/functional/zvol/zvol_misc/Makefile.am b/tests/zfs-tests/tests/functional/zvol/zvol_misc/Makefile.am
index 8859ff359..a2c95a3eb 100644
--- a/tests/zfs-tests/tests/functional/zvol/zvol_misc/Makefile.am
+++ b/tests/zfs-tests/tests/functional/zvol/zvol_misc/Makefile.am
@@ -1,6 +1,5 @@
pkgdatadir = $(datadir)/@PACKAGE@/zfs-tests/tests/functional/zvol/zvol_misc
dist_pkgdata_SCRIPTS = \
- zvol_misc_common.kshlib \
cleanup.ksh \
setup.ksh \
zvol_misc_001_neg.ksh \
@@ -12,3 +11,7 @@ dist_pkgdata_SCRIPTS = \
zvol_misc_snapdev.ksh \
zvol_misc_volmode.ksh \
zvol_misc_zil.ksh
+
+dist_pkgdata_DATA = \
+ zvol_misc_common.kshlib
+
diff --git a/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_common.kshlib b/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_common.kshlib
index 5c8c9847a..1b049a9c8 100755
--- a/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_common.kshlib
+++ b/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_common.kshlib
@@ -1,4 +1,3 @@
-#!/bin/ksh -p
#
# CDDL HEADER START
#