From d7958b4cda27b82bd24dd4d4b2a539e26c62a409 Mon Sep 17 00:00:00 2001 From: Matthew Ahrens Date: Wed, 13 Jul 2016 16:48:01 -0700 Subject: [PATCH] OpenZFS 7104 - increase indirect block size Authored by: Matthew Ahrens Reviewed by: George Wilson Reviewed by: Paul Dagnelie Reviewed by: Dan McDonald Approved by: Robert Mustacchi Reviewed-by: Brian Behlendorf Ported-by: George Melikov OpenZFS-issue: https://www.illumos.org/issues/7104 OpenZFS-commit: https://github.com/openzfs/openzfs/commit/4b5c8e9 Closes #5679 --- include/sys/dnode.h | 7 ++++++- module/zfs/dmu_objset.c | 12 ++++++++--- module/zfs/spa_misc.c | 10 +++++++-- scripts/zconfig.sh | 2 +- scripts/zfs-tests.sh | 4 ++-- tests/runfiles/linux.run | 3 ++- tests/zfs-tests/include/default.cfg.in | 6 ++++++ tests/zfs-tests/include/libtest.shlib | 4 ++-- .../functional/bootfs/bootfs_001_pos.ksh | 6 +++++- .../functional/bootfs/bootfs_002_neg.ksh | 4 ++++ .../functional/bootfs/bootfs_003_pos.ksh | 6 +++++- .../functional/bootfs/bootfs_004_neg.ksh | 6 +++++- .../functional/bootfs/bootfs_005_neg.ksh | 4 ++++ .../functional/bootfs/bootfs_006_pos.ksh | 6 +++++- .../functional/bootfs/bootfs_008_neg.ksh | 6 +++++- .../tests/functional/cache/cache.cfg | 4 ++-- .../cachefile/cachefile_004_pos.ksh | 4 ++-- .../zfs_destroy/zfs_destroy_015_pos.ksh | 4 ++-- .../cli_root/zfs_get/zfs_get_004_pos.ksh | 8 +++---- .../zfs_rename/zfs_rename_005_neg.ksh | 8 +++++-- .../zfs_snapshot/zfs_snapshot_008_neg.ksh | 6 +++--- .../cli_root/zpool/zpool_002_pos.ksh | 7 ++++++- .../cli_root/zpool_add/zpool_add.cfg | 14 +++---------- .../cli_root/zpool_add/zpool_add_006_pos.ksh | 10 ++++----- .../cli_root/zpool_clear/zpool_clear.cfg | 4 ++-- .../cli_root/zpool_create/setup.ksh | 6 +++--- .../cli_root/zpool_create/zpool_create.cfg | 11 +++++----- .../zpool_create/zpool_create_001_pos.ksh | 7 ++++--- .../zpool_create/zpool_create_004_pos.ksh | 10 ++++----- .../zpool_create/zpool_create_006_pos.ksh | 8 +++++-- .../zpool_create/zpool_create_010_neg.ksh | 9 ++++---- .../zpool_expand/zpool_expand_002_pos.ksh | 4 ++-- .../zpool_export/zpool_export_004_pos.ksh | 6 +++++- .../cli_root/zpool_import/zpool_import.cfg | 8 +++---- .../cli_root/zpool_set/zpool_set_002_neg.ksh | 6 +++++- .../cli_root/zpool_set/zpool_set_003_neg.ksh | 4 ++-- .../tests/functional/cli_user/misc/setup.ksh | 18 ++++++++-------- .../functional/history/history_001_pos.ksh | 6 +++--- .../functional/history/history_003_pos.ksh | 20 ++++++++---------- .../online_offline/online_offline_003_neg.ksh | 4 ++-- .../tests/functional/poolversion/setup.ksh | 6 +++--- .../functional/redundancy/redundancy.cfg | 4 +--- .../functional/redundancy/redundancy.kshlib | 21 +++++++++++-------- .../replacement/replacement_001_pos.ksh | 6 +++--- .../replacement/replacement_002_pos.ksh | 6 +++--- .../replacement/replacement_003_pos.ksh | 4 ++-- .../functional/reservation/reservation.shlib | 8 +++---- .../tests/functional/rsend/rsend_009_pos.ksh | 8 +++---- .../zfs-tests/tests/functional/slog/setup.ksh | 4 ++-- .../zfs-tests/tests/functional/slog/slog.cfg | 4 +--- .../tests/functional/slog/slog_012_neg.ksh | 4 ++-- .../tests/functional/slog/slog_013_pos.ksh | 10 ++++----- 52 files changed, 214 insertions(+), 153 deletions(-) diff --git a/include/sys/dnode.h b/include/sys/dnode.h index 9aacac3dfe..ebede2d06e 100644 --- a/include/sys/dnode.h +++ b/include/sys/dnode.h @@ -64,7 +64,7 @@ extern "C" { * 4 levels of indirect blocks would not be able to guarantee addressing an * entire object, so 5 levels will be used, but 5 * (20 - 7) = 65. */ -#define DN_MAX_INDBLKSHIFT 14 /* 16k */ +#define DN_MAX_INDBLKSHIFT 17 /* 128k */ #define DNODE_BLOCK_SHIFT 14 /* 16k */ #define DNODE_CORE_SIZE 64 /* 64 bytes for dnode sans blkptrs */ #define DN_MAX_OBJECT_SHIFT 48 /* 256 trillion (zfs_fid_t limit) */ @@ -101,6 +101,11 @@ extern "C" { #define DNODES_PER_BLOCK_SHIFT (DNODE_BLOCK_SHIFT - DNODE_SHIFT) #define DNODES_PER_BLOCK (1ULL << DNODES_PER_BLOCK_SHIFT) + +/* + * This is inaccurate if the indblkshift of the particular object is not the + * max. But it's only used by userland to calculate the zvol reservation. + */ #define DNODES_PER_LEVEL_SHIFT (DN_MAX_INDBLKSHIFT - SPA_BLKPTRSHIFT) #define DNODES_PER_LEVEL (1ULL << DNODES_PER_LEVEL_SHIFT) diff --git a/module/zfs/dmu_objset.c b/module/zfs/dmu_objset.c index 53b8a759a0..c83ca1b1ad 100644 --- a/module/zfs/dmu_objset.c +++ b/module/zfs/dmu_objset.c @@ -859,11 +859,17 @@ dmu_objset_create_impl(spa_t *spa, dsl_dataset_t *ds, blkptr_t *bp, /* * Determine the number of levels necessary for the meta-dnode - * to contain DN_MAX_OBJECT dnodes. + * to contain DN_MAX_OBJECT dnodes. Note that in order to + * ensure that we do not overflow 64 bits, there has to be + * a nlevels that gives us a number of blocks > DN_MAX_OBJECT + * but < 2^64. Therefore, + * (mdn->dn_indblkshift - SPA_BLKPTRSHIFT) (10) must be + * less than (64 - log2(DN_MAX_OBJECT)) (16). */ - while ((uint64_t)mdn->dn_nblkptr << (mdn->dn_datablkshift + + while ((uint64_t)mdn->dn_nblkptr << + (mdn->dn_datablkshift - DNODE_SHIFT + (levels - 1) * (mdn->dn_indblkshift - SPA_BLKPTRSHIFT)) < - DN_MAX_OBJECT * sizeof (dnode_phys_t)) + DN_MAX_OBJECT) levels++; mdn->dn_next_nlevels[tx->tx_txg & TXG_MASK] = diff --git a/module/zfs/spa_misc.c b/module/zfs/spa_misc.c index c39c137e66..59d9fe5761 100644 --- a/module/zfs/spa_misc.c +++ b/module/zfs/spa_misc.c @@ -341,9 +341,14 @@ int spa_asize_inflation = 24; * it is possible to run the pool completely out of space, causing it to * be permanently read-only. * + * Note that on very small pools, the slop space will be larger than + * 3.2%, in an effort to have it be at least spa_min_slop (128MB), + * but we never allow it to be more than half the pool size. + * * See also the comments in zfs_space_check_t. */ int spa_slop_shift = 5; +uint64_t spa_min_slop = 128 * 1024 * 1024; /* * ========================================================================== @@ -1617,7 +1622,8 @@ spa_get_asize(spa_t *spa, uint64_t lsize) /* * Return the amount of slop space in bytes. It is 1/32 of the pool (3.2%), - * or at least 32MB. + * or at least 128MB, unless that would cause it to be more than half the + * pool size. * * See the comment above spa_slop_shift for details. */ @@ -1625,7 +1631,7 @@ uint64_t spa_get_slop_space(spa_t *spa) { uint64_t space = spa_get_dspace(spa); - return (MAX(space >> spa_slop_shift, SPA_MINDEVSIZE >> 1)); + return (MAX(space >> spa_slop_shift, MIN(space >> 1, spa_min_slop))); } uint64_t diff --git a/scripts/zconfig.sh b/scripts/zconfig.sh index 45b66447ff..e78c80d542 100755 --- a/scripts/zconfig.sh +++ b/scripts/zconfig.sh @@ -360,7 +360,7 @@ test_6() { # Create a pool and volume. ${ZFS_SH} zfs="spa_config_path=${TMP_CACHE}" || fail 1 ${ZPOOL_CREATE_SH} -p ${POOL_NAME} -c lo-raid0 || fail 2 - ${ZFS} create -V 800M ${FULL_ZVOL_NAME} || fail 3 + ${ZFS} create -s -V 800M ${FULL_ZVOL_NAME} || fail 3 ${ZFS} set snapdev=visible ${FULL_ZVOL_NAME} || fail 3 label /dev/zvol/${FULL_ZVOL_NAME} msdos || fail 4 partition /dev/zvol/${FULL_ZVOL_NAME} primary 1 -1 || fail 4 diff --git a/scripts/zfs-tests.sh b/scripts/zfs-tests.sh index 2e27c0a1c4..00a7ceabcc 100755 --- a/scripts/zfs-tests.sh +++ b/scripts/zfs-tests.sh @@ -39,7 +39,7 @@ QUIET= CLEANUP=1 CLEANUPALL=0 LOOPBACK=1 -FILESIZE="2G" +FILESIZE="4G" RUNFILE=${RUNFILE:-"linux.run"} FILEDIR=${FILEDIR:-/var/tmp} DISKS=${DISKS:-""} @@ -165,7 +165,7 @@ OPTIONS: -k Disable cleanup after test failure -f Use files only, disables block device tests -d DIR Use DIR for files and loopback devices - -s SIZE Use vdevs of SIZE (default: 2G) + -s SIZE Use vdevs of SIZE (default: 4G) -r RUNFILE Run tests in RUNFILE (default: linux.run) EXAMPLES: diff --git a/tests/runfiles/linux.run b/tests/runfiles/linux.run index 079bc1a813..ec42b8e400 100644 --- a/tests/runfiles/linux.run +++ b/tests/runfiles/linux.run @@ -527,7 +527,8 @@ tests = ['quota_001_pos', 'quota_002_pos', 'quota_003_pos', tests = ['raidz_001_neg', 'raidz_002_pos'] [tests/functional/redundancy] -tests = ['redundancy_001_pos', 'redundancy_002_pos', 'redundancy_003_pos'] +tests = ['redundancy_001_pos', 'redundancy_002_pos', 'redundancy_003_pos', + 'redundancy_004_neg'] [tests/functional/refquota] tests = ['refquota_001_pos', 'refquota_002_pos', 'refquota_003_pos', diff --git a/tests/zfs-tests/include/default.cfg.in b/tests/zfs-tests/include/default.cfg.in index d6913f1f3a..ef34d2b90b 100644 --- a/tests/zfs-tests/include/default.cfg.in +++ b/tests/zfs-tests/include/default.cfg.in @@ -160,6 +160,12 @@ export BIGVOLSIZE=1eb # Default to limit disks to be checked export MAX_FINDDISKSNUM=6 +# Default minimum size for file based vdevs in the test suite +export MINVDEVSIZE=$((256 * 1024 * 1024)) + +# Minimum vdev size possible as defined in the OS +export SPA_MINDEVSIZE=$((64 * 1024 * 1024)) + # For iscsi target support export ISCSITGTFILE=/tmp/iscsitgt_file export ISCSITGT_FMRI=svc:/system/iscsitgt:default diff --git a/tests/zfs-tests/include/libtest.shlib b/tests/zfs-tests/include/libtest.shlib index 31b1e1dfc0..22b79b15a7 100644 --- a/tests/zfs-tests/include/libtest.shlib +++ b/tests/zfs-tests/include/libtest.shlib @@ -1542,7 +1542,7 @@ function zfs_zones_setup #zone_name zone_root zone_ip # if verify_slog_support ; then typeset sdevs="/var/tmp/sdev1 /var/tmp/sdev2" - log_must $MKFILE 100M $sdevs + log_must $MKFILE $MINVDEVSIZE $sdevs log_must $ZPOOL add $pool_name log mirror $sdevs fi @@ -2512,7 +2512,7 @@ function verify_slog_support typeset sdev=$dir/b $MKDIR -p $dir - $MKFILE 64M $vdev $sdev + $MKFILE $MINVDEVSIZE $vdev $sdev typeset -i ret=0 if ! $ZPOOL create -n $pool $vdev log $sdev > /dev/null 2>&1; then diff --git a/tests/zfs-tests/tests/functional/bootfs/bootfs_001_pos.ksh b/tests/zfs-tests/tests/functional/bootfs/bootfs_001_pos.ksh index ad416a5bcc..2d67258efb 100755 --- a/tests/zfs-tests/tests/functional/bootfs/bootfs_001_pos.ksh +++ b/tests/zfs-tests/tests/functional/bootfs/bootfs_001_pos.ksh @@ -27,6 +27,10 @@ # Copyright 2015 Nexenta Systems, Inc. # +# +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. +# + . $STF_SUITE/include/libtest.shlib # @@ -62,7 +66,7 @@ log_onexit cleanup typeset VDEV=$TESTDIR/bootfs_001_pos_a.$$.dat -log_must $MKFILE 400m $VDEV +log_must $MKFILE $MINVDEVSIZE $VDEV create_pool "$TESTPOOL" "$VDEV" log_must $ZFS create $TESTPOOL/$TESTFS diff --git a/tests/zfs-tests/tests/functional/bootfs/bootfs_002_neg.ksh b/tests/zfs-tests/tests/functional/bootfs/bootfs_002_neg.ksh index cd61b92881..cb1a1c9b9c 100755 --- a/tests/zfs-tests/tests/functional/bootfs/bootfs_002_neg.ksh +++ b/tests/zfs-tests/tests/functional/bootfs/bootfs_002_neg.ksh @@ -27,6 +27,10 @@ # Copyright 2015 Nexenta Systems, Inc. # +# +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. +# + . $STF_SUITE/include/libtest.shlib # diff --git a/tests/zfs-tests/tests/functional/bootfs/bootfs_003_pos.ksh b/tests/zfs-tests/tests/functional/bootfs/bootfs_003_pos.ksh index f3cf1c943d..2ead616402 100755 --- a/tests/zfs-tests/tests/functional/bootfs/bootfs_003_pos.ksh +++ b/tests/zfs-tests/tests/functional/bootfs/bootfs_003_pos.ksh @@ -25,6 +25,10 @@ # Use is subject to license terms. # +# +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. +# + . $STF_SUITE/include/libtest.shlib # @@ -59,7 +63,7 @@ fi log_onexit cleanup log_assert "Valid pool names are accepted by zpool set bootfs" -$MKFILE 64m $TESTDIR/bootfs_003.$$.dat +$MKFILE $MINVDEVSIZE $TESTDIR/bootfs_003.$$.dat typeset -i i=0; diff --git a/tests/zfs-tests/tests/functional/bootfs/bootfs_004_neg.ksh b/tests/zfs-tests/tests/functional/bootfs/bootfs_004_neg.ksh index 62bbb3d733..764147d0de 100755 --- a/tests/zfs-tests/tests/functional/bootfs/bootfs_004_neg.ksh +++ b/tests/zfs-tests/tests/functional/bootfs/bootfs_004_neg.ksh @@ -25,6 +25,10 @@ # Use is subject to license terms. # +# +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. +# + . $STF_SUITE/include/libtest.shlib # @@ -74,7 +78,7 @@ pools[${#pools[@]}]="$bigname" -$MKFILE 64m $TESTDIR/bootfs_004.$$.dat +$MKFILE $MINVDEVSIZE $TESTDIR/bootfs_004.$$.dat typeset -i i=0; diff --git a/tests/zfs-tests/tests/functional/bootfs/bootfs_005_neg.ksh b/tests/zfs-tests/tests/functional/bootfs/bootfs_005_neg.ksh index 3928cdd725..f09b32d2b0 100755 --- a/tests/zfs-tests/tests/functional/bootfs/bootfs_005_neg.ksh +++ b/tests/zfs-tests/tests/functional/bootfs/bootfs_005_neg.ksh @@ -25,6 +25,10 @@ # Use is subject to license terms. # +# +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. +# + . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/functional/cli_root/zpool_upgrade/zpool_upgrade.kshlib diff --git a/tests/zfs-tests/tests/functional/bootfs/bootfs_006_pos.ksh b/tests/zfs-tests/tests/functional/bootfs/bootfs_006_pos.ksh index fc3ca142f8..ab6cae1ee3 100755 --- a/tests/zfs-tests/tests/functional/bootfs/bootfs_006_pos.ksh +++ b/tests/zfs-tests/tests/functional/bootfs/bootfs_006_pos.ksh @@ -25,6 +25,10 @@ # Use is subject to license terms. # +# +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. +# + . $STF_SUITE/include/libtest.shlib # @@ -92,7 +96,7 @@ log_assert "Pools of correct vdev types accept boot property" log_onexit cleanup -log_must $MKFILE 64m $VDEV1 $VDEV2 $VDEV3 $VDEV4 +log_must $MKFILE $MINVDEVSIZE $VDEV1 $VDEV2 $VDEV3 $VDEV4 ## the following configurations are supported bootable pools diff --git a/tests/zfs-tests/tests/functional/bootfs/bootfs_008_neg.ksh b/tests/zfs-tests/tests/functional/bootfs/bootfs_008_neg.ksh index 1bbac9eed0..57da5a24b3 100755 --- a/tests/zfs-tests/tests/functional/bootfs/bootfs_008_neg.ksh +++ b/tests/zfs-tests/tests/functional/bootfs/bootfs_008_neg.ksh @@ -25,6 +25,10 @@ # Use is subject to license terms. # +# +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. +# + . $STF_SUITE/include/libtest.shlib # @@ -60,7 +64,7 @@ typeset COMP_FS=$TESTPOOL/COMP_FS log_onexit cleanup log_assert $assert_msg -log_must $MKFILE 300m $VDEV +log_must $MKFILE $MINVDEVSIZE $VDEV log_must $ZPOOL create $TESTPOOL $VDEV log_must $ZFS create $COMP_FS diff --git a/tests/zfs-tests/tests/functional/cache/cache.cfg b/tests/zfs-tests/tests/functional/cache/cache.cfg index f3155323d3..07e482d7df 100644 --- a/tests/zfs-tests/tests/functional/cache/cache.cfg +++ b/tests/zfs-tests/tests/functional/cache/cache.cfg @@ -25,7 +25,7 @@ # # -# Copyright (c) 2013 by Delphix. All rights reserved. +# Copyright (c) 2013, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib @@ -60,7 +60,7 @@ function set_disks set_disks set_device_dir -export SIZE=64M +export SIZE=$MINVDEVSIZE export VDIR=$TESTDIR/disk.cache export VDIR2=$TESTDIR/disk2.cache diff --git a/tests/zfs-tests/tests/functional/cachefile/cachefile_004_pos.ksh b/tests/zfs-tests/tests/functional/cachefile/cachefile_004_pos.ksh index 98adfd08db..ea12cf2b6e 100755 --- a/tests/zfs-tests/tests/functional/cachefile/cachefile_004_pos.ksh +++ b/tests/zfs-tests/tests/functional/cachefile/cachefile_004_pos.ksh @@ -26,7 +26,7 @@ # # -# Copyright (c) 2013 by Delphix. All rights reserved. +# Copyright (c) 2013, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib @@ -84,7 +84,7 @@ log_must $ZPOOL create $TESTPOOL $DISKS mntpnt=$(get_prop mountpoint $TESTPOOL) typeset -i i=0 while ((i < 2)); do - log_must $MKFILE 64M $mntpnt/vdev$i + log_must $MKFILE $MINVDEVSIZE $mntpnt/vdev$i eval vdev$i=$mntpnt/vdev$i ((i += 1)) done diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_destroy/zfs_destroy_015_pos.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_destroy/zfs_destroy_015_pos.ksh index 579e747841..f2e5ce6cfd 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zfs_destroy/zfs_destroy_015_pos.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zfs_destroy/zfs_destroy_015_pos.ksh @@ -11,7 +11,7 @@ # # -# Copyright (c) 2012 by Delphix. All rights reserved. +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. # # DESCRIPTION @@ -139,7 +139,7 @@ log_must snapexists $TESTPOOL/$TESTFS1@snap3 log_note "zfs destroy for snapshots from different pools" VIRTUAL_DISK=/var/tmp/disk -log_must $DD if=/dev/urandom of=$VIRTUAL_DISK bs=1M count=64 +log_must $MKFILE $MINVDEVSIZE $VIRTUAL_DISK log_must $ZPOOL create $TESTPOOL2 $VIRTUAL_DISK log_must poolexists $TESTPOOL2 diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_get/zfs_get_004_pos.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_get/zfs_get_004_pos.ksh index 1dce6e9cc1..566da2272a 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zfs_get/zfs_get_004_pos.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zfs_get/zfs_get_004_pos.ksh @@ -26,7 +26,7 @@ # # -# Copyright (c) 2012 by Delphix. All rights reserved. +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib @@ -107,9 +107,9 @@ allds="$fs $clone $fssnap $volsnap" #create pool and datasets to guarantee testing under multiple pools and datasets. file=$TESTDIR1/poolfile -typeset -i FILESIZE=104857600 #100M -(( DFILESIZE = FILESIZE * 2 )) # double of FILESIZE -typeset -i VOLSIZE=10485760 #10M +typeset FILESIZE=$MINVDEVSIZE +(( DFILESIZE = $FILESIZE * 2 )) +typeset -i VOLSIZE=10485760 availspace=$(get_prop available $TESTPOOL) typeset -i i=0 diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_rename/zfs_rename_005_neg.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_rename/zfs_rename_005_neg.ksh index 6010af18ae..b3f1b39671 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zfs_rename/zfs_rename_005_neg.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zfs_rename/zfs_rename_005_neg.ksh @@ -24,6 +24,11 @@ # Copyright 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # + +# +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. +# + . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/functional/cli_root/zfs_rename/zfs_rename.kshlib @@ -63,8 +68,7 @@ log_assert "'zfs rename' should fail while datasets are within different pool." additional_setup -typeset FILESIZE=64m -log_must $MKFILE $FILESIZE $TESTDIR/$TESTFILE1 +log_must $MKFILE $MINVDEVSIZE $TESTDIR/$TESTFILE1 create_pool $TESTPOOL1 $TESTDIR/$TESTFILE1 for src in ${src_dataset[@]} ; do diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_snapshot/zfs_snapshot_008_neg.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_snapshot/zfs_snapshot_008_neg.ksh index de67baa60c..935e277d14 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zfs_snapshot/zfs_snapshot_008_neg.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zfs_snapshot/zfs_snapshot_008_neg.ksh @@ -21,7 +21,7 @@ # # -# Copyright (c) 2012 by Delphix. All rights reserved. +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. # . $STF_SUITE/tests/functional/cli_root/zfs_snapshot/zfs_snapshot.cfg @@ -57,8 +57,8 @@ function cleanup log_assert "'zfs snapshot pool1@snap1 pool2@snap2' should fail since snapshots are in different pools." log_onexit cleanup -log_must $MKFILE 64m $SNAPDEV1 -log_must $MKFILE 64m $SNAPDEV2 +log_must $MKFILE $MINVDEVSIZE $SNAPDEV1 +log_must $MKFILE $MINVDEVSIZE $SNAPDEV2 log_must $ZPOOL create $SNAPPOOL1 $SNAPDEV1 log_must $ZPOOL create $SNAPPOOL2 $SNAPDEV2 diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool/zpool_002_pos.ksh b/tests/zfs-tests/tests/functional/cli_root/zpool/zpool_002_pos.ksh index d4265af041..a2dc206cd7 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zpool/zpool_002_pos.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zpool/zpool_002_pos.ksh @@ -24,6 +24,11 @@ # Copyright 2009 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # + +# +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. +# + . $STF_SUITE/include/libtest.shlib # @@ -66,7 +71,7 @@ vdev1=$TESTDIR/file1 vdev2=$TESTDIR/file2 vdev3=$TESTDIR/file3 for vdev in $vdev1 $vdev2 $vdev3; do - $MKFILE 64m $vdev + $MKFILE $MINVDEVSIZE $vdev done set -A cmds "create $pool mirror $vdev1 $vdev2" "list $pool" "iostat $pool" \ diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_add/zpool_add.cfg b/tests/zfs-tests/tests/functional/cli_root/zpool_add/zpool_add.cfg index f12a883dc8..e4429b2a83 100644 --- a/tests/zfs-tests/tests/functional/cli_root/zpool_add/zpool_add.cfg +++ b/tests/zfs-tests/tests/functional/cli_root/zpool_add/zpool_add.cfg @@ -25,18 +25,13 @@ # # -# Copyright (c) 2012, 2014 by Delphix. All rights reserved. +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. # export DISK_ARRAY_NUM=0 export DISK_ARRAY_LIMIT=4 export DISKSARRAY="" -# -# Variables for zpool_add_006 -# -export VDEVS_NUM=32 - function set_disks { set -A disk_array $(find_disks $DISKS) @@ -66,10 +61,7 @@ function set_disks set_disks -export FILESIZE="100m" -export FILESIZE1="150m" -export SIZE="150m" -export SIZE1="250m" +export SIZE="$(((MINVDEVSIZE / (1024 * 1024)) * 2))m" if is_linux; then set_device_dir @@ -91,4 +83,4 @@ else export SLICE6=6 fi -export VOLSIZE=84m +export VOLSIZE=$MINVDEVSIZE diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_add/zpool_add_006_pos.ksh b/tests/zfs-tests/tests/functional/cli_root/zpool_add/zpool_add_006_pos.ksh index c60814d40d..ad2aa685b5 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zpool_add/zpool_add_006_pos.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zpool_add/zpool_add_006_pos.ksh @@ -26,7 +26,7 @@ # # -# Copyright (c) 2014 by Delphix. All rights reserved. +# Copyright (c) 2014, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib @@ -38,7 +38,7 @@ # # STRATEGY: # 1. Create a file based pool. -# 2. Add 32 file based vdevs to it. +# 2. Add 16 file based vdevs to it. # 3. Attempt to add a file based vdev that's too small; verify failure. # @@ -61,11 +61,11 @@ log_onexit cleanup create_pool $TESTPOOL ${DISKS%% *} log_must $ZFS create -o mountpoint=$TESTDIR $TESTPOOL/$TESTFS -log_must $MKFILE 64m $TESTDIR/file.00 +log_must $MKFILE $MINVDEVSIZE $TESTDIR/file.00 create_pool "$TESTPOOL1" "$TESTDIR/file.00" -vdevs_list=$($ECHO $TESTDIR/file.{01..32}) -log_must $MKFILE 64m $vdevs_list +vdevs_list=$($ECHO $TESTDIR/file.{01..16}) +log_must $MKFILE $MINVDEVSIZE $vdevs_list log_must $ZPOOL add -f "$TESTPOOL1" $vdevs_list log_must vdevs_in_pool "$TESTPOOL1" "$vdevs_list" diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_clear/zpool_clear.cfg b/tests/zfs-tests/tests/functional/cli_root/zpool_clear/zpool_clear.cfg index 097a43b0ed..e6977350af 100644 --- a/tests/zfs-tests/tests/functional/cli_root/zpool_clear/zpool_clear.cfg +++ b/tests/zfs-tests/tests/functional/cli_root/zpool_clear/zpool_clear.cfg @@ -25,9 +25,9 @@ # # -# Copyright (c) 2012 by Delphix. All rights reserved. +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. # -export FILESIZE=100m +export FILESIZE=$MINVDEVSIZE export BLOCKSZ=$(( 1024 * 1024 )) export NUM_WRITES=40 diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_create/setup.ksh b/tests/zfs-tests/tests/functional/cli_root/zpool_create/setup.ksh index a21813ca65..28adaea2cd 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zpool_create/setup.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zpool_create/setup.ksh @@ -26,7 +26,7 @@ # # -# Copyright (c) 2012 by Delphix. All rights reserved. +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib @@ -52,12 +52,12 @@ if [[ -n $DISK ]]; then # cleanup_devices $DISK - partition_disk $SIZE $DISK 7 + partition_disk $((($MINVDEVSIZE / (1024 * 1024)) * 2))m $DISK 7 else for disk in `$ECHO $DISKSARRAY`; do cleanup_devices $disk - partition_disk $SIZE $disk 7 + partition_disk $((($MINVDEVSIZE / (1024 * 1024)) * 2))m $disk 7 done fi diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create.cfg b/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create.cfg index 33dd8866e2..93e0c38d3e 100644 --- a/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create.cfg +++ b/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create.cfg @@ -25,7 +25,7 @@ # # -# Copyright (c) 2012, 2014 by Delphix. All rights reserved. +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib @@ -33,7 +33,6 @@ export DISK_ARRAY_NUM=0 export DISK_ARRAY_LIMIT=4 export DISKSARRAY="" -export VDEVS_NUM=32 function set_disks { @@ -58,10 +57,10 @@ function set_disks set_disks -export FILESIZE="100m" -export FILESIZE1="150m" -export SIZE="200m" -export SIZE1="250m" +export FILESIZE="$MINVDEVSIZE" +export FILESIZE1="$(($MINVDEVSIZE * 2))" +export SIZE="$((MINVDEVSIZE / (1024 * 1024)))"m +export SIZE1="$(($MINVDEVSIZE * 2 / (1024 * 1024)))m" if is_linux; then set_device_dir diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_001_pos.ksh b/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_001_pos.ksh index 824c6dc004..2a975edc51 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_001_pos.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_001_pos.ksh @@ -26,7 +26,7 @@ # # -# Copyright (c) 2012 by Delphix. All rights reserved. +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib @@ -52,11 +52,12 @@ function cleanup clean_blockfile "$TESTDIR0 $TESTDIR1" if [[ -n $DISK ]]; then - partition_disk $SIZE $DISK 7 + partition_disk $((($MINVDEVSIZE / (1024 * 1024)) * 2))m $DISK 7 else typeset disk="" for disk in $DISK0 $DISK1; do - partition_disk $SIZE $disk 7 + partition_disk \ + $((($MINVDEVSIZE / (1024 * 1024)) * 2))m $disk 7 done fi } diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_004_pos.ksh b/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_004_pos.ksh index b5a37095b3..f9542d4bef 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_004_pos.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_004_pos.ksh @@ -26,7 +26,7 @@ # # -# Copyright (c) 2012, 2014 by Delphix. All rights reserved. +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. # . $STF_SUITE/tests/functional/cli_root/zpool_create/zpool_create.shlib @@ -54,15 +54,15 @@ function cleanup partition_disk $SIZE $disk 6 } -log_assert "Storage pools with $VDEVS_NUM file based vdevs can be created." +log_assert "Storage pools with 16 file based vdevs can be created." log_onexit cleanup disk=${DISKS%% *} create_pool $TESTPOOL $disk log_must $ZFS create -o mountpoint=$TESTDIR $TESTPOOL/$TESTFS -vdevs_list=$($ECHO $TESTDIR/file.{01..32}) -log_must $MKFILE 64m $vdevs_list +vdevs_list=$($ECHO $TESTDIR/file.{01..16}) +log_must $MKFILE $MINVDEVSIZE $vdevs_list create_pool "$TESTPOOL1" $vdevs_list log_must vdevs_in_pool "$TESTPOOL1" "$vdevs_list" @@ -74,7 +74,7 @@ else fi log_must $MKFILE 32m $TESTDIR/broken_file -vdevs_list="$vdevs_list ${TESTDIR}/broken_file" +vdevs_list="$vdevs_list $TESTDIR/broken_file" log_mustnot $ZPOOL create -f $TESTPOOL1 $vdevs_list log_pass "Storage pools with many file based vdevs can be created." diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_006_pos.ksh b/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_006_pos.ksh index 56c6e54eeb..de6b1d4382 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_006_pos.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_006_pos.ksh @@ -25,6 +25,10 @@ # Use is subject to license terms. # +# +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. +# + . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/functional/cli_root/zpool_create/zpool_create.shlib @@ -34,7 +38,7 @@ # # STRATEGY: # 1. Create base filesystem to hold virtual disk files. -# 2. Create several files >= 64M. +# 2. Create several files == $MINVDEVSIZE. # 3. Verify 'zpool create' succeed with valid keywords combination. # @@ -55,7 +59,7 @@ mntpnt=$(get_prop mountpoint $TESTPOOL) typeset -i i=0 while ((i < 10)); do - log_must $MKFILE 64M $mntpnt/vdev$i + log_must $MKFILE $MINVDEVSIZE $mntpnt/vdev$i eval vdev$i=$mntpnt/vdev$i ((i += 1)) diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_010_neg.ksh b/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_010_neg.ksh index 7b555de9bd..694397ff14 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_010_neg.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_010_neg.ksh @@ -26,7 +26,7 @@ # # -# Copyright (c) 2012 by Delphix. All rights reserved. +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib @@ -34,7 +34,7 @@ # # DESCRIPTION: -# 'zpool create' should return an error with VDEVsof size <64mb +# 'zpool create' should return an error with VDEVs of size SPA_MINDEVSIZE # # STRATEGY: # 1. Create an array of parameters @@ -42,7 +42,7 @@ # 3. Verify an error is returned. # -log_assert "'zpool create' should return an error with VDEVs <64mb" +log_assert "'zpool create' should return an error with VDEVs SPA_MINDEVSIZE" verify_runnable "global" @@ -69,9 +69,10 @@ create_pool $TESTPOOL $disk log_must $ZFS create $TESTPOOL/$TESTFS log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS +typeset -l devsize=$(($SPA_MINDEVSIZE - 1024 * 1024)) for files in $TESTDIR/file1 $TESTDIR/file2 do - log_must $MKFILE 63m $files + log_must $MKFILE $devsize $files done set -A args \ diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_expand/zpool_expand_002_pos.ksh b/tests/zfs-tests/tests/functional/cli_root/zpool_expand/zpool_expand_002_pos.ksh index d7ce33d998..ce27e22320 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zpool_expand/zpool_expand_002_pos.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zpool_expand/zpool_expand_002_pos.ksh @@ -26,7 +26,7 @@ # # -# Copyright (c) 2012 by Delphix. All rights reserved. +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib @@ -103,7 +103,7 @@ for type in " " mirror raidz raidz2; do "expanded size: $expand_size" # compare available pool size from zfs - if [[ $zfs_expand_size > $zfs_prev_size ]]; then + if [[ $zfs_expand_size -gt $zfs_prev_size ]]; then # check for zpool history for the pool size expansion if [[ $type == " " ]]; then typeset size_addition=$($ZPOOL history -il $TESTPOOL1 \ diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_export/zpool_export_004_pos.ksh b/tests/zfs-tests/tests/functional/cli_root/zpool_export/zpool_export_004_pos.ksh index 91f2968817..14b9f21982 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zpool_export/zpool_export_004_pos.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zpool_export/zpool_export_004_pos.ksh @@ -25,6 +25,10 @@ # Use is subject to license terms. # +# +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. +# + . $STF_SUITE/include/libtest.shlib # @@ -69,7 +73,7 @@ mntpnt=$(get_prop mountpoint $TESTPOOL) typeset -i i=0 while ((i < 5)); do - log_must $MKFILE 64M $mntpnt/vdev$i + log_must $MKFILE $MINVDEVSIZE $mntpnt/vdev$i eval vdev$i=$mntpnt/vdev$i ((i += 1)) done diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_import/zpool_import.cfg b/tests/zfs-tests/tests/functional/cli_root/zpool_import/zpool_import.cfg index 017874ec07..b49281f926 100644 --- a/tests/zfs-tests/tests/functional/cli_root/zpool_import/zpool_import.cfg +++ b/tests/zfs-tests/tests/functional/cli_root/zpool_import/zpool_import.cfg @@ -25,7 +25,7 @@ # # -# Copyright (c) 2012 by Delphix. All rights reserved. +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib @@ -110,9 +110,9 @@ esac export DISK_COUNT ZFS_DISK1 ZFSSIDE_DISK1 ZFS_DISK2 ZFSSIDE_DISK2 -export FS_SIZE=1g -export FILE_SIZE=64m -export SLICE_SIZE=128m +export FS_SIZE="$((($MINVDEVSIZE / (1024 * 1024)) * 16))m" +export FILE_SIZE="$(($MINVDEVSIZE / 2))" +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 diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_set/zpool_set_002_neg.ksh b/tests/zfs-tests/tests/functional/cli_root/zpool_set/zpool_set_002_neg.ksh index 4f8e548043..a4c8a28992 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zpool_set/zpool_set_002_neg.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zpool_set/zpool_set_002_neg.ksh @@ -25,6 +25,10 @@ # Use is subject to license terms. # +# +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. +# + . $STF_SUITE/include/libtest.shlib # @@ -99,7 +103,7 @@ arguments[${#arguments[@]}]="bootfs=$bigname" # Create a pool called bootfs (so-called, so as to trip any clashes between # property name, and pool name) # Also create a filesystem in this pool -log_must $MKFILE 64m /tmp/zpool_set_002.$$.dat +log_must $MKFILE $MINVDEVSIZE /tmp/zpool_set_002.$$.dat log_must $ZPOOL create bootfs /tmp/zpool_set_002.$$.dat log_must $ZFS create bootfs/root diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_set/zpool_set_003_neg.ksh b/tests/zfs-tests/tests/functional/cli_root/zpool_set/zpool_set_003_neg.ksh index 614939b380..09c9ef1953 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zpool_set/zpool_set_003_neg.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zpool_set/zpool_set_003_neg.ksh @@ -26,7 +26,7 @@ # # -# Copyright (c) 2012 by Delphix. All rights reserved. +# Copyright (c) 2012, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib @@ -56,7 +56,7 @@ log_onexit cleanup log_assert "zpool set cannot set a readonly property" -log_must $MKFILE 64m /tmp/zpool_set_003.$$.dat +log_must $MKFILE $MINVDEVSIZE /tmp/zpool_set_003.$$.dat log_must $ZPOOL create $TESTPOOL /tmp/zpool_set_003.$$.dat typeset -i i=0; diff --git a/tests/zfs-tests/tests/functional/cli_user/misc/setup.ksh b/tests/zfs-tests/tests/functional/cli_user/misc/setup.ksh index ac5b93472a..2deafcd01a 100755 --- a/tests/zfs-tests/tests/functional/cli_user/misc/setup.ksh +++ b/tests/zfs-tests/tests/functional/cli_user/misc/setup.ksh @@ -26,7 +26,7 @@ # # -# Copyright (c) 2013 by Delphix. All rights reserved. +# Copyright (c) 2013, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib @@ -116,14 +116,14 @@ then # Now create several virtual disks to test zpool with - $MKFILE 100m /$TESTDIR/disk1.dat - $MKFILE 100m /$TESTDIR/disk2.dat - $MKFILE 100m /$TESTDIR/disk3.dat - $MKFILE 100m /$TESTDIR/disk-additional.dat - $MKFILE 100m /$TESTDIR/disk-export.dat - $MKFILE 100m /$TESTDIR/disk-offline.dat - $MKFILE 100m /$TESTDIR/disk-spare1.dat - $MKFILE 100m /$TESTDIR/disk-spare2.dat + $MKFILE $MINVDEVSIZE /$TESTDIR/disk1.dat + $MKFILE $MINVDEVSIZE /$TESTDIR/disk2.dat + $MKFILE $MINVDEVSIZE /$TESTDIR/disk3.dat + $MKFILE $MINVDEVSIZE /$TESTDIR/disk-additional.dat + $MKFILE $MINVDEVSIZE /$TESTDIR/disk-export.dat + $MKFILE $MINVDEVSIZE /$TESTDIR/disk-offline.dat + $MKFILE $MINVDEVSIZE /$TESTDIR/disk-spare1.dat + $MKFILE $MINVDEVSIZE /$TESTDIR/disk-spare2.dat # and create a pool we can perform attach remove replace, # etc. operations with diff --git a/tests/zfs-tests/tests/functional/history/history_001_pos.ksh b/tests/zfs-tests/tests/functional/history/history_001_pos.ksh index e63d5ac505..26170cb630 100755 --- a/tests/zfs-tests/tests/functional/history/history_001_pos.ksh +++ b/tests/zfs-tests/tests/functional/history/history_001_pos.ksh @@ -25,7 +25,7 @@ # Use is subject to license terms. # -# Copyright (c) 2013 by Delphix. All rights reserved. +# Copyright (c) 2013, 2015 by Delphix. All rights reserved. # . $STF_SUITE/tests/functional/history/history_common.kshlib @@ -63,8 +63,8 @@ mntpnt=$(get_prop mountpoint $TESTPOOL) VDEV1=$mntpnt/vdev1; VDEV2=$mntpnt/vdev2; VDEV3=$mntpnt/vdev3; VDEV4=$mntpnt/vdev4; -log_must $MKFILE 64m $VDEV1 $VDEV2 $VDEV3 -log_must $MKFILE 100m $VDEV4 +log_must $MKFILE $MINVDEVSIZE $VDEV1 $VDEV2 $VDEV3 +log_must $MKFILE $(($MINVDEVSIZE * 2)) $VDEV4 run_and_verify -p "$MPOOL" "$ZPOOL create $MPOOL mirror $VDEV1 $VDEV2" run_and_verify -p "$MPOOL" "$ZPOOL add -f $MPOOL spare $VDEV3" diff --git a/tests/zfs-tests/tests/functional/history/history_003_pos.ksh b/tests/zfs-tests/tests/functional/history/history_003_pos.ksh index 224ee159e0..01bba0c966 100755 --- a/tests/zfs-tests/tests/functional/history/history_003_pos.ksh +++ b/tests/zfs-tests/tests/functional/history/history_003_pos.ksh @@ -26,7 +26,7 @@ # # -# Copyright (c) 2013 by Delphix. All rights reserved. +# Copyright (c) 2013, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib @@ -36,11 +36,10 @@ # zpool history will truncate on small pools, leaving pool creation intact # # STRATEGY: -# 1. Create two 100M virtual disk files. -# 2. Create test pool using the two virtual files. -# 3. Loop 100 times to set and remove compression to test dataset. -# 4. Make sure 'zpool history' output is truncated -# 5. Verify that the initial pool creation is preserved. +# 1. Create a test pool on a file. +# 2. Loop 300 times to set and remove compression to test dataset. +# 3. Make sure 'zpool history' output is truncated +# 4. Verify that the initial pool creation is preserved. # verify_runnable "global" @@ -49,7 +48,6 @@ function cleanup { datasetexists $spool && log_must $ZPOOL destroy $spool [[ -f $VDEV0 ]] && log_must $RM -f $VDEV0 - [[ -f $VDEV1 ]] && log_must $RM -f $VDEV1 [[ -f $TMPFILE ]] && log_must $RM -f $TMPFILE } @@ -59,11 +57,11 @@ log_onexit cleanup mntpnt=$(get_prop mountpoint $TESTPOOL) (( $? != 0 )) && log_fail "get_prop mountpoint $TESTPOOL" -VDEV0=$mntpnt/vdev0; VDEV1=$mntpnt/vdev1 -log_must $MKFILE 100m $VDEV0 $VDEV1 +VDEV0=$mntpnt/vdev0 +log_must $MKFILE $MINVDEVSIZE $VDEV0 spool=smallpool.$$; sfs=smallfs.$$ -log_must $ZPOOL create $spool $VDEV0 $VDEV1 +log_must $ZPOOL create $spool $VDEV0 log_must $ZFS create $spool/$sfs typeset -i orig_count=$($ZPOOL history $spool | $WC -l) @@ -71,7 +69,7 @@ typeset orig_md5=$($ZPOOL history $spool | $HEAD -2 | $MD5SUM | \ $AWK '{print $1}') typeset -i i=0 -while ((i < 100)); do +while ((i < 300)); do $ZFS set compression=off $spool/$sfs $ZFS set compression=on $spool/$sfs $ZFS set compression=off $spool/$sfs diff --git a/tests/zfs-tests/tests/functional/online_offline/online_offline_003_neg.ksh b/tests/zfs-tests/tests/functional/online_offline/online_offline_003_neg.ksh index a9d0c33700..398c19c22a 100755 --- a/tests/zfs-tests/tests/functional/online_offline/online_offline_003_neg.ksh +++ b/tests/zfs-tests/tests/functional/online_offline/online_offline_003_neg.ksh @@ -26,7 +26,7 @@ # # -# Copyright (c) 2013, 2014 by Delphix. All rights reserved. +# Copyright (c) 2013, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib @@ -58,7 +58,7 @@ log_onexit cleanup specials_list="" for i in 0 1 2; do - $MKFILE 64m $TESTDIR/$TESTFILE1.$i + $MKFILE $MINVDEVSIZE $TESTDIR/$TESTFILE1.$i specials_list="$specials_list $TESTDIR/$TESTFILE1.$i" done disk=($specials_list) diff --git a/tests/zfs-tests/tests/functional/poolversion/setup.ksh b/tests/zfs-tests/tests/functional/poolversion/setup.ksh index cfe14a030a..aadaa90606 100755 --- a/tests/zfs-tests/tests/functional/poolversion/setup.ksh +++ b/tests/zfs-tests/tests/functional/poolversion/setup.ksh @@ -26,7 +26,7 @@ # # -# Copyright (c) 2013 by Delphix. All rights reserved. +# Copyright (c) 2013, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib @@ -34,12 +34,12 @@ verify_runnable "global" # create a version 1 pool -log_must $MKFILE 64m /tmp/zpool_version_1.dat +log_must $MKFILE $MINVDEVSIZE /tmp/zpool_version_1.dat log_must $ZPOOL create -o version=1 $TESTPOOL /tmp/zpool_version_1.dat # create another version 1 pool -log_must $MKFILE 64m /tmp/zpool2_version_1.dat +log_must $MKFILE $MINVDEVSIZE /tmp/zpool2_version_1.dat log_must $ZPOOL create -o version=1 $TESTPOOL2 /tmp/zpool2_version_1.dat log_pass diff --git a/tests/zfs-tests/tests/functional/redundancy/redundancy.cfg b/tests/zfs-tests/tests/functional/redundancy/redundancy.cfg index 079ff8b730..f49b7e76ae 100644 --- a/tests/zfs-tests/tests/functional/redundancy/redundancy.cfg +++ b/tests/zfs-tests/tests/functional/redundancy/redundancy.cfg @@ -25,7 +25,7 @@ # # -# Copyright (c) 2013 by Delphix. All rights reserved. +# Copyright (c) 2013, 2015 by Delphix. All rights reserved. # export BASEDIR=/var/tmp/basedir.$$ @@ -34,7 +34,5 @@ export TESTFILE=testfile.$$ export PRE_RECORD_FILE=$BASEDIR/pre-record-file.$$ export PST_RECORD_FILE=$BASEDIR/pst-record-file.$$ -export DEV_SIZE=64M - export BLOCKSZ=$(( 1024 * 1024 )) export NUM_WRITES=40 diff --git a/tests/zfs-tests/tests/functional/redundancy/redundancy.kshlib b/tests/zfs-tests/tests/functional/redundancy/redundancy.kshlib index 56e2bd19d8..64c3a04928 100644 --- a/tests/zfs-tests/tests/functional/redundancy/redundancy.kshlib +++ b/tests/zfs-tests/tests/functional/redundancy/redundancy.kshlib @@ -25,7 +25,7 @@ # # -# Copyright (c) 2013 by Delphix. All rights reserved. +# Copyright (c) 2013, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib @@ -119,7 +119,7 @@ function setup_test_env destroy_pool $pool fi - log_must $MKFILE $DEV_SIZE $vdevs + log_must $MKFILE $MINVDEVSIZE $vdevs log_must $ZPOOL create -m $TESTDIR $pool $keyword $vdevs @@ -226,7 +226,9 @@ function replace_missing_devs typeset vdev for vdev in $@; do - log_must $MKFILE $DEV_SIZE $vdev + log_must $GNUDD if=/dev/zero of=$vdev \ + bs=1024k count=$(($MINDEVSIZE / (1024 * 1024))) \ + oflag=fdatasync log_must $ZPOOL replace -f $pool $vdev $vdev while true; do if ! is_pool_resilvered $pool ; then @@ -252,19 +254,20 @@ function damage_devs typeset -i cnt=$2 typeset label="$3" typeset vdevs - typeset -i bs_count + typeset -i bs_count=$((64 * 1024)) vdevs=$(get_vdevs $pool $cnt) + typeset dev if [[ -n $label ]]; then - typeset dev for dev in $vdevs; do - bs_count=$($LS -l $dev | $AWK '{print $5}') - (( bs_count = bs_count/1024 - 512 )) $DD if=/dev/zero of=$dev seek=512 bs=1024 \ - count=$bs_count conv=notrunc >/dev/null 2>&1 + count=$bs_count conv=notrunc >/dev/null 2>&1 done else - log_must $MKFILE $DEV_SIZE $vdevs + for dev in $vdevs; do + $DD if=/dev/zero of=$dev bs=1024 count=$bs_count \ + conv=notrunc >/dev/null 2>&1 + done fi sync_pool $pool diff --git a/tests/zfs-tests/tests/functional/replacement/replacement_001_pos.ksh b/tests/zfs-tests/tests/functional/replacement/replacement_001_pos.ksh index fcc575f832..9e8285f17b 100755 --- a/tests/zfs-tests/tests/functional/replacement/replacement_001_pos.ksh +++ b/tests/zfs-tests/tests/functional/replacement/replacement_001_pos.ksh @@ -26,7 +26,7 @@ # # -# Copyright (c) 2013 by Delphix. All rights reserved. +# Copyright (c) 2013, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib @@ -125,7 +125,7 @@ function replace_test specials_list="" i=0 while [[ $i != 2 ]]; do - $MKFILE 100m $TESTDIR/$TESTFILE1.$i + $MKFILE $MINVDEVSIZE $TESTDIR/$TESTFILE1.$i specials_list="$specials_list $TESTDIR/$TESTFILE1.$i" ((i = i + 1)) @@ -134,7 +134,7 @@ done # # Create a replacement disk special file. # -$MKFILE 100m $TESTDIR/$REPLACEFILE +$MKFILE $MINVDEVSIZE $TESTDIR/$REPLACEFILE for type in "" "raidz" "raidz1" "mirror"; do for op in "" "-f"; do diff --git a/tests/zfs-tests/tests/functional/replacement/replacement_002_pos.ksh b/tests/zfs-tests/tests/functional/replacement/replacement_002_pos.ksh index aae6d78a71..713891d12f 100755 --- a/tests/zfs-tests/tests/functional/replacement/replacement_002_pos.ksh +++ b/tests/zfs-tests/tests/functional/replacement/replacement_002_pos.ksh @@ -26,7 +26,7 @@ # # -# Copyright (c) 2013 by Delphix. All rights reserved. +# Copyright (c) 2013, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib @@ -125,7 +125,7 @@ function attach_test specials_list="" i=0 while [[ $i != 2 ]]; do - $MKFILE 100m $TESTDIR/$TESTFILE1.$i + $MKFILE $MINVDEVSIZE $TESTDIR/$TESTFILE1.$i specials_list="$specials_list $TESTDIR/$TESTFILE1.$i" ((i = i + 1)) @@ -134,7 +134,7 @@ done # # Create a replacement disk special file. # -$MKFILE 100m $TESTDIR/$REPLACEFILE +$MKFILE $MINVDEVSIZE $TESTDIR/$REPLACEFILE for op in "" "-f"; do create_pool $TESTPOOL1 mirror $specials_list diff --git a/tests/zfs-tests/tests/functional/replacement/replacement_003_pos.ksh b/tests/zfs-tests/tests/functional/replacement/replacement_003_pos.ksh index 1a7a7d87b3..1bfacafb29 100755 --- a/tests/zfs-tests/tests/functional/replacement/replacement_003_pos.ksh +++ b/tests/zfs-tests/tests/functional/replacement/replacement_003_pos.ksh @@ -26,7 +26,7 @@ # # -# Copyright (c) 2013 by Delphix. All rights reserved. +# Copyright (c) 2013, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib @@ -122,7 +122,7 @@ function detach_test specials_list="" i=0 while [[ $i != 2 ]]; do - $MKFILE 100m $TESTDIR/$TESTFILE1.$i + $MKFILE $MINVDEVSIZE $TESTDIR/$TESTFILE1.$i specials_list="$specials_list $TESTDIR/$TESTFILE1.$i" ((i = i + 1)) diff --git a/tests/zfs-tests/tests/functional/reservation/reservation.shlib b/tests/zfs-tests/tests/functional/reservation/reservation.shlib index 27e9a87e01..157a41b6be 100644 --- a/tests/zfs-tests/tests/functional/reservation/reservation.shlib +++ b/tests/zfs-tests/tests/functional/reservation/reservation.shlib @@ -25,7 +25,7 @@ # # -# Copyright (c) 2013 by Delphix. All rights reserved. +# Copyright (c) 2013, 2016 by Delphix. All rights reserved. # . $STF_SUITE/tests/functional/reservation/reservation.cfg @@ -144,9 +144,9 @@ function volsize_to_reservation typeset vol=$1 typeset volsize=$2 - typeset DN_MAX_INDBLKSHIFT=14 - typeset SPA_BLKPTRSHIFT=7 - typeset SPA_DVAS_PER_BP=3 + typeset -i DN_MAX_INDBLKSHIFT=17 + typeset -i SPA_BLKPTRSHIFT=7 + typeset -i SPA_DVAS_PER_BP=3 typeset DNODES_PER_LEVEL_SHIFT=$((DN_MAX_INDBLKSHIFT - \ SPA_BLKPTRSHIFT)) diff --git a/tests/zfs-tests/tests/functional/rsend/rsend_009_pos.ksh b/tests/zfs-tests/tests/functional/rsend/rsend_009_pos.ksh index 0e6fcf1323..8f201fde7f 100755 --- a/tests/zfs-tests/tests/functional/rsend/rsend_009_pos.ksh +++ b/tests/zfs-tests/tests/functional/rsend/rsend_009_pos.ksh @@ -58,10 +58,10 @@ function cleanup log_assert "Verify zfs receive can handle out of space correctly." log_onexit cleanup -log_must $MKFILE 100M $TESTDIR/bfile -log_must $MKFILE 64M $TESTDIR/sfile -log_must $ZPOOL create bpool $TESTDIR/bfile -log_must $ZPOOL create spool $TESTDIR/sfile +log_must $MKFILE $MINVDEVSIZE $TESTDIR/bfile +log_must $MKFILE $SPA_MINDEVSIZE $TESTDIR/sfile +log_must zpool create bpool $TESTDIR/bfile +log_must zpool create spool $TESTDIR/sfile # # Test out of space on sub-filesystem diff --git a/tests/zfs-tests/tests/functional/slog/setup.ksh b/tests/zfs-tests/tests/functional/slog/setup.ksh index 28c07c9614..bf205e48e1 100755 --- a/tests/zfs-tests/tests/functional/slog/setup.ksh +++ b/tests/zfs-tests/tests/functional/slog/setup.ksh @@ -26,7 +26,7 @@ # # -# Copyright (c) 2013 by Delphix. All rights reserved. +# Copyright (c) 2013, 2015 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib @@ -45,6 +45,6 @@ if [[ -d $VDEV2 ]]; then log_must $RM -rf $VDIR2 fi log_must $MKDIR -p $VDIR $VDIR2 -log_must $MKFILE $SIZE $VDEV $SDEV $LDEV $VDEV2 $SDEV2 $LDEV2 +log_must $MKFILE $MINVDEVSIZE $VDEV $SDEV $LDEV $VDEV2 $SDEV2 $LDEV2 log_pass diff --git a/tests/zfs-tests/tests/functional/slog/slog.cfg b/tests/zfs-tests/tests/functional/slog/slog.cfg index 5ac9a46c51..d0d25fde15 100644 --- a/tests/zfs-tests/tests/functional/slog/slog.cfg +++ b/tests/zfs-tests/tests/functional/slog/slog.cfg @@ -25,11 +25,9 @@ # # -# Copyright (c) 2013 by Delphix. All rights reserved. +# Copyright (c) 2013, 2015 by Delphix. All rights reserved. # -export SIZE=64M - export VDIR=$TEST_BASE_DIR/disk-slog export VDIR2=$TEST_BASE_DIR/disk2-slog diff --git a/tests/zfs-tests/tests/functional/slog/slog_012_neg.ksh b/tests/zfs-tests/tests/functional/slog/slog_012_neg.ksh index 1227f2b8a8..cfe8329211 100755 --- a/tests/zfs-tests/tests/functional/slog/slog_012_neg.ksh +++ b/tests/zfs-tests/tests/functional/slog/slog_012_neg.ksh @@ -26,7 +26,7 @@ # # -# Copyright (c) 2013 by Delphix. All rights reserved. +# Copyright (c) 2013, 2015 by Delphix. All rights reserved. # . $STF_SUITE/tests/functional/slog/slog.kshlib @@ -60,7 +60,7 @@ do log_must $DD if=/dev/urandom of=$mntpnt/testfile.$$ count=100 ldev=$(random_get $LDEV) - log_must $MKFILE $SIZE $ldev + log_must $MKFILE $MINVDEVSIZE $ldev log_must $ZPOOL scrub $TESTPOOL log_must display_status $TESTPOOL diff --git a/tests/zfs-tests/tests/functional/slog/slog_013_pos.ksh b/tests/zfs-tests/tests/functional/slog/slog_013_pos.ksh index b2a16b0af8..c2d1489444 100755 --- a/tests/zfs-tests/tests/functional/slog/slog_013_pos.ksh +++ b/tests/zfs-tests/tests/functional/slog/slog_013_pos.ksh @@ -26,7 +26,7 @@ # # -# Copyright (c) 2013 by Delphix. All rights reserved. +# Copyright (c) 2013, 2015 by Delphix. All rights reserved. # . $STF_SUITE/tests/functional/slog/slog.kshlib @@ -81,14 +81,12 @@ log_must verify_slog_device $TESTPOOL $lofidev 'ONLINE' log_pass "Verify slog device can be disk, file, lofi device or any device " \ "that presents a block interface." -# Temp disable fore bug 6569095 # Add file which reside in the itself mntpnt=$(get_prop mountpoint $TESTPOOL) -log_must $MKFILE 100M $mntpnt/vdev +log_must $MKFILE $MINVDEVSIZE $mntpnt/vdev log_must $ZPOOL add $TESTPOOL $mntpnt/vdev -# Temp disable fore bug 6569072 # Add ZFS volume vol=$TESTPOOL/vol -log_must $ZPOOL create -V 64M $vol -log_must $ZPOOL add $TESTPOOL ${ZVOL_DEVDIR}/$vol +log_must $ZPOOL create -V $MINVDEVSIZE $vol +log_must $ZPOOL add $TESTPOOL ${ZVOL_DEVDIR}/$vol \ No newline at end of file