]>
Commit | Line | Data |
---|---|---|
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 | ||
25 | verify_runnable "global" | |
26 | ||
00369f33 | 27 | claim="Removing a special device from a pool succeeds." |
cc99f275 DB |
28 | |
29 | log_assert $claim | |
30 | log_onexit cleanup | |
31 | ||
32 | # | |
33 | # Create a non-raidz pool so we can remove top-level vdevs | |
34 | # | |
35 | log_must disk_setup | |
36 | log_must zpool create $TESTPOOL $ZPOOL_DISK0 $ZPOOL_DISK1 $ZPOOL_DISK2 \ | |
37 | special $CLASS_DISK0 special $CLASS_DISK1 | |
38 | log_must display_status "$TESTPOOL" | |
39 | ||
40 | # | |
41 | # Generate some metadata and small blocks in the special class before removal | |
42 | # | |
43 | typeset -l i=1 | |
44 | typeset -l blocks=25 | |
45 | ||
46 | log_must zfs create -o special_small_blocks=32K -o recordsize=32K \ | |
47 | $TESTPOOL/$TESTFS | |
48 | for 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)) | |
52 | done | |
53 | log_must sync_pool $TESTPOOL | |
54 | log_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 |
60 | export ZFS_REMAP_ENABLED=YES |
61 | ||
cc99f275 DB |
62 | log_must zpool remove $TESTPOOL $CLASS_DISK0 |
63 | log_must zfs remap $TESTPOOL/$TESTFS | |
64 | ||
65 | sleep 5 | |
66 | log_must sync_pool $TESTPOOL | |
67 | sleep 1 | |
68 | ||
69 | log_must zdb -bbcc $TESTPOOL | |
70 | log_must zpool destroy -f "$TESTPOOL" | |
71 | ||
72 | log_pass $claim |