1*663207adSDon Brady#!/bin/ksh -p 2*663207adSDon Brady 3*663207adSDon Brady# 4*663207adSDon Brady# This file and its contents are supplied under the terms of the 5*663207adSDon Brady# Common Development and Distribution License ("CDDL"), version 1.0. 6*663207adSDon Brady# You may only use this file in accordance with the terms of version 7*663207adSDon Brady# 1.0 of the CDDL. 8*663207adSDon Brady# 9*663207adSDon Brady# A full copy of the text of the CDDL should have accompanied this 10*663207adSDon Brady# source. A copy of the CDDL is also available via the Internet at 11*663207adSDon Brady# http://www.illumos.org/license/CDDL. 12*663207adSDon Brady# 13*663207adSDon Brady 14*663207adSDon Brady# 15*663207adSDon Brady# Copyright (c) 2017, Intel Corporation. 16*663207adSDon Brady# Copyright (c) 2018 by Delphix. All rights reserved. 17*663207adSDon Brady# Copyright 2019 Joyent, Inc. 18*663207adSDon Brady# 19*663207adSDon Brady 20*663207adSDon Brady. $STF_SUITE/tests/functional/alloc_class/alloc_class.kshlib 21*663207adSDon Brady 22*663207adSDon Brady# 23*663207adSDon Brady# DESCRIPTION: 24*663207adSDon Brady# Adding an additional special device to a pool with special succeeds. 25*663207adSDon Brady# 26*663207adSDon Bradyclaim="Adding an additional special device succeeds." 27*663207adSDon Brady 28*663207adSDon Bradyverify_runnable "global" 29*663207adSDon Brady 30*663207adSDon Bradylog_assert $claim 31*663207adSDon Bradylog_onexit cleanup 32*663207adSDon Brady 33*663207adSDon Bradylog_must disk_setup 34*663207adSDon Brady 35*663207adSDon Bradytypeset special_type="" 36*663207adSDon Bradytypeset create_disks="" 37*663207adSDon Bradytypeset added_disks="" 38*663207adSDon Brady 39*663207adSDon Bradyfor type in "" "raidz" 40*663207adSDon Bradydo 41*663207adSDon Brady if [ "$type" = "raidz" ]; then 42*663207adSDon Brady special_type="mirror" 43*663207adSDon Brady create_disks="${CLASS_DISK0} ${CLASS_DISK1}" 44*663207adSDon Brady added_disks="${CLASS_DISK2} ${CLASS_DISK3}" 45*663207adSDon Brady else 46*663207adSDon Brady special_type="" 47*663207adSDon Brady create_disks="${CLASS_DISK0}" 48*663207adSDon Brady added_disks="${CLASS_DISK1}" 49*663207adSDon Brady fi 50*663207adSDon Brady log_must zpool create $TESTPOOL $type $ZPOOL_DISKS \ 51*663207adSDon Brady special $special_type $create_disks 52*663207adSDon Brady log_must zpool add $TESTPOOL special $special_type $added_disks 53*663207adSDon Brady for d in $added_disks 54*663207adSDon Brady do 55*663207adSDon Brady log_must zpool status $TESTPOOL | nawk -v dev=$d \ 56*663207adSDon Brady 'BEGIN {res=1} {if ($1 == dev) res=0} END {exit res}' 57*663207adSDon Brady done 58*663207adSDon Brady log_must zpool destroy -f $TESTPOOL 59*663207adSDon Bradydone 60*663207adSDon Brady 61*663207adSDon Bradylog_pass $claim 62