]> git.proxmox.com Git - mirror_zfs.git/blame - tests/zfs-tests/tests/functional/alloc_class/alloc_class_012_pos.ksh
Disable 'zfs remap' command
[mirror_zfs.git] / tests / zfs-tests / tests / functional / alloc_class / alloc_class_012_pos.ksh
CommitLineData
cc99f275
DB
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 special device from a pool succeeds.
23#
24
25verify_runnable "global"
26
00369f33 27claim="Removing a special device from a pool succeeds."
cc99f275
DB
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_DISK0 $ZPOOL_DISK1 $ZPOOL_DISK2 \
37 special $CLASS_DISK0 special $CLASS_DISK1
38log_must display_status "$TESTPOOL"
39
40#
41# Generate some metadata and small blocks in the special class before removal
42#
43typeset -l i=1
44typeset -l blocks=25
45
46log_must zfs create -o special_small_blocks=32K -o recordsize=32K \
47 $TESTPOOL/$TESTFS
48for i in 1 2 3 4; do
49 log_must dd if=/dev/urandom of=/$TESTPOOL/$TESTFS/testfile.$i bs=1M \
50 count=$blocks
51 ((blocks = blocks + 25))
52done
53log_must sync_pool $TESTPOOL
54log_must zpool list -v $TESTPOOL
55
56#
57# remove a special allocation vdev and force a remapping
6e91a72f 58# N.B. The 'zfs remap' command has been disabled and may be removed.
cc99f275 59#
6e91a72f
BB
60export ZFS_REMAP_ENABLED=YES
61
cc99f275
DB
62log_must zpool remove $TESTPOOL $CLASS_DISK0
63log_must zfs remap $TESTPOOL/$TESTFS
64
65sleep 5
66log_must sync_pool $TESTPOOL
67sleep 1
68
69log_must zdb -bbcc $TESTPOOL
70log_must zpool destroy -f "$TESTPOOL"
71
72log_pass $claim