mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-11-17 01:51:00 +03:00
ZTS: Eliminate partitioning in zpool_import setup
There doesn't seem to be a need for this complexity. Reviewed-by: John Kennedy <john.kennedy@delphix.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ryan Moeller <ryan@ixsystems.com> Closes #9854
This commit is contained in:
parent
914bd02f29
commit
09436c5d88
@ -47,20 +47,4 @@ for dir in "$TESTDIR" "$TESTDIR1" "$DEVICE_DIR" ; do
|
||||
log_must rm -rf $dir
|
||||
done
|
||||
|
||||
DISK=${DISKS%% *}
|
||||
if is_mpath_device $DISK; then
|
||||
delete_partitions
|
||||
fi
|
||||
# recreate and destroy a zpool over the disks to restore the partitions to
|
||||
# normal
|
||||
case $DISK_COUNT in
|
||||
0|1)
|
||||
log_note "No disk devices to restore"
|
||||
;;
|
||||
*)
|
||||
log_must cleanup_devices $ZFS_DISK1
|
||||
log_must cleanup_devices $ZFS_DISK2
|
||||
;;
|
||||
esac
|
||||
|
||||
log_pass
|
||||
|
@ -33,32 +33,8 @@
|
||||
. $STF_SUITE/tests/functional/cli_root/zpool_import/zpool_import.cfg
|
||||
|
||||
verify_runnable "global"
|
||||
verify_disk_count "$DISKS" 2
|
||||
|
||||
if ! is_physical_device $ZFS_DISK1; then
|
||||
log_unsupported "Only partitionable physical disks can be used"
|
||||
fi
|
||||
|
||||
DISK=${DISKS%% *}
|
||||
|
||||
for dev in $ZFS_DISK1 $ZFS_DISK2 ; do
|
||||
log_must cleanup_devices $dev
|
||||
done
|
||||
|
||||
typeset -i i=0
|
||||
while (( i <= $GROUP_NUM )); do
|
||||
if is_illumos; then
|
||||
if (( i == 2 )); then
|
||||
(( i = i + 1 ))
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
log_must set_partition $i "$cyl" $SLICE_SIZE $ZFS_DISK1
|
||||
cyl=$(get_endslice $ZFS_DISK1 $i)
|
||||
(( i = i + 1 ))
|
||||
done
|
||||
|
||||
create_pool "$TESTPOOL" "$ZFSSIDE_DISK1"
|
||||
create_pool "$TESTPOOL" "$DISK"
|
||||
|
||||
if [[ -d $TESTDIR ]]; then
|
||||
rm -rf $TESTDIR || log_unresolved Could not remove $TESTDIR
|
||||
|
@ -30,100 +30,11 @@
|
||||
|
||||
. $STF_SUITE/include/libtest.shlib
|
||||
|
||||
export DISKSARRAY=$DISKS
|
||||
export DISK_ARRAY_NUM=$(echo ${DISKS} | nawk '{print NF}')
|
||||
typeset -a disk_array=($(find_disks $DISKS))
|
||||
case "${#disk_array[*]}" in
|
||||
0)
|
||||
#
|
||||
# on stf_configure, disk_freelist returns empty.
|
||||
#
|
||||
DISK_COUNT=0
|
||||
;;
|
||||
1)
|
||||
# We need to repartition the single disk to two slices.
|
||||
if is_linux; then
|
||||
set_device_dir
|
||||
set_slice_prefix
|
||||
PRIMARY_SLICE=1
|
||||
DISK_COUNT=1
|
||||
ZFS_DISK1=${disk_array[0]}
|
||||
ZFS_DISK2=${disk_array[0]}
|
||||
if is_mpath_device $ZFS_DISK1; then
|
||||
export DEV_DSKDIR=$DEV_MPATHDIR
|
||||
else
|
||||
export DEV_DSKDIR=$DEV_RDSKDIR
|
||||
fi
|
||||
if ( is_mpath_device $ZFS_DISK1 ) && [[ -z $(echo $ZFS_DISK1 | awk 'substr($1,18,1)\
|
||||
~ /^[[:digit:]]+$/') ]] || ( is_real_device $ZFS_DISK1 ); then
|
||||
ZFSSIDE_DISK1=${ZFS_DISK1}1
|
||||
elif ( is_mpath_device $ZFS_DISK1 || is_loop_device $ZFS_DISK1 ); then
|
||||
ZFSSIDE_DISK1=${ZFS_DISK1}p1
|
||||
else
|
||||
log_fail "$ZFS_DISK1 not supported for partitioning."
|
||||
fi
|
||||
elif is_freebsd; then
|
||||
SLICE_PREFIX="p"
|
||||
PRIMARY_SLICE=1
|
||||
DISK_COUNT=1
|
||||
ZFS_DISK1=${disk_array[0]}
|
||||
ZFS_DISK2=${disk_array[0]}
|
||||
ZFSSIDE_DISK1=${ZFS_DISK1}p1
|
||||
else
|
||||
export DEV_DSKDIR="/dev"
|
||||
PRIMARY_SLICE=2
|
||||
DISK_COUNT=1
|
||||
ZFS_DISK1=${disk_array[0]}
|
||||
ZFSSIDE_DISK1=${ZFS_DISK1}s0
|
||||
ZFS_DISK2=${disk_array[0]}
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
# We need to repartition the single disk to two slices.
|
||||
if is_linux; then
|
||||
set_device_dir
|
||||
set_slice_prefix
|
||||
PRIMARY_SLICE=1
|
||||
DISK_COUNT=2
|
||||
ZFS_DISK1=${disk_array[0]}
|
||||
if is_mpath_device $ZFS_DISK1; then
|
||||
export DEV_DSKDIR=$DEV_MPATHDIR
|
||||
else
|
||||
export DEV_DSKDIR=$DEV_RDSKDIR
|
||||
fi
|
||||
if ( is_mpath_device $ZFS_DISK1 ) && [[ -z $(echo $ZFS_DISK1 | awk 'substr($1,18,1)\
|
||||
~ /^[[:digit:]]+$/') ]] || ( is_real_device $ZFS_DISK1 ); then
|
||||
ZFSSIDE_DISK1=${ZFS_DISK1}1
|
||||
elif ( is_mpath_device $ZFS_DISK1 || is_loop_device $ZFS_DISK1 ); then
|
||||
ZFSSIDE_DISK1=${ZFS_DISK1}p1
|
||||
else
|
||||
log_fail "$ZFS_DISK1 not supported for partitioning."
|
||||
fi
|
||||
ZFS_DISK2=${disk_array[1]}
|
||||
elif is_freebsd; then
|
||||
SLICE_PREFIX="p"
|
||||
PRIMARY_SLICE=1
|
||||
DISK_COUNT=2
|
||||
ZFS_DISK1=${disk_array[0]}
|
||||
ZFSSIDE_DISK1=${ZFS_DISK1}p1
|
||||
else
|
||||
export DEV_DSKDIR="/dev"
|
||||
PRIMARY_SLICE=2
|
||||
DISK_COUNT=2
|
||||
ZFS_DISK1=${disk_array[0]}
|
||||
ZFSSIDE_DISK1=${ZFS_DISK1}s0
|
||||
ZFS_DISK2=${disk_array[1]}
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
export DISK_COUNT ZFS_DISK1 ZFSSIDE_DISK1 ZFS_DISK2
|
||||
|
||||
export DISK=${DISKS%% *}
|
||||
export FS_SIZE="$((($MINVDEVSIZE / (1024 * 1024)) * 32))m"
|
||||
export FILE_SIZE="$((MINVDEVSIZE))"
|
||||
export SLICE_SIZE="$((($MINVDEVSIZE / (1024 * 1024)) * 2))m"
|
||||
export MAX_NUM=5
|
||||
export GROUP_NUM=3
|
||||
export DEVICE_DIR=$TEST_BASE_DIR/dev_import-test
|
||||
export BACKUP_DEVICE_DIR=$TEST_BASE_DIR/bakdev_import-test
|
||||
export DEVICE_FILE=disk
|
||||
@ -136,6 +47,7 @@ export CPATHBKP2=$TEST_BASE_DIR/cachefile.$$.bkp2
|
||||
export MD5FILE=$TEST_BASE_DIR/md5sums.$$
|
||||
export MD5FILE2=$TEST_BASE_DIR/md5sums.$$.2
|
||||
|
||||
export GROUP_NUM=3
|
||||
typeset -i num=0
|
||||
while (( num < $GROUP_NUM )); do
|
||||
DEVICE_FILES="$DEVICE_FILES ${DEVICE_DIR}/${DEVICE_FILE}$num"
|
||||
|
Loading…
Reference in New Issue
Block a user