3 # This file and its contents are supplied under the terms of the
4 # Common Development and Distribution License ("CDDL"), version 1.0.
5 # You may only use this file in accordance with the terms of version
8 # A full copy of the text of the CDDL should have accompanied this
9 # source. A copy of the CDDL is also available via the Internet at
10 # http://www.illumos.org/license/CDDL.
14 # Copyright 2018, loli10K <ezomori.nozomu@gmail.com>. All rights reserved.
17 .
$STF_SUITE/include
/libtest.shlib
18 .
$STF_SUITE/tests
/functional
/removal
/removal.kshlib
22 # 'zfs remap' depends on 'feature@obsolete_counts' being active
25 # 1. Prepare a pool where a top-level VDEV has been removed and with
26 # feature@obsolete_counts disabled
27 # 2. Verify any 'zfs remap' command cannot be executed
28 # 3. Verify the same commands complete successfully when
29 # feature@obsolete_counts is enabled
32 verify_runnable
"both"
36 destroy_pool
$TESTPOOL
40 log_assert
"'zfs remap' depends on feature@obsolete_counts being active"
48 DISK1
="$TEST_BASE_DIR/zfs_remap-1"
49 DISK2
="$TEST_BASE_DIR/zfs_remap-2"
51 # 1. Prepare a pool where a top-level VDEV has been removed with
52 # feature@obsolete_counts disabled
53 log_must truncate
-s $
(($MINVDEVSIZE * 2)) $DISK1
54 log_must zpool create
-o feature@obsolete_counts
=disabled
$TESTPOOL $DISK1
55 log_must zfs create
$f
56 log_must zfs create
-V 1M
-s $v
58 log_must zfs clone
$s $c
59 log_must truncate
-s $
(($MINVDEVSIZE * 2)) $DISK2
60 log_must zpool add
$TESTPOOL $DISK2
61 log_must zpool remove
$TESTPOOL $DISK1
62 log_must wait_for_removal
$TESTPOOL
64 # 2. Verify any 'zfs remap' command cannot be executed
65 log_mustnot zfs remap
$f
66 log_mustnot zfs remap
$v
67 log_mustnot zfs remap
$c
69 # 3. Verify the same commands complete successfully when
70 # feature@obsolete_counts is enabled
71 log_must zpool
set feature@obsolete_counts
=enabled
$TESTPOOL
76 log_pass
"'zfs remap' correctly depends on feature@obsolete_counts being active"