]> git.proxmox.com Git - mirror_zfs.git/commitdiff
OpenZFS 7104 - increase indirect block size
authorMatthew Ahrens <mahrens@delphix.com>
Wed, 13 Jul 2016 23:48:01 +0000 (16:48 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 9 Feb 2017 18:27:02 +0000 (10:27 -0800)
Authored by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Paul Dagnelie <pcd@delphix.com>
Reviewed by: Dan McDonald <danmcd@omniti.com>
Approved by: Robert Mustacchi <rm@joyent.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Ported-by: George Melikov <mail@gmelikov.ru>
OpenZFS-issue: https://www.illumos.org/issues/7104
OpenZFS-commit: https://github.com/openzfs/openzfs/commit/4b5c8e9
Closes #5679

52 files changed:
include/sys/dnode.h
module/zfs/dmu_objset.c
module/zfs/spa_misc.c
scripts/zconfig.sh
scripts/zfs-tests.sh
tests/runfiles/linux.run
tests/zfs-tests/include/default.cfg.in
tests/zfs-tests/include/libtest.shlib
tests/zfs-tests/tests/functional/bootfs/bootfs_001_pos.ksh
tests/zfs-tests/tests/functional/bootfs/bootfs_002_neg.ksh
tests/zfs-tests/tests/functional/bootfs/bootfs_003_pos.ksh
tests/zfs-tests/tests/functional/bootfs/bootfs_004_neg.ksh
tests/zfs-tests/tests/functional/bootfs/bootfs_005_neg.ksh
tests/zfs-tests/tests/functional/bootfs/bootfs_006_pos.ksh
tests/zfs-tests/tests/functional/bootfs/bootfs_008_neg.ksh
tests/zfs-tests/tests/functional/cache/cache.cfg
tests/zfs-tests/tests/functional/cachefile/cachefile_004_pos.ksh
tests/zfs-tests/tests/functional/cli_root/zfs_destroy/zfs_destroy_015_pos.ksh
tests/zfs-tests/tests/functional/cli_root/zfs_get/zfs_get_004_pos.ksh
tests/zfs-tests/tests/functional/cli_root/zfs_rename/zfs_rename_005_neg.ksh
tests/zfs-tests/tests/functional/cli_root/zfs_snapshot/zfs_snapshot_008_neg.ksh
tests/zfs-tests/tests/functional/cli_root/zpool/zpool_002_pos.ksh
tests/zfs-tests/tests/functional/cli_root/zpool_add/zpool_add.cfg
tests/zfs-tests/tests/functional/cli_root/zpool_add/zpool_add_006_pos.ksh
tests/zfs-tests/tests/functional/cli_root/zpool_clear/zpool_clear.cfg
tests/zfs-tests/tests/functional/cli_root/zpool_create/setup.ksh
tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create.cfg
tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_001_pos.ksh
tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_004_pos.ksh
tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_006_pos.ksh
tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_010_neg.ksh
tests/zfs-tests/tests/functional/cli_root/zpool_expand/zpool_expand_002_pos.ksh
tests/zfs-tests/tests/functional/cli_root/zpool_export/zpool_export_004_pos.ksh
tests/zfs-tests/tests/functional/cli_root/zpool_import/zpool_import.cfg
tests/zfs-tests/tests/functional/cli_root/zpool_set/zpool_set_002_neg.ksh
tests/zfs-tests/tests/functional/cli_root/zpool_set/zpool_set_003_neg.ksh
tests/zfs-tests/tests/functional/cli_user/misc/setup.ksh
tests/zfs-tests/tests/functional/history/history_001_pos.ksh
tests/zfs-tests/tests/functional/history/history_003_pos.ksh
tests/zfs-tests/tests/functional/online_offline/online_offline_003_neg.ksh
tests/zfs-tests/tests/functional/poolversion/setup.ksh
tests/zfs-tests/tests/functional/redundancy/redundancy.cfg
tests/zfs-tests/tests/functional/redundancy/redundancy.kshlib
tests/zfs-tests/tests/functional/replacement/replacement_001_pos.ksh
tests/zfs-tests/tests/functional/replacement/replacement_002_pos.ksh
tests/zfs-tests/tests/functional/replacement/replacement_003_pos.ksh
tests/zfs-tests/tests/functional/reservation/reservation.shlib
tests/zfs-tests/tests/functional/rsend/rsend_009_pos.ksh
tests/zfs-tests/tests/functional/slog/setup.ksh
tests/zfs-tests/tests/functional/slog/slog.cfg
tests/zfs-tests/tests/functional/slog/slog_012_neg.ksh
tests/zfs-tests/tests/functional/slog/slog_013_pos.ksh

index 9aacac3dfe30f1a3a44e0e05300c634e8ec985f2..ebede2d06e35859e22f9ca1ab2a7c1a2f090e6ff 100644 (file)
@@ -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)
 
index 53b8a759a0dd1bf5b3690692848f18cf8a4755c1..c83ca1b1adaa6ee9cd44e65e1ec3ef12b772de50 100644 (file)
@@ -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] =
index c39c137e661f802ae55bc6fa918b90fcfdbf740d..59d9fe57619c3f2aef761547070171cca5e18b44 100644 (file)
@@ -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
index 45b66447ff91c4395624623b7eeaaaf50b975ca8..e78c80d542afc4320c1003fbd033dad509c4a1af 100755 (executable)
@@ -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
index 2e27c0a1c485bad289f2b22c0ce071d4791a2c47..00a7ceabcca9558d4bf0e105d4fb1c0a14e1c422 100755 (executable)
@@ -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:
index 079bc1a81321f2bc936d60b1da0749ee69029f23..ec42b8e400324c79ee40e641e40ca96dcd1bede7 100644 (file)
@@ -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',
index d6913f1f3a3eea2a592875fad3bb8c70123236c2..ef34d2b90b620a3a0fbcf16f53b35e0c6dc61a99 100644 (file)
@@ -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
index 31b1e1dfc0538c1c7b5e8ef4705f911630ade782..22b79b15a7c38ee40e8f7ca483b2cfd1f4add940 100644 (file)
@@ -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
index ad416a5bcc18d4290e4de4d502f77b2a40effb07..2d67258efb94317047a396a953934b8a590ac874 100755 (executable)
 # 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
 
index cd61b92881420bc99b8812ea367d75685d94dcab..cb1a1c9b9c7de46b21f00629ffd890366768250b 100755 (executable)
 # Copyright 2015 Nexenta Systems, Inc.
 #
 
+#
+# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+#
+
 . $STF_SUITE/include/libtest.shlib
 
 #
index f3cf1c943dfcd65b25a8eb9d4bfb54fd9df6212a..2ead6164022a696007211e0440bd80bc6802a45e 100755 (executable)
 # 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;
 
index 62bbb3d733026168570601182b4546d95cbe1675..764147d0de7d076fddeb77b3fb58d49c6f2f76ee 100755 (executable)
 # 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;
 
index 3928cdd7250464b2699f1b1657954158cd7c90d9..f09b32d2b0e932c6d24a7efea3a561f0cf31978b 100755 (executable)
 # 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
 
index fc3ca142f8f0346eab0c85b1908620c23d8e54ec..ab6cae1ee347cd4885cb8f4c3e73046a580a1d9d 100755 (executable)
 # 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
index 1bbac9eed06b074910b9d8a6abd3769d3ae2eb85..57da5a24b3dfbeb5f504f3a1ef71363ccd8e99ef 100755 (executable)
 # 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
 
index f3155323d3151512ede503751e18f73a59578954..07e482d7df96b5b32084689a0a7c82c178b8354e 100644 (file)
@@ -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
index 98adfd08db4f16eb7e74ed39882449d39add5a52..ea12cf2b6e86bedd270c64d9cff89c584fb907d1 100755 (executable)
@@ -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
index 579e747841657b06b3804499a7184df1af390f20..f2e5ce6cfd53c396e98ddafe73d0e046e937e121 100755 (executable)
@@ -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
 
index 1dce6e9cc144f8dcab55ad8de590177f88962ef0..566da2272a682b4e2b6d1270d72f1bec4ffc84c3 100755 (executable)
@@ -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
 
index 6010af18ae4d867c3a6c6528e797adbb6c200d38..b3f1b39671d41b96c6442d2e1e4a6d275628471d 100755 (executable)
 # 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
index de67baa60cd815a6e3daa29230e2f148e2b5ceff..935e277d14f7a8ab0e78db101ba69fe1aee3a340 100755 (executable)
@@ -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
index d4265af041c66e1b3bb049367432e912ce763bda..a2dc206cd7ccd133db5eb1f287cbebaa02233acc 100755 (executable)
 # 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" \
index f12a883dc8c4a5d5e647d924df99eaba044c8367..e4429b2a8343c34848f6be4c0ca2a25154921c61 100644 (file)
 #
 
 #
-# 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
index c60814d40d63bd6a0f85ebdfbc51da8343aa413f..ad2aa685b5d21e4ae21342b5b3efc89e8c4d4939 100755 (executable)
@@ -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"
index 097a43b0ed80a2f4498625b9f1a3ea73ca3e88a4..e6977350af9087c10e7f5034a2e888c7540efeb9 100644 (file)
@@ -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
index a21813ca6585623038134e303e58370a1aff4338..28adaea2cd7076d7ab0ca5c34957cb37cb2d7b6b 100755 (executable)
@@ -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
 
index 33dd8866e21472bebc613caa550fc7681cbd8370..93e0c38d3e6ea6927056d4f16db99def4293bc35 100644 (file)
@@ -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
index 824c6dc00401776a1b318be60f29aa50c8a7cbf9..2a975edc51a033f687143db375a99410f75c6b38 100755 (executable)
@@ -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
 }
index b5a37095b3bb7dbc68d5c41c259f168e7ddfa47a..f9542d4bef867a25f2e116522a06c4c91fa4f03f 100755 (executable)
@@ -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."
index 56c6e54eeb07d3081b6a115d4b9bb843f4505085..de6b1d4382a7b54fffd19db2141b1db1df200e43 100755 (executable)
 # 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))
index 7b555de9bd97325dfc7cb0267b8051a0ffd71097..694397ff14107ca08794ee9a3c6a9a9a0723a204 100755 (executable)
@@ -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 \
index d7ce33d99850628cf15149164ffac4b99bc23fa4..ce27e22320b8e955d6ce7491072b82dc4c99ff07 100755 (executable)
@@ -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 \
index 91f2968817e871022ed3803a200ff49352b9ee92..14b9f219825cac87442499edd29b26714f109c1e 100755 (executable)
 # 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
index 017874ec07038d1f5e37b9094f83312ed0494a12..b49281f9268c5fe40093f7cf8603f5fbec04580c 100644 (file)
@@ -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
index 4f8e548043a6cc2c9ef1faf00d54aa6551491618..a4c8a28992d98513c5c2d212ef4ce504f06d65e5 100755 (executable)
 # 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
 
index 614939b380ac212632497d585cb015f6fbfa0d12..09c9ef195381b548cf9d48fec3086558a8a7407f 100755 (executable)
@@ -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;
index ac5b93472a0b3dc205314fb35f461fe3df820358..2deafcd01abfaa243f3000d895b29aaafaa63eb6 100755 (executable)
@@ -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
index e63d5ac505cd7169c721580349aad9fd2466b483..26170cb630af1eb9664f002ad0781a1a153033f7 100755 (executable)
@@ -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"
index 224ee159e0ff6f6f38a92be81cf9f9e99c80bd2a..01bba0c96631273b7a7e39a0a25f7087e5283c88 100755 (executable)
@@ -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
 #      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
index a9d0c337002fbcff334008a8fb814e017c5f5071..398c19c22a9d1542116ffabbe0f4ac2007a34572 100755 (executable)
@@ -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)
index cfe14a030a21f5ca7eaff2973f95bcbce4da2411..aadaa906063e9af1ee059365fd048cf078c2f1c9 100755 (executable)
@@ -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
 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
index 079ff8b730520b931e16aa94555a07c8e0d993c3..f49b7e76aeddfdb1f95035c986242a1a7dd8e39f 100644 (file)
@@ -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
index 56e2bd19d87668f6d805e346604f0a89c83daabd..64c3a04928e1bc808fd94fa3f57651b64ecb8aa7 100644 (file)
@@ -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
index fcc575f832aa30d36b37d3f176287f24be9acc08..9e8285f17b823e022a24950950264636f8e156cf 100755 (executable)
@@ -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
index aae6d78a712afd2f7213e4e4e04c25f3b0d153a2..713891d12f7cc2a27e0f6c8c8fd76305faac2bf2 100755 (executable)
@@ -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
index 1a7a7d87b3969f12841b651979caf47da1006b25..1bfacafb29c318b84f66aa23f9d94a44e387d213 100755 (executable)
@@ -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))
index 27e9a87e01bee38a6cff73778e6979461499d40e..157a41b6be00f6c3fe54e0e843a78cf27d36c877 100644 (file)
@@ -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))
index 0e6fcf1323d928c727a881f808d3dda5cca7ec85..8f201fde7f4b9148e54a5225544a8e6501cc87a6 100755 (executable)
@@ -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
index 28c07c961409d74d2ee32d4c72d7ff1fbbc155d9..bf205e48e1a3242f2e5e1635a4cbfc88007b94ba 100755 (executable)
@@ -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
index 5ac9a46c51c0ad025784067da93a8d5bea09120c..d0d25fde151e897343ca7d16f5f6d6774ff3990d 100644 (file)
 #
 
 #
-# 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
 
index 1227f2b8a884b512297972001ee5a8584992fa38..cfe8329211c563908055a999fa7370c679c0ca41 100755 (executable)
@@ -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
index b2a16b0af8eebfe8aa127093eeeda2909e42291d..c2d14894440f7f0f2c359c7b84137925626b928e 100755 (executable)
@@ -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