Skip to content
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

ZTS: Fix create-o_ashift test case #6977

Merged
merged 1 commit into from Dec 19, 2017

Conversation

Projects
2 participants
@loli10K
Copy link
Contributor

commented Dec 17, 2017

Description

The function that fills the uberblock ring buffer on every device label has been reworked to avoid occasional failures caused by a race condition that prevents 'zpool sync' from writing some uberblock
sequentially: this happens when the pool sync ioctl dispatch code calls txg_wait_synced() while we're already waiting for a TXG to sync.

Root Cause Analysis

On a local builder i added some zfs_dbgmsg() calls and modified zfs_ioc_pool_sync() to call txg_wait_synced(spa_get_dsl(spa), spa_last_synced_txg(spa) + 1) just to help troubleshooting.

The resulting dbgmsg log shows why we skip writing uberblock [7]: we call txg_wait_synced() (after having dirtied spa->spa_root_vdev) while someone is already waiting for txg=7 to sync: since spa_last_synced_txg=5 we will only be writing uberblock [6] in this zfs_ioc_pool_sync() cycle, and because the test script was only going to zpool sync -f $TESTPOOL 128 times we won't have another chance to write uberblock [7].

1513516280   txg.c:657:txg_wait_synced(): txg=7 quiesce_txg=5 sync_txg=7
1513516280   txg.c:661:txg_wait_synced(): broadcasting sync more tx_synced=4 waiting=7 dp=ffff8800db1e6000
1513516280   vdev_label.c:1250:vdev_uberblock_sync():  [5] -> 
1513516280   vdev_label.c:200:vdev_label_write():  -> 0
1513516280   vdev_label.c:210:vdev_label_write():  <- 0
1513516280   vdev_label.c:200:vdev_label_write():  -> 1
1513516280   vdev_label.c:210:vdev_label_write():  <- 1
1513516280   vdev_label.c:200:vdev_label_write():  -> 2
1513516280   vdev_label.c:210:vdev_label_write():  <- 2
1513516280   vdev_label.c:200:vdev_label_write():  -> 3
1513516280   vdev_label.c:210:vdev_label_write():  <- 3
1513516280   zfs_ioctl.c:6025:zfs_ioc_pool_sync():  -> (spa_last_synced_txg = 5) 
1513516280   txg.c:661:txg_wait_synced(): broadcasting sync more tx_synced=5 waiting=7 dp=ffff8800db1e6000
1513516280   txg.c:657:txg_wait_synced(): txg=6 quiesce_txg=7 sync_txg=7
1513516280   txg.c:661:txg_wait_synced(): broadcasting sync more tx_synced=5 waiting=7 dp=ffff8800db1e6000
1513516280   vdev_label.c:200:vdev_label_write():  -> 0
1513516280   vdev_label.c:210:vdev_label_write():  <- 0
1513516280   vdev_label.c:200:vdev_label_write():  -> 2
1513516280   vdev_label.c:210:vdev_label_write():  <- 2
1513516280   vdev_label.c:1250:vdev_uberblock_sync():  [6] -> 
1513516280   vdev_label.c:200:vdev_label_write():  -> 0
1513516280   vdev_label.c:210:vdev_label_write():  <- 0
1513516280   vdev_label.c:200:vdev_label_write():  -> 1
1513516280   vdev_label.c:210:vdev_label_write():  <- 1
1513516280   vdev_label.c:200:vdev_label_write():  -> 2
1513516280   vdev_label.c:210:vdev_label_write():  <- 2
1513516280   vdev_label.c:200:vdev_label_write():  -> 3
1513516280   vdev_label.c:210:vdev_label_write():  <- 3
1513516280   vdev_label.c:1256:vdev_uberblock_sync():  [6] <- 
1513516280   vdev_label.c:200:vdev_label_write():  -> 1
1513516280   vdev_label.c:210:vdev_label_write():  <- 1
1513516280   vdev_label.c:200:vdev_label_write():  -> 3
1513516280   vdev_label.c:210:vdev_label_write():  <- 3
1513516280   txg.c:661:txg_wait_synced(): broadcasting sync more tx_synced=6 waiting=7 dp=ffff8800db1e6000
1513516280   txg.c:661:txg_wait_synced(): broadcasting sync more tx_synced=6 waiting=7 dp=ffff8800db1e6000
1513516280   zfs_ioctl.c:6029:zfs_ioc_pool_sync():  <- (spa_last_synced_txg = 7)
1513516280   zfs_ioctl.c:6025:zfs_ioc_pool_sync():  -> (spa_last_synced_txg = 7) 
1513516280   txg.c:657:txg_wait_synced(): txg=8 quiesce_txg=8 sync_txg=8
1513516280   txg.c:661:txg_wait_synced(): broadcasting sync more tx_synced=7 waiting=8 dp=ffff8800db1e6000
1513516280   vdev_label.c:200:vdev_label_write():  -> 0
1513516280   vdev_label.c:210:vdev_label_write():  <- 0
1513516280   vdev_label.c:200:vdev_label_write():  -> 2
1513516280   vdev_label.c:210:vdev_label_write():  <- 2
1513516280   vdev_label.c:1250:vdev_uberblock_sync():  [8] -> 
1513516280   vdev_label.c:200:vdev_label_write():  -> 0
1513516280   vdev_label.c:210:vdev_label_write():  <- 0
1513516280   vdev_label.c:200:vdev_label_write():  -> 1
1513516280   vdev_label.c:210:vdev_label_write():  <- 1
1513516280   vdev_label.c:200:vdev_label_write():  -> 2
1513516280   vdev_label.c:210:vdev_label_write():  <- 2
1513516280   vdev_label.c:200:vdev_label_write():  -> 3
1513516280   vdev_label.c:210:vdev_label_write():  <- 3
1513516280   vdev_label.c:1256:vdev_uberblock_sync():  [8] <- 
1513516280   vdev_label.c:200:vdev_label_write():  -> 1
1513516280   vdev_label.c:210:vdev_label_write():  <- 1
1513516280   vdev_label.c:200:vdev_label_write():  -> 3
1513516280   vdev_label.c:210:vdev_label_write():  <- 3
1513516280   zfs_ioctl.c:6029:zfs_ioc_pool_sync():  <- (spa_last_synced_txg = 8)

Motivation and Context

Fix #6924

How Has This Been Tested?

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Performance enhancement (non-breaking change which improves efficiency)
  • Code cleanup (non-breaking change which makes code smaller or more readable)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation (a change to man pages or other documentation)

Checklist:

  • My code follows the ZFS on Linux code style requirements.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • All commit messages are properly formatted and contain Signed-off-by.
  • Change has been approved by a ZFS on Linux member.
@behlendorf
Copy link
Member

left a comment

The updated approach looks reasonable. While your here I think it'd be worth while to also reduce some of this log noise.

23:12:54.10 SUCCESS: sync_pool testpool true
23:12:54.22 SUCCESS: zpool sync -f testpool
@loli10K

This comment has been minimized.

Copy link
Contributor Author

commented Dec 18, 2017

@behlendorf right, log_must sync_pool is useless since sync_pool() already uses log_must() internally.

ZTS: Fix create-o_ashift test case
The function that fills the uberblock ring buffer on every device label
has been reworked to avoid occasional failures caused by a race
condition that prevents 'zpool sync' from writing some uberblock
sequentially: this happens when the pool sync ioctl dispatch code calls
txg_wait_synced() while we're already waiting for a TXG to sync.

Signed-off-by: loli10K <ezomori.nozomu@gmail.com>

@loli10K loli10K force-pushed the loli10K:issue-6924 branch from 59001cf to 44bd278 Dec 18, 2017

@codecov

This comment has been minimized.

Copy link

commented Dec 19, 2017

Codecov Report

Merging #6977 into master will decrease coverage by 0.1%.
The diff coverage is 33.33%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #6977      +/-   ##
==========================================
- Coverage   75.27%   75.16%   -0.11%     
==========================================
  Files         296      296              
  Lines       95454    95454              
==========================================
- Hits        71851    71748     -103     
- Misses      23603    23706     +103
Flag Coverage Δ
#kernel 74.29% <ø> (-0.19%) ⬇️
#user 67.46% <33.33%> (-0.13%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update bbffb59...44bd278. Read the comment docs.

@behlendorf
Copy link
Member

left a comment

Looks good and seems to hold up well. I'll go ahead and merge it, thanks!

@behlendorf behlendorf merged commit c30e34f into zfsonlinux:master Dec 19, 2017

26 of 27 checks passed

codecov/patch 33.33% of diff hit (target 75.27%)
Details
buildbot/Amazon 2015.09 x86_64 (BUILD) Build done.
Details
buildbot/Amazon 2015.09 x86_64 Release (TEST) Build done.
Details
buildbot/CentOS 6 x86_64 (BUILD) Build done.
Details
buildbot/CentOS 6 x86_64 (TEST) Build done.
Details
buildbot/CentOS 7 x86_64 (BUILD) Build done.
Details
buildbot/CentOS 7 x86_64 (TEST) Build done.
Details
buildbot/CentOS 7 x86_64 Mainline (TEST) Build done.
Details
buildbot/CentOS 7 x86_64 Release (BUILD) Build done.
Details
buildbot/Debian 8 arm (BUILD) Build done.
Details
buildbot/Debian 8 ppc (BUILD) Build done.
Details
buildbot/Debian 8 ppc64 (BUILD) Build done.
Details
buildbot/Debian 8 x86_64 (BUILD) Build done.
Details
buildbot/Fedora 27 x86_64 (BUILD) Build done.
Details
buildbot/Fedora 27 x86_64 (TEST) Build done.
Details
buildbot/Kernel.org Built-in x86_64 (BUILD) Build done.
Details
buildbot/Kernel.org Default x86_64 (BUILD) Build done.
Details
buildbot/Ubuntu 14.04 i686 (BUILD) Build done.
Details
buildbot/Ubuntu 14.04 i686 (TEST) Build done.
Details
buildbot/Ubuntu 14.04 x86_64 (BUILD) Build done.
Details
buildbot/Ubuntu 16.04 aarch64 (BUILD) Build done.
Details
buildbot/Ubuntu 16.04 x86_64 (BUILD) Build done.
Details
buildbot/Ubuntu 16.04 x86_64 (TEST) Build done.
Details
buildbot/Ubuntu 17.04 x86_64 (TEST) Build done.
Details
buildbot/Ubuntu 17.04 x86_64 Coverage (TEST) Build done.
Details
buildbot/Ubuntu 17.10 x86_64 (STYLE) Build done.
Details
codecov/project 75.16% (-0.11%) compared to bbffb59
Details

@loli10K loli10K deleted the loli10K:issue-6924 branch Dec 21, 2017

Nasf-Fan added a commit to Nasf-Fan/zfs that referenced this pull request Jan 29, 2018

ZTS: Fix create-o_ashift test case
The function that fills the uberblock ring buffer on every device label
has been reworked to avoid occasional failures caused by a race
condition that prevents 'zpool sync' from writing some uberblock
sequentially: this happens when the pool sync ioctl dispatch code calls
txg_wait_synced() while we're already waiting for a TXG to sync.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
Closes zfsonlinux#6924
Closes zfsonlinux#6977

Nasf-Fan added a commit to Nasf-Fan/zfs that referenced this pull request Feb 13, 2018

ZTS: Fix create-o_ashift test case
The function that fills the uberblock ring buffer on every device label
has been reworked to avoid occasional failures caused by a race
condition that prevents 'zpool sync' from writing some uberblock
sequentially: this happens when the pool sync ioctl dispatch code calls
txg_wait_synced() while we're already waiting for a TXG to sync.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
Closes zfsonlinux#6924
Closes zfsonlinux#6977

@behlendorf behlendorf added this to To do in 0.7.7 Feb 22, 2018

@tonyhutter tonyhutter moved this from To do to In progress in 0.7.7 Mar 6, 2018

tonyhutter added a commit to tonyhutter/zfs that referenced this pull request Mar 7, 2018

ZTS: Fix create-o_ashift test case
The function that fills the uberblock ring buffer on every device label
has been reworked to avoid occasional failures caused by a race
condition that prevents 'zpool sync' from writing some uberblock
sequentially: this happens when the pool sync ioctl dispatch code calls
txg_wait_synced() while we're already waiting for a TXG to sync.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
Closes zfsonlinux#6924 
Closes zfsonlinux#6977

tonyhutter added a commit to tonyhutter/zfs that referenced this pull request Mar 7, 2018

zfs-0.7.7 squashed patchset
This is a squashed patchset for zfs-0.7.7.  The individual commits are
in the tonyhutter:zfs-0.7.7-hutter branch.  I squashed the commits so
that buildbot wouldn't have to run against each one, and because
github/builbot seem to have a maximum limit of 30 commits they can
test from a PR.

- Linux 4.16 compat: get_disk_and_module() zfsonlinux#7264
- Change checksum & IO delay ratelimit values zfsonlinux#7252
- Increment zil_itx_needcopy_bytes properly zfsonlinux#6988  zfsonlinux#7176
- Fix some typos zfsonlinux#7237
- Fix zpool(8) list example to match actual format zfsonlinux#7244
- Add SMART self-test results to zpool status -c zfsonlinux#7178
- Add scrub after resilver zed script zfsonlinux#4662  zfsonlinux#7086
- Fix free memory calculation on v3.14+ zfsonlinux#7170
- Report duration and error in mmp_history entries zfsonlinux#7190
- Do not initiate MMP writes while pool is suspended zfsonlinux#7182
- Linux 4.16 compat: use correct *_dec_and_test() zfsonlinux#7179  zfsonlinux#7211
- Allow modprobe to fail when called within systemd zfsonlinux#7174
- Add SMART attributes for SSD and NVMe zfsonlinux#7183  zfsonlinux#7193
- Correct count_uberblocks in mmp.kshlib zfsonlinux#7191
- Fix config issues: frame size and headers zfsonlinux#7169
- Clarify zinject(8) explanation of -e zfsonlinux#7172
- OpenZFS 8857 - zio_remove_child() panic due to already destroyed
  parent zio zfsonlinux#7168
- 'zfs receive' fails with "dataset is busy" zfsonlinux#7129  zfsonlinux#7154
- contrib/initramfs: add missing conf.d/zfs zfsonlinux#7158
- mmp should use a fixed tag for spa_config locks zfsonlinux#6530  zfsonlinux#7155
- Handle zap_add() failures in mixed case mode zfsonlinux#7011 zfsonlinux#7054
- Fix zdb -ed on objset for exported pool zfsonlinux#7099 zfsonlinux#6464
- Fix zdb -E segfault zfsonlinux#7099
- Fix zdb -R decompression zfsonlinux#7099  zfsonlinux#4984
- Fix racy assignment of zcb.zcb_haderrors zfsonlinux#7099
- Fix zle_decompress out of bound access zfsonlinux#7099
- Fix zdb -c traverse stop on damaged objset root zfsonlinux#7099
- Linux 4.11 compat: avoid refcount_t name conflict zfsonlinux#7148
- Linux 4.16 compat: inode_set_iversion() zfsonlinux#7148
- OpenZFS 8966 - Source file zfs_acl.c, function zfs_aclset_common
  contains a use after end of the lifetime of a local variable zfsonlinux#7141
- Remove deprecated zfs_arc_p_aggressive_disable zfsonlinux#7135
- Fix default libdir for Debian/Ubuntu zfsonlinux#7083  zfsonlinux#7101
- Bug fix in qat_compress.c for vmalloc addr check zfsonlinux#7125
- Fix systemd_ RPM macros usage on Debian-based distributions zfsonlinux#7074
  zfsonlinux#7100
- Emit an error message before MMP suspends pool zfsonlinux#7048
- ZTS: Fix create-o_ashift test case zfsonlinux#6924  zfsonlinux#6977
- Fix --with-systemd on Debian-based distributions (zfsonlinux#6963) zfsonlinux#6591  zfsonlinux#6963
- Remove vn_rename and vn_remove dependency zfsonlinux/spl#648 zfsonlinux#6753
- Add support for "--enable-code-coverage" option zfsonlinux#6670
- Make "-fno-inline" compile option more accessible zfsonlinux#6605
- Add configure option to enable gcov analysis zfsonlinux#6642
- Implement --enable-debuginfo to force debuginfo zfsonlinux#2734
- Make --enable-debug fail when given bogus args zfsonlinux#2734

Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Requires-spl: refs/pull/690/head

@tonyhutter tonyhutter referenced this pull request Mar 7, 2018

Closed

zfs-0.7.7 patchset (squashed) #7278

0 of 13 tasks complete

tonyhutter added a commit to tonyhutter/zfs that referenced this pull request Mar 12, 2018

ZTS: Fix create-o_ashift test case
The function that fills the uberblock ring buffer on every device label
has been reworked to avoid occasional failures caused by a race
condition that prevents 'zpool sync' from writing some uberblock
sequentially: this happens when the pool sync ioctl dispatch code calls
txg_wait_synced() while we're already waiting for a TXG to sync.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
Closes zfsonlinux#6924 
Closes zfsonlinux#6977

tonyhutter added a commit to tonyhutter/zfs that referenced this pull request Mar 13, 2018

zfs-0.7.7 squashed patchset
This is a squashed patchset for zfs-0.7.7.  The individual commits are
in the tonyhutter:zfs-0.7.7-hutter branch.  I squashed the commits so
that buildbot wouldn't have to run against each one, and because
github/builbot seem to have a maximum limit of 30 commits they can
test from a PR.

- Fix MMP write frequency for large pools zfsonlinux#7205 zfsonlinux#7289
- Handle zio_resume and mmp => off zfsonlinux#7286
- Fix zfs-kmod builds when using rpm >= 4.14 zfsonlinux#7284
- zdb and inuse tests don't pass with real disks zfsonlinux#6939 zfsonlinux#7261
- Take user namespaces into account in policy checks zfsonlinux#6800 zfsonlinux#7270
- Detect long config lock acquisition in mmp zfsonlinux#7212
- Linux 4.16 compat: get_disk_and_module() zfsonlinux#7264
- Change checksum & IO delay ratelimit values zfsonlinux#7252
- Increment zil_itx_needcopy_bytes properly zfsonlinux#6988 zfsonlinux#7176
- Fix some typos zfsonlinux#7237
- Fix zpool(8) list example to match actual format zfsonlinux#7244
- Add SMART self-test results to zpool status -c zfsonlinux#7178
- Add scrub after resilver zed script zfsonlinux#4662 zfsonlinux#7086
- Fix free memory calculation on v3.14+ zfsonlinux#7170
- Report duration and error in mmp_history entries zfsonlinux#7190
- Do not initiate MMP writes while pool is suspended zfsonlinux#7182
- Linux 4.16 compat: use correct *_dec_and_test()
- Allow modprobe to fail when called within systemd zfsonlinux#7174
- Add SMART attributes for SSD and NVMe zfsonlinux#7183 zfsonlinux#7193
- Correct count_uberblocks in mmp.kshlib zfsonlinux#7191
- Fix config issues: frame size and headers zfsonlinux#7169
- Clarify zinject(8) explanation of -e zfsonlinux#7172
- OpenZFS 8857 - zio_remove_child() panic due to already destroyed parent zio zfsonlinux#7168
- 'zfs receive' fails with "dataset is busy" zfsonlinux#7129 zfsonlinux#7154
- contrib/initramfs: add missing conf.d/zfs zfsonlinux#7158
- mmp should use a fixed tag for spa_config locks zfsonlinux#6530 zfsonlinux#7155
- Handle zap_add() failures in mixed case mode zfsonlinux#7011 zfsonlinux#7054
- Fix zdb -ed on objset for exported pool zfsonlinux#7099 zfsonlinux#6464
- Fix zdb -E segfault zfsonlinux#7099
- Fix zdb -R decompression zfsonlinux#7099 zfsonlinux#4984
- Fix racy assignment of zcb.zcb_haderrors zfsonlinux#7099
- Fix zle_decompress out of bound access zfsonlinux#7099
- Fix zdb -c traverse stop on damaged objset root zfsonlinux#7099
- Linux 4.11 compat: avoid refcount_t name conflict zfsonlinux#7148
- Linux 4.16 compat: inode_set_iversion() zfsonlinux#7148
- OpenZFS 8966 - Source file zfs_acl.c, function zfs_aclset_common contains a use after end of the lifetime of a local variable zfsonlinux#7141
- Remove deprecated zfs_arc_p_aggressive_disable zfsonlinux#7135
- Fix default libdir for Debian/Ubuntu zfsonlinux#7083 zfsonlinux#7101
- Bug fix in qat_compress.c for vmalloc addr check zfsonlinux#7125
- Fix systemd_ RPM macros usage on Debian-based distributions zfsonlinux#7074 zfsonlinux#7100
- Emit an error message before MMP suspends pool zfsonlinux#7048
- ZTS: Fix create-o_ashift test case zfsonlinux#6924 zfsonlinux#6977
- Fix --with-systemd on Debian-based distributions (zfsonlinux#6963) zfsonlinux#6591 zfsonlinux#6963
- Remove vn_rename and vn_remove dependency zfsonlinux/spl#648 zfsonlinux#6753
- Add support for "--enable-code-coverage" option zfsonlinux#6670
- Make "-fno-inline" compile option more accessible zfsonlinux#6605
- Add configure option to enable gcov analysis zfsonlinux#6642
- Implement --enable-debuginfo to force debuginfo zfsonlinux#2734
- Make --enable-debug fail when given bogus args zfsonlinux#2734

Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Requires-spl: refs/pull/690/head

tonyhutter added a commit to tonyhutter/zfs that referenced this pull request Mar 13, 2018

zfs-0.7.7 squashed patchset
This is a squashed patchset for zfs-0.7.7.  The individual commits are
in the tonyhutter:zfs-0.7.7-hutter branch.  I squashed the commits so
that buildbot wouldn't have to run against each one, and because
github/builbot seem to have a maximum limit of 30 commits they can
test from a PR.

- Fix MMP write frequency for large pools zfsonlinux#7205 zfsonlinux#7289
- Handle zio_resume and mmp => off zfsonlinux#7286
- Fix zfs-kmod builds when using rpm >= 4.14 zfsonlinux#7284
- zdb and inuse tests don't pass with real disks zfsonlinux#6939 zfsonlinux#7261
- Take user namespaces into account in policy checks zfsonlinux#6800 zfsonlinux#7270
- Detect long config lock acquisition in mmp zfsonlinux#7212
- Linux 4.16 compat: get_disk_and_module() zfsonlinux#7264
- Change checksum & IO delay ratelimit values zfsonlinux#7252
- Increment zil_itx_needcopy_bytes properly zfsonlinux#6988 zfsonlinux#7176
- Fix some typos zfsonlinux#7237
- Fix zpool(8) list example to match actual format zfsonlinux#7244
- Add SMART self-test results to zpool status -c zfsonlinux#7178
- Add scrub after resilver zed script zfsonlinux#4662 zfsonlinux#7086
- Fix free memory calculation on v3.14+ zfsonlinux#7170
- Report duration and error in mmp_history entries zfsonlinux#7190
- Do not initiate MMP writes while pool is suspended zfsonlinux#7182
- Linux 4.16 compat: use correct *_dec_and_test()
- Allow modprobe to fail when called within systemd zfsonlinux#7174
- Add SMART attributes for SSD and NVMe zfsonlinux#7183 zfsonlinux#7193
- Correct count_uberblocks in mmp.kshlib zfsonlinux#7191
- Fix config issues: frame size and headers zfsonlinux#7169
- Clarify zinject(8) explanation of -e zfsonlinux#7172
- OpenZFS 8857 - zio_remove_child() panic due to already destroyed
  parent zio zfsonlinux#7168
- 'zfs receive' fails with "dataset is busy" zfsonlinux#7129 zfsonlinux#7154
- contrib/initramfs: add missing conf.d/zfs zfsonlinux#7158
- mmp should use a fixed tag for spa_config locks zfsonlinux#6530 zfsonlinux#7155
- Handle zap_add() failures in mixed case mode zfsonlinux#7011 zfsonlinux#7054
- Fix zdb -ed on objset for exported pool zfsonlinux#7099 zfsonlinux#6464
- Fix zdb -E segfault zfsonlinux#7099
- Fix zdb -R decompression zfsonlinux#7099 zfsonlinux#4984
- Fix racy assignment of zcb.zcb_haderrors zfsonlinux#7099
- Fix zle_decompress out of bound access zfsonlinux#7099
- Fix zdb -c traverse stop on damaged objset root zfsonlinux#7099
- Linux 4.11 compat: avoid refcount_t name conflict zfsonlinux#7148
- Linux 4.16 compat: inode_set_iversion() zfsonlinux#7148
- OpenZFS 8966 - Source file zfs_acl.c, function zfs_aclset_common
  contains a use after end of the lifetime of a local variable zfsonlinux#7141
- Remove deprecated zfs_arc_p_aggressive_disable zfsonlinux#7135
- Fix default libdir for Debian/Ubuntu zfsonlinux#7083 zfsonlinux#7101
- Bug fix in qat_compress.c for vmalloc addr check zfsonlinux#7125
- Fix systemd_ RPM macros usage on Debian-based distributions zfsonlinux#7074
  zfsonlinux#7100
- Emit an error message before MMP suspends pool zfsonlinux#7048
- ZTS: Fix create-o_ashift test case zfsonlinux#6924 zfsonlinux#6977
- Fix --with-systemd on Debian-based distributions (zfsonlinux#6963) zfsonlinux#6591 zfsonlinux#6963
- Remove vn_rename and vn_remove dependency zfsonlinux/spl#648 zfsonlinux#6753
- Add support for "--enable-code-coverage" option zfsonlinux#6670
- Make "-fno-inline" compile option more accessible zfsonlinux#6605
- Add configure option to enable gcov analysis zfsonlinux#6642
- Implement --enable-debuginfo to force debuginfo zfsonlinux#2734
- Make --enable-debug fail when given bogus args zfsonlinux#2734

Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Requires-spl: refs/pull/690/head

tonyhutter added a commit to tonyhutter/zfs that referenced this pull request Mar 13, 2018

ZTS: Fix create-o_ashift test case
The function that fills the uberblock ring buffer on every device label
has been reworked to avoid occasional failures caused by a race
condition that prevents 'zpool sync' from writing some uberblock
sequentially: this happens when the pool sync ioctl dispatch code calls
txg_wait_synced() while we're already waiting for a TXG to sync.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
Closes zfsonlinux#6924 
Closes zfsonlinux#6977

tonyhutter added a commit to tonyhutter/zfs that referenced this pull request Mar 13, 2018

zfs-0.7.7 squashed patchset
This is a squashed patchset for zfs-0.7.7.  The individual commits are
in the tonyhutter:zfs-0.7.7-hutter branch.  I squashed the commits so
that buildbot wouldn't have to run against each one, and because
github/builbot seem to have a maximum limit of 30 commits they can
test from a PR.

- Fix MMP write frequency for large pools zfsonlinux#7205 zfsonlinux#7289
- Handle zio_resume and mmp => off zfsonlinux#7286
- Fix zfs-kmod builds when using rpm >= 4.14 zfsonlinux#7284
- zdb and inuse tests don't pass with real disks zfsonlinux#6939 zfsonlinux#7261
- Take user namespaces into account in policy checks zfsonlinux#6800 zfsonlinux#7270
- Detect long config lock acquisition in mmp zfsonlinux#7212
- Linux 4.16 compat: get_disk_and_module() zfsonlinux#7264
- Change checksum & IO delay ratelimit values zfsonlinux#7252
- Increment zil_itx_needcopy_bytes properly zfsonlinux#6988 zfsonlinux#7176
- Fix some typos zfsonlinux#7237
- Fix zpool(8) list example to match actual format zfsonlinux#7244
- Add SMART self-test results to zpool status -c zfsonlinux#7178
- Add scrub after resilver zed script zfsonlinux#4662 zfsonlinux#7086
- Fix free memory calculation on v3.14+ zfsonlinux#7170
- Report duration and error in mmp_history entries zfsonlinux#7190
- Do not initiate MMP writes while pool is suspended zfsonlinux#7182
- Linux 4.16 compat: use correct *_dec_and_test()
- Allow modprobe to fail when called within systemd zfsonlinux#7174
- Add SMART attributes for SSD and NVMe zfsonlinux#7183 zfsonlinux#7193
- Correct count_uberblocks in mmp.kshlib zfsonlinux#7191
- Fix config issues: frame size and headers zfsonlinux#7169
- Clarify zinject(8) explanation of -e zfsonlinux#7172
- OpenZFS 8857 - zio_remove_child() panic due to already destroyed
  parent zio zfsonlinux#7168
- 'zfs receive' fails with "dataset is busy" zfsonlinux#7129 zfsonlinux#7154
- contrib/initramfs: add missing conf.d/zfs zfsonlinux#7158
- mmp should use a fixed tag for spa_config locks zfsonlinux#6530 zfsonlinux#7155
- Handle zap_add() failures in mixed case mode zfsonlinux#7011 zfsonlinux#7054
- Fix zdb -ed on objset for exported pool zfsonlinux#7099 zfsonlinux#6464
- Fix zdb -E segfault zfsonlinux#7099
- Fix zdb -R decompression zfsonlinux#7099 zfsonlinux#4984
- Fix racy assignment of zcb.zcb_haderrors zfsonlinux#7099
- Fix zle_decompress out of bound access zfsonlinux#7099
- Fix zdb -c traverse stop on damaged objset root zfsonlinux#7099
- Linux 4.11 compat: avoid refcount_t name conflict zfsonlinux#7148
- Linux 4.16 compat: inode_set_iversion() zfsonlinux#7148
- OpenZFS 8966 - Source file zfs_acl.c, function zfs_aclset_common
  contains a use after end of the lifetime of a local variable zfsonlinux#7141
- Remove deprecated zfs_arc_p_aggressive_disable zfsonlinux#7135
- Fix default libdir for Debian/Ubuntu zfsonlinux#7083 zfsonlinux#7101
- Bug fix in qat_compress.c for vmalloc addr check zfsonlinux#7125
- Fix systemd_ RPM macros usage on Debian-based distributions zfsonlinux#7074
  zfsonlinux#7100
- Emit an error message before MMP suspends pool zfsonlinux#7048
- ZTS: Fix create-o_ashift test case zfsonlinux#6924 zfsonlinux#6977
- Fix --with-systemd on Debian-based distributions (zfsonlinux#6963) zfsonlinux#6591 zfsonlinux#6963
- Remove vn_rename and vn_remove dependency zfsonlinux/spl#648 zfsonlinux#6753
- Fix "--enable-code-coverage" debug build zfsonlinux#6674
- Update codecov.yml zfsonlinux#6669
- Add support for "--enable-code-coverage" option zfsonlinux#6670
- Make "-fno-inline" compile option more accessible zfsonlinux#6605
- Add configure option to enable gcov analysis zfsonlinux#6642
- Implement --enable-debuginfo to force debuginfo zfsonlinux#2734
- Make --enable-debug fail when given bogus args zfsonlinux#2734

Signed-off-by: Tony Hutter <hutter2@llnl.gov>
Requires-spl: refs/pull/690/head

tonyhutter added a commit that referenced this pull request Mar 19, 2018

ZTS: Fix create-o_ashift test case
The function that fills the uberblock ring buffer on every device label
has been reworked to avoid occasional failures caused by a race
condition that prevents 'zpool sync' from writing some uberblock
sequentially: this happens when the pool sync ioctl dispatch code calls
txg_wait_synced() while we're already waiting for a TXG to sync.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: loli10K <ezomori.nozomu@gmail.com>
Closes #6924
Closes #6977
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.