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:
* 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.
*/
* 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) */
#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) */
#define DNODES_PER_BLOCK_SHIFT (DNODE_BLOCK_SHIFT - DNODE_SHIFT)
#define DNODES_PER_BLOCK (1ULL << DNODES_PER_BLOCK_SHIFT)
#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)
#define DNODES_PER_LEVEL_SHIFT (DN_MAX_INDBLKSHIFT - SPA_BLKPTRSHIFT)
#define DNODES_PER_LEVEL (1ULL << DNODES_PER_LEVEL_SHIFT)
/*
* Determine the number of levels necessary for the meta-dnode
/*
* 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)) <
(levels - 1) * (mdn->dn_indblkshift - SPA_BLKPTRSHIFT)) <
- DN_MAX_OBJECT * sizeof (dnode_phys_t))
levels++;
mdn->dn_next_nlevels[tx->tx_txg & TXG_MASK] =
levels++;
mdn->dn_next_nlevels[tx->tx_txg & TXG_MASK] =
* it is possible to run the pool completely out of space, causing it to
* be permanently read-only.
*
* 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;
* See also the comments in zfs_space_check_t.
*/
int spa_slop_shift = 5;
+uint64_t spa_min_slop = 128 * 1024 * 1024;
/*
* ==========================================================================
/*
* ==========================================================================
/*
* Return the amount of slop space in bytes. It is 1/32 of the pool (3.2%),
/*
* Return the amount of slop space in bytes. It is 1/32 of the pool (3.2%),
+ * 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.
*/
*
* See the comment above spa_slop_shift for details.
*/
spa_get_slop_space(spa_t *spa)
{
uint64_t space = spa_get_dspace(spa);
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)));
# 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
# 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
${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
CLEANUP=1
CLEANUPALL=0
LOOPBACK=1
CLEANUP=1
CLEANUPALL=0
LOOPBACK=1
RUNFILE=${RUNFILE:-"linux.run"}
FILEDIR=${FILEDIR:-/var/tmp}
DISKS=${DISKS:-""}
RUNFILE=${RUNFILE:-"linux.run"}
FILEDIR=${FILEDIR:-/var/tmp}
DISKS=${DISKS:-""}
-k Disable cleanup after test failure
-f Use files only, disables block device tests
-d DIR Use DIR for files and loopback devices
-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:
-r RUNFILE Run tests in RUNFILE (default: linux.run)
EXAMPLES:
tests = ['raidz_001_neg', 'raidz_002_pos']
[tests/functional/redundancy]
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',
[tests/functional/refquota]
tests = ['refquota_001_pos', 'refquota_002_pos', 'refquota_003_pos',
# Default to limit disks to be checked
export MAX_FINDDISKSNUM=6
# 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
# For iscsi target support
export ISCSITGTFILE=/tmp/iscsitgt_file
export ISCSITGT_FMRI=svc:/system/iscsitgt:default
#
if verify_slog_support ; then
typeset sdevs="/var/tmp/sdev1 /var/tmp/sdev2"
#
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
log_must $ZPOOL add $pool_name log mirror $sdevs
fi
typeset sdev=$dir/b
$MKDIR -p $dir
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
typeset -i ret=0
if ! $ZPOOL create -n $pool $vdev log $sdev > /dev/null 2>&1; then
# Copyright 2015 Nexenta Systems, Inc.
#
# Copyright 2015 Nexenta Systems, Inc.
#
+#
+# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
#
typeset VDEV=$TESTDIR/bootfs_001_pos_a.$$.dat
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
create_pool "$TESTPOOL" "$VDEV"
log_must $ZFS create $TESTPOOL/$TESTFS
# Copyright 2015 Nexenta Systems, Inc.
#
# Copyright 2015 Nexenta Systems, Inc.
#
+#
+# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
#
# Use is subject to license terms.
#
# Use is subject to license terms.
#
+#
+# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
#
log_onexit cleanup
log_assert "Valid pool names are accepted by zpool set bootfs"
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
# Use is subject to license terms.
#
# Use is subject to license terms.
#
+#
+# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
#
-$MKFILE 64m $TESTDIR/bootfs_004.$$.dat
+$MKFILE $MINVDEVSIZE $TESTDIR/bootfs_004.$$.dat
# Use is subject to license terms.
#
# 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
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zpool_upgrade/zpool_upgrade.kshlib
# Use is subject to license terms.
#
# Use is subject to license terms.
#
+#
+# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
#
-log_must $MKFILE 64m $VDEV1 $VDEV2 $VDEV3 $VDEV4
+log_must $MKFILE $MINVDEVSIZE $VDEV1 $VDEV2 $VDEV3 $VDEV4
## the following configurations are supported bootable pools
## the following configurations are supported bootable pools
# Use is subject to license terms.
#
# Use is subject to license terms.
#
+#
+# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
#
log_onexit cleanup
log_assert $assert_msg
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
log_must $ZPOOL create $TESTPOOL $VDEV
log_must $ZFS create $COMP_FS
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
+export SIZE=$MINVDEVSIZE
export VDIR=$TESTDIR/disk.cache
export VDIR2=$TESTDIR/disk2.cache
export VDIR=$TESTDIR/disk.cache
export VDIR2=$TESTDIR/disk2.cache
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
mntpnt=$(get_prop mountpoint $TESTPOOL)
typeset -i i=0
while ((i < 2)); do
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
eval vdev$i=$mntpnt/vdev$i
((i += 1))
done
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
log_note "zfs destroy for snapshots from different pools"
VIRTUAL_DISK=/var/tmp/disk
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
log_must $ZPOOL create $TESTPOOL2 $VIRTUAL_DISK
log_must poolexists $TESTPOOL2
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
#create pool and datasets to guarantee testing under multiple pools and datasets.
file=$TESTDIR1/poolfile
#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
availspace=$(get_prop available $TESTPOOL)
typeset -i i=0
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# 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
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zfs_rename/zfs_rename.kshlib
-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
create_pool $TESTPOOL1 $TESTDIR/$TESTFILE1
for src in ${src_dataset[@]} ; do
-# 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
#
. $STF_SUITE/tests/functional/cli_root/zfs_snapshot/zfs_snapshot.cfg
log_assert "'zfs snapshot pool1@snap1 pool2@snap2' should fail since snapshots are in different pools."
log_onexit 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
log_must $ZPOOL create $SNAPPOOL1 $SNAPDEV1
log_must $ZPOOL create $SNAPPOOL2 $SNAPDEV2
# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
# 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/include/libtest.shlib
#
vdev2=$TESTDIR/file2
vdev3=$TESTDIR/file3
for vdev in $vdev1 $vdev2 $vdev3; do
vdev2=$TESTDIR/file2
vdev3=$TESTDIR/file3
for vdev in $vdev1 $vdev2 $vdev3; do
+ $MKFILE $MINVDEVSIZE $vdev
done
set -A cmds "create $pool mirror $vdev1 $vdev2" "list $pool" "iostat $pool" \
done
set -A cmds "create $pool mirror $vdev1 $vdev2" "list $pool" "iostat $pool" \
-# 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=""
#
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)
function set_disks
{
set -A disk_array $(find_disks $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
if is_linux; then
set_device_dir
+export VOLSIZE=$MINVDEVSIZE
-# Copyright (c) 2014 by Delphix. All rights reserved.
+# Copyright (c) 2014, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
#
# STRATEGY:
# 1. Create a file based pool.
#
# 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.
#
# 3. Attempt to add a file based vdev that's too small; verify failure.
#
create_pool $TESTPOOL ${DISKS%% *}
log_must $ZFS create -o mountpoint=$TESTDIR $TESTPOOL/$TESTFS
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"
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"
log_must $ZPOOL add -f "$TESTPOOL1" $vdevs_list
log_must vdevs_in_pool "$TESTPOOL1" "$vdevs_list"
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+export FILESIZE=$MINVDEVSIZE
export BLOCKSZ=$(( 1024 * 1024 ))
export NUM_WRITES=40
export BLOCKSZ=$(( 1024 * 1024 ))
export NUM_WRITES=40
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
- partition_disk $SIZE $DISK 7
+ partition_disk $((($MINVDEVSIZE / (1024 * 1024)) * 2))m $DISK 7
else
for disk in `$ECHO $DISKSARRAY`; do
cleanup_devices $disk
else
for disk in `$ECHO $DISKSARRAY`; do
cleanup_devices $disk
- partition_disk $SIZE $disk 7
+ partition_disk $((($MINVDEVSIZE / (1024 * 1024)) * 2))m $disk 7
-# Copyright (c) 2012, 2014 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
export DISK_ARRAY_NUM=0
export DISK_ARRAY_LIMIT=4
export DISKSARRAY=""
export DISK_ARRAY_NUM=0
export DISK_ARRAY_LIMIT=4
export DISKSARRAY=""
-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
if is_linux; then
set_device_dir
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
clean_blockfile "$TESTDIR0 $TESTDIR1"
if [[ -n $DISK ]]; then
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
else
typeset disk=""
for disk in $DISK0 $DISK1; do
- partition_disk $SIZE $disk 7
+ partition_disk \
+ $((($MINVDEVSIZE / (1024 * 1024)) * 2))m $disk 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
#
. $STF_SUITE/tests/functional/cli_root/zpool_create/zpool_create.shlib
partition_disk $SIZE $disk 6
}
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
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"
create_pool "$TESTPOOL1" $vdevs_list
log_must vdevs_in_pool "$TESTPOOL1" "$vdevs_list"
fi
log_must $MKFILE 32m $TESTDIR/broken_file
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."
log_mustnot $ZPOOL create -f $TESTPOOL1 $vdevs_list
log_pass "Storage pools with many file based vdevs can be created."
# Use is subject to license terms.
#
# 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
. $STF_SUITE/include/libtest.shlib
. $STF_SUITE/tests/functional/cli_root/zpool_create/zpool_create.shlib
#
# STRATEGY:
# 1. Create base filesystem to hold virtual disk files.
#
# 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.
#
# 3. Verify 'zpool create' succeed with valid keywords combination.
#
typeset -i i=0
while ((i < 10)); do
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))
eval vdev$i=$mntpnt/vdev$i
((i += 1))
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
-# '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
#
# STRATEGY:
# 1. Create an array of parameters
# 3. Verify an error is returned.
#
# 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"
log_must $ZFS create $TESTPOOL/$TESTFS
log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS
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
for files in $TESTDIR/file1 $TESTDIR/file2
do
- log_must $MKFILE 63m $files
+ log_must $MKFILE $devsize $files
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
"expanded size: $expand_size"
# compare available pool size from zfs
"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 \
# check for zpool history for the pool size expansion
if [[ $type == " " ]]; then
typeset size_addition=$($ZPOOL history -il $TESTPOOL1 \
# Use is subject to license terms.
#
# Use is subject to license terms.
#
+#
+# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
#
typeset -i i=0
while ((i < 5)); do
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
eval vdev$i=$mntpnt/vdev$i
((i += 1))
done
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
export DISK_COUNT ZFS_DISK1 ZFSSIDE_DISK1 ZFS_DISK2 ZFSSIDE_DISK2
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
export MAX_NUM=5
export GROUP_NUM=3
export DEVICE_DIR=$TEST_BASE_DIR/dev_import-test
# Use is subject to license terms.
#
# Use is subject to license terms.
#
+#
+# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
+#
+
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
#
# 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
# 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
log_must $ZPOOL create bootfs /tmp/zpool_set_002.$$.dat
log_must $ZFS create bootfs/root
-# Copyright (c) 2012 by Delphix. All rights reserved.
+# Copyright (c) 2012, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
log_assert "zpool set cannot set a readonly property"
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;
log_must $ZPOOL create $TESTPOOL /tmp/zpool_set_003.$$.dat
typeset -i i=0;
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
# Now create several virtual disks to test zpool with
# 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
# and create a pool we can perform attach remove replace,
# etc. operations with
# Use is subject to license terms.
#
# 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
#
. $STF_SUITE/tests/functional/history/history_common.kshlib
VDEV1=$mntpnt/vdev1; VDEV2=$mntpnt/vdev2;
VDEV3=$mntpnt/vdev3; VDEV4=$mntpnt/vdev4;
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"
run_and_verify -p "$MPOOL" "$ZPOOL create $MPOOL mirror $VDEV1 $VDEV2"
run_and_verify -p "$MPOOL" "$ZPOOL add -f $MPOOL spare $VDEV3"
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
# zpool history will truncate on small pools, leaving pool creation intact
#
# STRATEGY:
# 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"
#
verify_runnable "global"
{
datasetexists $spool && log_must $ZPOOL destroy $spool
[[ -f $VDEV0 ]] && log_must $RM -f $VDEV0
{
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
}
[[ -f $TMPFILE ]] && log_must $RM -f $TMPFILE
}
mntpnt=$(get_prop mountpoint $TESTPOOL)
(( $? != 0 )) && log_fail "get_prop mountpoint $TESTPOOL"
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.$$
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)
log_must $ZFS create $spool/$sfs
typeset -i orig_count=$($ZPOOL history $spool | $WC -l)
$AWK '{print $1}')
typeset -i i=0
$AWK '{print $1}')
typeset -i i=0
$ZFS set compression=off $spool/$sfs
$ZFS set compression=on $spool/$sfs
$ZFS set compression=off $spool/$sfs
$ZFS set compression=off $spool/$sfs
$ZFS set compression=on $spool/$sfs
$ZFS set compression=off $spool/$sfs
-# Copyright (c) 2013, 2014 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
specials_list=""
for i in 0 1 2; do
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)
specials_list="$specials_list $TESTDIR/$TESTFILE1.$i"
done
disk=($specials_list)
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
verify_runnable "global"
# create a version 1 pool
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 $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
log_must $ZPOOL create -o version=1 $TESTPOOL2 /tmp/zpool2_version_1.dat
log_pass
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
#
export BASEDIR=/var/tmp/basedir.$$
#
export BASEDIR=/var/tmp/basedir.$$
export PRE_RECORD_FILE=$BASEDIR/pre-record-file.$$
export PST_RECORD_FILE=$BASEDIR/pst-record-file.$$
export PRE_RECORD_FILE=$BASEDIR/pre-record-file.$$
export PST_RECORD_FILE=$BASEDIR/pst-record-file.$$
export BLOCKSZ=$(( 1024 * 1024 ))
export NUM_WRITES=40
export BLOCKSZ=$(( 1024 * 1024 ))
export NUM_WRITES=40
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
- log_must $MKFILE $DEV_SIZE $vdevs
+ log_must $MKFILE $MINVDEVSIZE $vdevs
log_must $ZPOOL create -m $TESTDIR $pool $keyword $vdevs
log_must $ZPOOL create -m $TESTDIR $pool $keyword $vdevs
typeset vdev
for vdev in $@; do
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
log_must $ZPOOL replace -f $pool $vdev $vdev
while true; do
if ! is_pool_resilvered $pool ; then
typeset -i cnt=$2
typeset label="$3"
typeset vdevs
typeset -i cnt=$2
typeset label="$3"
typeset vdevs
+ typeset -i bs_count=$((64 * 1024))
vdevs=$(get_vdevs $pool $cnt)
vdevs=$(get_vdevs $pool $cnt)
- bs_count=$($LS -l $dev | $AWK '{print $5}')
- (( bs_count = bs_count/1024 - 512 ))
$DD if=/dev/zero of=$dev seek=512 bs=1024 \
$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
- 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
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
specials_list=""
i=0
while [[ $i != 2 ]]; do
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))
specials_list="$specials_list $TESTDIR/$TESTFILE1.$i"
((i = i + 1))
#
# Create a replacement disk special file.
#
#
# 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
for type in "" "raidz" "raidz1" "mirror"; do
for op in "" "-f"; do
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
specials_list=""
i=0
while [[ $i != 2 ]]; do
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))
specials_list="$specials_list $TESTDIR/$TESTFILE1.$i"
((i = i + 1))
#
# Create a replacement disk special file.
#
#
# 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
for op in "" "-f"; do
create_pool $TESTPOOL1 mirror $specials_list
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
specials_list=""
i=0
while [[ $i != 2 ]]; do
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))
specials_list="$specials_list $TESTDIR/$TESTFILE1.$i"
((i = i + 1))
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2016 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/reservation/reservation.cfg
#
. $STF_SUITE/tests/functional/reservation/reservation.cfg
typeset vol=$1
typeset volsize=$2
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))
typeset DNODES_PER_LEVEL_SHIFT=$((DN_MAX_INDBLKSHIFT - \
SPA_BLKPTRSHIFT))
log_assert "Verify zfs receive can handle out of space correctly."
log_onexit 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
#
# Test out of space on sub-filesystem
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/include/libtest.shlib
#
. $STF_SUITE/include/libtest.shlib
log_must $RM -rf $VDIR2
fi
log_must $MKDIR -p $VDIR $VDIR2
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
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
export VDIR=$TEST_BASE_DIR/disk-slog
export VDIR2=$TEST_BASE_DIR/disk2-slog
export VDIR=$TEST_BASE_DIR/disk-slog
export VDIR2=$TEST_BASE_DIR/disk2-slog
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/slog/slog.kshlib
#
. $STF_SUITE/tests/functional/slog/slog.kshlib
log_must $DD if=/dev/urandom of=$mntpnt/testfile.$$ count=100
ldev=$(random_get $LDEV)
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
log_must $ZPOOL scrub $TESTPOOL
log_must display_status $TESTPOOL
-# Copyright (c) 2013 by Delphix. All rights reserved.
+# Copyright (c) 2013, 2015 by Delphix. All rights reserved.
#
. $STF_SUITE/tests/functional/slog/slog.kshlib
#
. $STF_SUITE/tests/functional/slog/slog.kshlib
log_pass "Verify slog device can be disk, file, lofi device or any device " \
"that presents a block interface."
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)
# 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
log_must $ZPOOL add $TESTPOOL $mntpnt/vdev
-# Temp disable fore bug 6569072
# Add ZFS volume
vol=$TESTPOOL/vol
# 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