xref: /freebsd/sys/contrib/openzfs/tests/zfs-tests/tests/functional/alloc_class/alloc_class_013_pos.ksh (revision c03c5b1c80914ec656fbee84539355d1fad68bf9)
1#!/bin/ksh -p
2
3#
4# This file and its contents are supplied under the terms of the
5# Common Development and Distribution License ("CDDL"), version 1.0.
6# You may only use this file in accordance with the terms of version
7# 1.0 of the CDDL.
8#
9# A full copy of the text of the CDDL should have accompanied this
10# source.  A copy of the CDDL is also available via the Internet at
11# http://www.illumos.org/license/CDDL.
12#
13
14#
15# Copyright (c) 2018 by Delphix. All rights reserved.
16#
17
18. $STF_SUITE/tests/functional/alloc_class/alloc_class.kshlib
19
20#
21# DESCRIPTION:
22#	Removing a dedup device from a pool succeeds.
23#
24
25verify_runnable "global"
26
27claim="Removing a dedup device from a pool succeeds."
28
29log_assert $claim
30log_onexit cleanup
31
32#
33# Create a non-raidz pool so we can remove top-level vdevs
34#
35log_must disk_setup
36log_must zpool create $TESTPOOL $ZPOOL_DISKS dedup $CLASS_DISK0
37log_must display_status "$TESTPOOL"
38
39#
40# Generate some dedup data in the dedup class before removal
41#
42
43log_must zfs create -o dedup=on -V 2G $TESTPOOL/$TESTVOL
44block_device_wait "$ZVOL_DEVDIR/$TESTPOOL/$TESTVOL"
45log_must eval "new_fs $ZVOL_DEVDIR/$TESTPOOL/$TESTVOL >/dev/null"
46
47sync_pool
48log_must zpool list -v $TESTPOOL
49
50#
51# remove a dedup allocation vdev
52#
53log_must zpool remove $TESTPOOL $CLASS_DISK0
54
55sleep 5
56sync_pool $TESTPOOL
57sleep 1
58
59log_must zdb -bbcc $TESTPOOL
60
61log_must zpool destroy -f "$TESTPOOL"
62
63log_pass $claim
64