1# 2# CDDL HEADER START 3# 4# The contents of this file are subject to the terms of the 5# Common Development and Distribution License (the "License"). 6# You may not use this file except in compliance with the License. 7# 8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9# or http://www.opensolaris.org/os/licensing. 10# See the License for the specific language governing permissions 11# and limitations under the License. 12# 13# When distributing Covered Code, include this CDDL HEADER in each 14# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15# If applicable, add the following below this CDDL HEADER, with the 16# fields enclosed by brackets "[]" replaced with your own identifying 17# information: Portions Copyright [yyyy] [name of copyright owner] 18# 19# CDDL HEADER END 20# 21 22# 23# Copyright 2009 Sun Microsystems, Inc. All rights reserved. 24# Use is subject to license terms. 25# 26 27# 28# Copyright (c) 2013 by Delphix. All rights reserved. 29# 30 31. $STF_SUITE/include/libtest.shlib 32 33verify_disk_count "$DISKS" 2 34set -A disk_array $(find_disks $DISKS) 35case "${#disk_array[@]}" in 362) 37 FS_DISK0=${disk_array[0]} 38 FS_DISK1=${disk_array[1]} 39 FS_DISK2=${disk_array[0]} 40 FS_DISK3=${disk_array[1]} 41 FS_SIDE0=${FS_DISK0}s0 42 FS_SIDE1=${FS_DISK0}s1 43 FS_SIDE2=${FS_DISK1}s0 44 FS_SIDE3=${FS_DISK1}s1 45 disk0="/dev/dsk/$FS_SIDE0" 46 disk1="/dev/dsk/$FS_SIDE1" 47 disk2="/dev/dsk/$FS_SIDE2" 48 disk3="/dev/dsk/$FS_SIDE3" 49 disktargets="$disk0 $disk2" 50 rawdisk0="/dev/rdsk/$FS_SIDE0" 51 rawdisk1="/dev/rdsk/$FS_SIDE1" 52 rawdisk2="/dev/rdsk/$FS_SIDE2" 53 rawdisk3="/dev/rdsk/$FS_SIDE3" 54 rawtargets="$rawdisk0 $rawdisk2" 55 vdisks="$FS_DISK0" 56 sdisks="$FS_DISK1" 57 vslices="$FS_SIDE0 $FS_SIDE1 $FS_SIDE2" 58 sslices="$FS_SIDE3" 59 ;; 603) 61 FS_DISK0=${disk_array[0]} 62 FS_DISK1=${disk_array[1]} 63 FS_DISK2=${disk_array[2]} 64 FS_DISK3=${disk_array[0]} 65 FS_SIDE0=${FS_DISK0}s0 66 FS_SIDE1=${FS_DISK0}s1 67 FS_SIDE2=${FS_DISK1}s0 68 FS_SIDE3=${FS_DISK2}s0 69 disk0="/dev/dsk/$FS_SIDE0" 70 disk1="/dev/dsk/$FS_SIDE1" 71 disk2="/dev/dsk/$FS_SIDE2" 72 disk3="/dev/dsk/$FS_SIDE3" 73 disktargets="$disk0 $disk2 $disk3" 74 rawdisk0="/dev/rdsk/$FS_SIDE0" 75 rawdisk1="/dev/rdsk/$FS_SIDE1" 76 rawdisk2="/dev/rdsk/$FS_SIDE2" 77 rawdisk3="/dev/rdsk/$FS_SIDE3" 78 rawtargets="$rawdisk0 $rawdisk2 $rawdisk3" 79 vdisks="$FS_DISK0 $FS_DISK1" 80 sdisks="$FS_DISK2" 81 vslices="$FS_SIDE0 $FS_SIDE2 $FS_SIDE3" 82 sslices="$FS_SIDE1" 83 ;; 84*) 85 FS_DISK0=${disk_array[0]} 86 FS_DISK1=${disk_array[1]} 87 FS_DISK2=${disk_array[2]} 88 FS_DISK3=${disk_array[3]} 89 FS_SIDE0=${FS_DISK0}s0 90 FS_SIDE1=${FS_DISK1}s0 91 FS_SIDE2=${FS_DISK2}s0 92 FS_SIDE3=${FS_DISK3}s0 93 disk0="/dev/dsk/$FS_SIDE0" 94 disk1="/dev/dsk/$FS_SIDE1" 95 disk2="/dev/dsk/$FS_SIDE2" 96 disk3="/dev/dsk/$FS_SIDE3" 97 disktargets="$disk0 $disk1 $disk2 $disk3" 98 rawdisk0="/dev/rdsk/$FS_SIDE0" 99 rawdisk1="/dev/rdsk/$FS_SIDE1" 100 rawdisk2="/dev/rdsk/$FS_SIDE2" 101 rawdisk3="/dev/rdsk/$FS_SIDE3" 102 rawtargets="$rawdisk0 $rawdisk1 $rawdisk2 $rawdisk3" 103 vdisks="$FS_DISK0 $FS_DISK1 $FS_DISK2" 104 sdisks="$FS_DISK3" 105 vslices="$FS_SIDE0 $FS_SIDE1 $FS_SIDE2" 106 sslices="$FS_SIDE3" 107 ;; 108esac 109 110export FS_DISK0 FS_DISK1 FS_DISK2 FS_DISK3 SINGLE_DISK 111export FS_SIDE0 FS_SIDE1 FS_SIDE2 FS_SIDE3 112export disk0 disk1 disk2 disk3 disktargets 113export rawdisk0 rawdisk1 rawdisk2 rawdisk3 rawtargets 114export vdisks sdisks vslices sslices 115 116export UFSMP=$TESTDIR/testinuseufsdump 117export FS_SIZE=1g 118export PREVDUMPDEV="" 119export PIDUFSDUMP="" 120export PIDUFSRESTORE="" 121# size of block to be written to test file - currently 1mb 122export BLOCK_SIZE=$(( 1024 * 1024 )) 123# number of blocks to write == size of file 124export BLOCK_COUNT=100 125export STF_TIMEOUT=1200 # 20 minutes max. 126