]> git.proxmox.com Git - mirror_zfs.git/blob - tests/zfs-tests/tests/functional/alloc_class/alloc_class_004_pos.ksh
Pool allocation classes
[mirror_zfs.git] / tests / zfs-tests / tests / functional / alloc_class / alloc_class_004_pos.ksh
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) 2017, Intel Corporation.
16 # Copyright (c) 2018 by Delphix. All rights reserved.
17 #
18
19 . $STF_SUITE/tests/functional/alloc_class/alloc_class.kshlib
20
21 #
22 # DESCRIPTION:
23 # Checking if allocation_classes feature flag status is active after
24 # creating a pool with a special device.
25 #
26 claim="Checking active allocation classes feature flag status successful."
27
28 verify_runnable "global"
29
30 log_assert $claim
31 log_onexit cleanup
32
33 log_must disk_setup
34
35 typeset ac_value
36 typeset stype=""
37 typeset sdisks=""
38
39 for type in "" "mirror" "raidz"
40 do
41 if [ "$type" = "mirror" ]; then
42 stype="mirror"
43 sdisks="${CLASS_DISK0} ${CLASS_DISK1} ${CLASS_DISK2}"
44 elif [ "$type" = "raidz" ]; then
45 stype="mirror"
46 sdisks="${CLASS_DISK0} ${CLASS_DISK1}"
47 else
48 stype=""
49 sdisks="${CLASS_DISK0}"
50 fi
51
52 log_must zpool create $TESTPOOL $type $ZPOOL_DISKS \
53 special $stype $sdisks
54
55 ac_value="$(zpool get all -H -o property,value | \
56 egrep allocation_classes | nawk '{print $2}')"
57 if [ "$ac_value" = "active" ]; then
58 log_note "feature@allocation_classes is active"
59 else
60 log_fail "feature@allocation_classes not active, \
61 status = $ac_value"
62 fi
63
64 log_must zpool destroy -f $TESTPOOL
65 done
66
67 log_pass $claim