7614 zfs device evacuation/removal
[unleashed.git] / usr / src / test / zfs-tests / tests / functional / removal / remove_mirror.ksh
blobeb2ef6f6aa5369f6085a6fa912433a974f94c76f
1 #! /bin/ksh -p
3 # CDDL HEADER START
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.
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.
14 # CDDL HEADER END
18 # Copyright (c) 2014, 2017 by Delphix. All rights reserved.
21 . $STF_SUITE/include/libtest.shlib
22 . $STF_SUITE/tests/functional/removal/removal.kshlib
24 TMPDIR=${TMPDIR:-/tmp}
25 log_must mkfile $(($MINVDEVSIZE * 2)) $TMPDIR/dsk1
26 log_must mkfile $(($MINVDEVSIZE * 2)) $TMPDIR/dsk2
27 log_must mkfile $(($MINVDEVSIZE * 2)) $TMPDIR/dsk3
28 DISKS="$TMPDIR/dsk1 mirror $TMPDIR/dsk2 $TMPDIR/dsk3"
30 function cleanup
32 default_cleanup_noexit
33 log_must rm -f $DISKS
36 log_must default_setup_noexit "$DISKS"
37 log_onexit cleanup
39 # Attempt to remove the non mirrored disk.
40 log_must zpool remove $TESTPOOL $TMPDIR/dsk1
42 # Attempt to remove one of the disks in the mirror.
43 log_mustnot zpool remove $TESTPOOL $TMPDIR/dsk2
45 # Add back the first disk.
46 log_must zpool add $TESTPOOL $TMPDIR/dsk1
48 # Now attempt to remove the mirror.
49 log_must zpool remove $TESTPOOL mirror-1
51 log_pass "Removal will succeed for top level vdev(s)."