7614 zfs device evacuation/removal
[unleashed.git] / usr / src / test / zfs-tests / tests / functional / removal / remove_mirror_sanity.ksh
blobf3c2eea1502fc5e470d9b3c4b5fc75b72789e875
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) 2017 by Delphix. All rights reserved.
21 . $STF_SUITE/include/libtest.shlib
22 . $STF_SUITE/tests/functional/removal/removal.kshlib
24 DISK1=$(echo $DISKS | awk '{print $1}')
25 DISK2=$(echo $DISKS | awk '{print $2}')
26 DISK3=$(echo $DISKS | awk '{print $3}')
28 DISKS="$DISK1 mirror $DISK2 $DISK3"
30 log_must default_setup_noexit "$DISKS"
31 log_onexit default_cleanup_noexit
33 WORDS_FILE1="/usr/dict/words"
34 WORDS_FILE2="/usr/share/dict/words"
35 FILE_CONTENTS="Leeloo Dallas mul-ti-pass."
37 if [[ -f $WORDS_FILE1 ]]; then
38 log_must cp $WORDS_FILE1 $TESTDIR
39 elif [[ -f $WORDS_FILE2 ]]; then
40 log_must cp $WORDS_FILE2 $TESTDIR
41 else
42 echo $FILE_CONTENTS >$TESTDIR/$TESTFILE0
43 log_must [ "x$(cat $TESTDIR/$TESTFILE0)" = "x$FILE_CONTENTS" ]
46 log_must zpool remove $TESTPOOL mirror-1
47 log_must wait_for_removal $TESTPOOL
48 log_mustnot vdevs_in_pool $TESTPOOL mirror-1
50 if [[ -f $WORDS_FILE1 ]]; then
51 log_must diff $WORDS_FILE1 $TESTDIR/words
52 elif [[ -f $WORDS_FILE2 ]]; then
53 log_must diff $WORDS_FILE2 $TESTDIR/words
54 else
55 log_must dd if=/$TESTDIR/$TESTFILE0 of=/dev/null
56 log_must [ "x$(cat $TESTDIR/$TESTFILE0)" = "x$FILE_CONTENTS" ]
59 log_pass "Removed top-level mirror device not in use after removal."