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# Copyright 2019 Joyent, Inc. 18# 19 20. $STF_SUITE/tests/functional/alloc_class/alloc_class.kshlib 21 22# 23# DESCRIPTION: 24# Checking if allocation_classes feature flag status is active after 25# creating a pool with a special device. 26# 27claim="Checking active allocation classes feature flag status successful." 28 29verify_runnable "global" 30 31log_assert $claim 32log_onexit cleanup 33 34log_must disk_setup 35 36typeset ac_value 37typeset stype="" 38typeset sdisks="" 39 40for type in "" "mirror" "raidz" 41do 42 if [ "$type" = "mirror" ]; then 43 stype="mirror" 44 sdisks="${CLASS_DISK0} ${CLASS_DISK1} ${CLASS_DISK2}" 45 elif [ "$type" = "raidz" ]; then 46 stype="mirror" 47 sdisks="${CLASS_DISK0} ${CLASS_DISK1}" 48 else 49 stype="" 50 sdisks="${CLASS_DISK0}" 51 fi 52 53 log_must zpool create $TESTPOOL $type $ZPOOL_DISKS \ 54 special $stype $sdisks 55 56 ac_value="$(zpool get -Ho value feature@allocation_classes $TESTPOOL)" 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 65done 66 67log_pass $claim 68