-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OpenZFS 7104 - increase indirect block size #5679
Conversation
include/sys/fs/zfs.h
Outdated
@@ -679,6 +679,8 @@ typedef struct zpool_rewind_policy { | |||
|
|||
/* | |||
* This is needed in userland to report the minimum necessary device size. | |||
* | |||
* Note that the zfs test suite uses 64MB vdevs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Your changes to the test suite below render this comment obsolete :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed this change, thanks!
Looks like this PR requires more disk space for buildbot tests. @behlendorf Should i correct a PR someway? |
@gmelikov if you make the following two changes we should be able to get a full test run. First, creating a sparse volume for zconfig test 6 should significantly reduce the space requirements and allow the test to pass. diff --git a/scripts/zconfig.sh b/scripts/zconfig.sh
index 45b6644..e78c80d 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 Second, the ziltest.sh is hard coded to run under /var/tmp/ and there doesn't appear to be enough space. Let's just disable it in this PR so we can run the entire ZFS Test Suite. If you add the following line to your commit comment ziltest will be skipped.
What needs to happen longer term is for us to move the |
6b0ff71
to
7f49f36
Compare
@behlendorf did so, thank you! |
7f49f36
to
78a515d
Compare
@behlendorf some tests require more space, for example |
@gmelikov each of the builders has 32G of scratch space mounted as Increasing the default size of the files backing the loopback devices to 8G gives us enough space to run these tests but seems excessive. These tests ran perfectly well before with 200M partitions before this patch, and now we're requesting 768M ones. Some tests may also now take longer to run with larger devices. My suggestion would be that we split the difference. Create 4G loopback devices and 512M vdevs for these test cases. diff --git a/scripts/zfs-tests.sh b/scripts/zfs-tests.sh
index 01fb2b2..087c83b 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/zfs-tests/tests/functional/cli_root/zpool_create/setup.ksh b/
index e72f806..28adaea 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
@@ -52,12 +52,12 @@ if [[ -n $DISK ]]; then
#
cleanup_devices $DISK
- partition_disk $((($MINVDEVSIZE / (1024 * 1024)) * 3))m $DISK 7
+ partition_disk $((($MINVDEVSIZE / (1024 * 1024)) * 2))m $DISK 7
else
for disk in `$ECHO $DISKSARRAY`; do
cleanup_devices $disk
- partition_disk $((($MINVDEVSIZE / (1024 * 1024)) * 3))m $disk 7
+ partition_disk $((($MINVDEVSIZE / (1024 * 1024)) * 2))m $disk 7
done
fi
diff --git a/tests/zfs-tests/tests/functional/cli_root/zpool_import/zpool_import
index c3a6950..d0ddc91 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
@@ -112,7 +112,7 @@ export DISK_COUNT ZFS_DISK1 ZFSSIDE_DISK1 ZFS_DISK2 ZFSSIDE_
export FS_SIZE=1g
export FILE_SIZE=$MINVDEVSIZE
-export SLICE_SIZE="$((MINVDEVSIZE / (1024 * 1024)))m"
+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 Some additional minor tuning might be required based on the test results but the VMs themselves should have enough space. As long as we get the test parameters right. This change also appears to have introduced a memory leak we'll need to run down. |
83e978c
to
e1e9882
Compare
@behlendorf i updated PR, looks like |
e1e9882
to
e46560a
Compare
@gmelikov you'll want to add this hunk to the patch when you next refresh it. It's from openzfs/openzfs@ec740b0 and resolves the diff --git a/usr/src/test/zfs-tests/tests/functional/reservation/reservation.shlib b/usr/src/test/zfs-te
index e58e198..d0a9b38 100644
--- a/usr/src/test/zfs-tests/tests/functional/reservation/reservation.shlib
+++ b/usr/src/test/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,7 +144,7 @@ function volsize_to_reservation
typeset vol=$1
typeset -i volsize=$2
- typeset -i DN_MAX_INDBLKSHIFT=14
+ typeset -i DN_MAX_INDBLKSHIFT=17
typeset -i SPA_BLKPTRSHIFT=7
typeset -i SPA_DVAS_PER_BP=3
|
e46560a
to
8eca7c7
Compare
@behlendorf thanks, made these changes. |
@gmelikov please add |
8eca7c7
to
8ba114a
Compare
@behlendorf done. |
@behlendorf looks like |
@gmelikov it appears to be due to a bug in the test script, can you please review openzfs/zfs-buildbot#56. Then I can merge it and we can resubmit this. |
@behlendorf thanks for fix! Already approved it. |
4c7f896
to
d4dc1d9
Compare
Now As i understand |
@gmelikov the following small patch to the test suite should resolve the remaining failures. 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 d0ddc91..b49281f 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
@@ -110,8 +110,8 @@ esac
export DISK_COUNT ZFS_DISK1 ZFSSIDE_DISK1 ZFS_DISK2 ZFSSIDE_DISK2
-export FS_SIZE=1g
-export FILE_SIZE=$MINVDEVSIZE
+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
diff --git a/tests/zfs-tests/tests/functional/redundancy/redundancy.kshlib b/tests/zfs-tests/tests/functional/redundancy/redundancy.kshlib
index 491aa3e..4f2f801 100644
--- a/tests/zfs-tests/tests/functional/redundancy/redundancy.kshlib
+++ b/tests/zfs-tests/tests/functional/redundancy/redundancy.kshlib
@@ -226,7 +226,9 @@ function replace_missing_devs
typeset vdev
for vdev in $@; do
- log_must $MKFILE $MINVDEVSIZE $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
|
d4dc1d9
to
a39d2e9
Compare
@behlendorf thank you, applied your patch! |
Another one:
IIRC |
a39d2e9
to
9134af3
Compare
@gmelikov the I've seen this particular failure occasionally in the past and I suspect you're right it's due to the space being freed asynchronously in the background. It caused rare failures in this test and others. Let's tackle addressing this failure in it's own PR. |
@gmelikov can you please rebase this on master and remove the |
9134af3
to
8114e52
Compare
@behlendorf of course, done. |
8114e52
to
5473c29
Compare
It's needed for openzfs/zfs#5679
It's needed for openzfs/zfs#5679
5473c29
to
4156143
Compare
@gmelikov I've rebased this branch on top of the ziltest fix which was merged. |
5473c29
to
c87e3e9
Compare
Authored by: Matthew Ahrens <[email protected]> Reviewed by: George Wilson <[email protected]> Reviewed by: Paul Dagnelie <[email protected]> Reviewed by: Dan McDonald <[email protected]> Approved by: Robert Mustacchi <[email protected]> Ported-by: George Melikov <[email protected]> OpenZFS-issue: https://www.illumos.org/issues/7104 OpenZFS-commit: openzfs/openzfs@4b5c8e9
c87e3e9
to
878fac5
Compare
@behlendorf thanks, I rebased my branch too. |
Authored by: Matthew Ahrens <[email protected]> Reviewed by: George Wilson <[email protected]> Reviewed by: Paul Dagnelie <[email protected]> Reviewed by: Dan McDonald <[email protected]> Approved by: Robert Mustacchi <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Ported-by: George Melikov <[email protected]> OpenZFS-issue: https://www.illumos.org/issues/7104 OpenZFS-commit: openzfs/openzfs@4b5c8e9 Closes openzfs#5679
Authored by: Matthew Ahrens <[email protected]> Reviewed by: George Wilson <[email protected]> Reviewed by: Paul Dagnelie <[email protected]> Reviewed by: Dan McDonald <[email protected]> Approved by: Robert Mustacchi <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Ported-by: George Melikov <[email protected]> OpenZFS-issue: https://www.illumos.org/issues/7104 OpenZFS-commit: openzfs/openzfs@4b5c8e9 Closes openzfs#5679
Authored by: Matthew Ahrens [email protected]
Reviewed by: George Wilson [email protected]
Reviewed by: Paul Dagnelie [email protected]
Reviewed by: Dan McDonald [email protected]
Approved by: Robert Mustacchi [email protected]
Ported-by: George Melikov [email protected]
OpenZFS-issue: https://www.illumos.org/issues/7104
OpenZFS-commit: openzfs/openzfs@4b5c8e9