1 #! /bin/ksh -p
2 #
3 # CDDL HEADER START
4 #
5 # This file and its contents are supplied under the terms of the
6 # Common Development and Distribution License ("CDDL"), version 1.0.
7 # You may only use this file in accordance with the terms of version
8 # 1.0 of the CDDL.
9 #
10 # A full copy of the text of the CDDL should have accompanied this
11 # source. A copy of the CDDL is also available via the Internet at
12 # http://www.illumos.org/license/CDDL.
13 #
14 # CDDL HEADER END
15 #
16
17 #
18 # Copyright (c) 2014, 2016 by Delphix. All rights reserved.
19 #
20
21 . $STF_SUITE/include/libtest.shlib
22 . $STF_SUITE/tests/functional/removal/removal.kshlib
23
24 TMPDIR=${TMPDIR:-/tmp}
25 log_must mkfile $MINVDEVSIZE $TMPDIR/dsk1
26 log_must mkfile $MINVDEVSIZE $TMPDIR/dsk2
27 log_must mkfile $MINVDEVSIZE $TMPDIR/dsk3
28 DISKS="$TMPDIR/dsk1 raidz $TMPDIR/dsk2 $TMPDIR/dsk3"
29
30 function cleanup
31 {
32 default_cleanup_noexit
33 log_must rm -f $DISKS
34 }
35
36 log_must default_setup_noexit "$DISKS"
37 log_onexit cleanup
38
39 # Attempt to remove the non raidz disk.
40 log_mustnot zpool remove $TESTPOOL $TMPDIR/dsk1
41
42 # Attempt to remove one of the raidz disks.
43 log_mustnot zpool remove $TESTPOOL $TMPDIR/dsk2
44
45 # Attempt to remove the raidz.
46 log_mustnot zpool remove $TESTPOOL raidz1-1
47
48 log_pass "Removal will not succeed if there is a top level mirror."