mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-05-05 16:32:44 +03:00

The root cause of these failures is that udev can notify the ZED of newly created partition before its links are created. Handle this by allowing an auto-replace to briefly wait until udev confirms the links exist. Distill this test case down to its essentials so it can be run reliably. What we need to check is that: 1) A new disk, in the same physical location, is automatically brought online when added to the system, 2) It completes the replacement process, and 3) The pool is now ONLINE and healthy. There is no need to remove the scsi_debug module. After exporting the pool the disk can be zeroed, removed, and then re-added to the system as a new disk. Reviewed by: loli10K <ezomori.nozomu@gmail.com> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #8051
58 lines
1.7 KiB
INI
58 lines
1.7 KiB
INI
#
|
|
# CDDL HEADER START
|
|
#
|
|
# The contents of this file are subject to the terms of the
|
|
# Common Development and Distribution License (the "License").
|
|
# You may not use this file except in compliance with the License.
|
|
#
|
|
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
|
|
# or http://www.opensolaris.org/os/licensing.
|
|
# See the License for the specific language governing permissions
|
|
# and limitations under the License.
|
|
#
|
|
# When distributing Covered Code, include this CDDL HEADER in each
|
|
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
|
# If applicable, add the following below this CDDL HEADER, with the
|
|
# fields enclosed by brackets "[]" replaced with your own identifying
|
|
# information: Portions Copyright [yyyy] [name of copyright owner]
|
|
#
|
|
# CDDL HEADER END
|
|
|
|
#
|
|
# Copyright (c) 2016, 2017 by Intel Corporation. All rights reserved.
|
|
#
|
|
|
|
. $STF_SUITE/include/libtest.shlib
|
|
|
|
verify_runnable "global"
|
|
|
|
export DISK_ARRAY_NUM=$(echo ${DISKS} | nawk '{print NF}')
|
|
export DISKSARRAY=$DISKS
|
|
export FSIZE=10M
|
|
export MAXTIMEOUT=30
|
|
|
|
export SDSIZE=256
|
|
export SDHOSTS=1
|
|
export SDTGTS=1
|
|
export SDLUNS=1
|
|
|
|
export DISK1=$(echo $DISKS | nawk '{print $1}')
|
|
export DISK2=$(echo $DISKS | nawk '{print $2}')
|
|
export DISK3=$(echo $DISKS | nawk '{print $3}')
|
|
|
|
if is_linux; then
|
|
set_slice_prefix
|
|
set_device_dir
|
|
devs_id[0]=$(get_persistent_disk_name $DISK1)
|
|
devs_id[1]=$(get_persistent_disk_name $DISK2)
|
|
devs_id[2]=$(get_persistent_disk_name $DISK3)
|
|
export devs_id
|
|
else
|
|
DEV_DSKDIR="/dev"
|
|
fi
|
|
|
|
export VDEV_FILES="$TEST_BASE_DIR/file-1 $TEST_BASE_DIR/file-2 \
|
|
$TEST_BASE_DIR/file-3 $TEST_BASE_DIR/file-4"
|
|
export SPARE_FILE="$TEST_BASE_DIR/spare-1"
|
|
export FAULT_FILE="$TEST_BASE_DIR/file-1"
|