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

Wrong TAG used by by mmp_write_uberblock() for spa_config_enter() #6530

Closed
sanjeevbagewadi opened this issue Aug 18, 2017 · 8 comments
Closed
Milestone

Comments

@sanjeevbagewadi
Copy link
Contributor

System information

Type Version/Name
Distribution Name Centos
Distribution Version
Linux Kernel 4.4.14-1.el6
Architecture x86_64
ZFS Version 0.7.1-1
SPL Version 0.7.1-3_gce8260d

Describe the problem you're observing

Saw the following panic with debug bits while running zfs-testsuite

-- snip --
[    2.668699] Kernel panic - not syncing: No such hold ffffffffa0a017a1 on refcount ffff88028da65a38
[    2.668892] CPU: 0 PID: 24257 Comm: z_null_int Tainted: P           OE   4.4.14-1.el6.nutanix.10272016.x86_64 #1
[    2.669018] Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 09/21/2015
[    2.669161]  0000000000000000 ffff88027d27fb88 ffffffff81319ae3 00000000ffffffff
[    2.669303]  0000000000000038 ffffffffa0a45d08 0000000000000001 ffff88027d27fc08
[    2.669403]  ffffffff811825c9 0000000000000018 ffff88027d27fc18 ffff88027d27fbb8
[    2.669502] Call Trace:
[    2.669547]  [<ffffffff81319ae3>] dump_stack+0x67/0x94
[    2.669607]  [<ffffffff811825c9>] panic+0xc1/0x219
[    2.669664]  [<ffffffff816cd4de>] ? mutex_lock+0xe/0x40
[    2.669793]  [<ffffffffa09180ee>] refcount_remove_many+0x20e/0x240 [zfs]
[    2.669897]  [<ffffffffa0918136>] refcount_remove+0x16/0x20 [zfs]
[    2.669999]  [<ffffffffa093843f>] spa_config_exit+0xaf/0x1e0 [zfs]
[    2.670099]  [<ffffffffa09153e5>] mmp_write_done+0xc5/0x1a0 [zfs]
[    2.670207]  [<ffffffffa09b2bb9>] zio_done+0x709/0x16b0 [zfs]
[    2.670272]  [<ffffffff816cbba9>] ? _cond_resched+0x9/0x30
[    2.670336]  [<ffffffff816ccf19>] ? mutex_unlock+0x9/0x20
[    2.670398]  [<ffffffff816ccf19>] ? mutex_unlock+0x9/0x20
[    2.670519]  [<ffffffffa09aade5>] ? zio_wait_for_children+0xc5/0x180 [zfs]
[    2.670637]  [<ffffffffa09ad11d>] zio_execute+0xed/0x2e0 [zfs]
[    2.670711]  [<ffffffffa07cd76c>] taskq_thread+0x2bc/0x4b0 [spl]
[    2.670797]  [<ffffffff810ad830>] ? try_to_wake_up+0x270/0x270
[    2.670863]  [<ffffffff810a2462>] ? __kthread_parkme+0x12/0x80
[    2.670930]  [<ffffffffa07cd4b0>] ? param_set_taskq_kick+0xf0/0xf0 [spl]
[    2.671000]  [<ffffffff810a263c>] kthread+0xcc/0xf0
[    2.671058]  [<ffffffff810aa5e1>] ? finish_task_switch+0x21/0x270
[    2.671124]  [<ffffffff810abd4e>] ? schedule_tail+0x1e/0xc0
[    2.671186]  [<ffffffff810a2570>] ? kthread_freezable_should_stop+0x70/0x70
[    2.671258]  [<ffffffff816cfacf>] ret_from_fork+0x3f/0x70
[    2.671320]  [<ffffffff810a2570>] ? kthread_freezable_should_stop+0x70/0x70
-- snip --

Describe how to reproduce the problem

Run the mmp setup test of zfs-testsuite.

Include any warning/errors/backtraces from the system logs

@sanjeevbagewadi
Copy link
Contributor Author

The mmp_write_done() is trying to release the spa_config_lock SCL_CONF.
This lock should have been taken when mmp_write_uberblock() is called when the zio is created:
-- snip --
317 mmp_write_uberblock(spa_t *spa)
318 {
....
325
326 spa_config_enter(spa, SCL_STATE, FTAG, RW_READER);
....
355 label = spa_get_random(VDEV_LABELS);
356 vdev_label_write(zio, vd, label, ub_abd, offset,
357 VDEV_UBERBLOCK_SIZE(vd), mmp_write_done, mmp,
358 flags | ZIO_FLAG_DONT_PROPAGATE);
-- snip --

And that lock is then dropped by the mmp_write_done() in the zio_done() path.
So, it is not quite clear why the hold is missing.

Looking at the panic message :
-- snip --
[10929.065500] Kernel panic - not syncing: No such hold ffffffffa0a017a1 on refcount ffff88028da65a38
-- snip --

The current hold is :
-- snip --
crash> reference_t 0xffff88025e9a1a00
struct reference_t {
ref_link = {
next = 0xffff88028da65a88,
prev = 0xffff88028da65a88
},
ref_holder = 0xffffffffa0a01770 <func.63442>,
ref_number = 1,
ref_removed = 0xffff8801dca80600 "\370\005\250\334\001\210\377\377X\b\250\334\001\210\377\377\300\017\250\334\001\210\377\377\310\001\250\334\001\210\377\377\230\n\250\334\001\210\377\377"
}
-- snip --

Looking at the disassembly of mmp_write_uberblock where the spa_config_enter() is called :
-- snip --
11 0xffffffffa0914a0b <mmp_write_uberblock+27>: mov $0xffffffffa0a01770,%rdx
12 0xffffffffa0914a12 <mmp_write_uberblock+34>: mov $0x2,%esi
13 0xffffffffa0914a17 <mmp_write_uberblock+39>: mov %rdi,%rbx
14 0xffffffffa0914a1a <mmp_write_uberblock+42>: callq 0xffffffffa0938770 <spa_config_enter>
-- snip --

Notice above that "0xffffffffa0a01770" is the value set for holder. And that's the hold present
in the reference_t. So, we have the right hold.
It is the essentially the func value of the caller which is that of mmp_write_uberblock() when
the hold is taken.

However, when the spa_config_exit() is called by mmp_write_done() we endup passing the func of
mmp_write_done(). And hence, the panic.

-- snip --
crash> rd -a 0xffffffffa0a01770 20
ffffffffa0a01770: mmp_write_uberblock <- The current hold is by mmp_write_uberblock

crash> rd -a ffffffffa0a017a1 15
ffffffffa0a017a1: mmp_write_done <- But, in the return path we are checking for mmp_write_done
-- snip --

The fix would be to use a unique tag instead of FTAG for spa_config_enter() in mmp_write_uberblock() and mmp_write_done().

@behlendorf
Copy link
Contributor

@ofaaland can you take a look at this.

@ofaaland
Copy link
Contributor

ofaaland commented Aug 21, 2017

@sanjeevbagewadi ,
Thanks for your report. Your analysis makes sense to me, but I'm unable to reproduce the panic you get. I notice your SPL build has some additional patches beyond spl-0.7.1. What are those patches?

Also, I notice that your kernel version is later than the one supplied with CentOS 7.3. What is the source of that kernel?

And finally, what configure options were used when you built ZFS? Did you install packages or were you running in-tree?

thanks,
Olaf

@sanjeevbagewadi
Copy link
Contributor Author

sanjeevbagewadi commented Aug 22, 2017 via email

@ofaaland
Copy link
Contributor

@sanjeevbagewadi ,
Thanks for the suggested patch, but I really want to reproduce your panic before I submit a PR. When you say

I was running the zfs-testsuite with debug bits

Can you be more specific?
thanks

@sanjeevbagewadi
Copy link
Contributor Author

sanjeevbagewadi commented Aug 22, 2017 via email

@behlendorf behlendorf added this to the 0.8.0 milestone Aug 31, 2017
@behlendorf
Copy link
Contributor

@sanjeevbagewadi is this still and issue your able to reproduce? And if so can you open a PR with the proposed fix for review and comment.

@sanjeevbagewadi
Copy link
Contributor Author

Sure. Will do it.

Nasf-Fan pushed a commit to Nasf-Fan/zfs that referenced this issue Feb 13, 2018
mmp_write_uberblock() and mmp_write_done() should the same tag
for spa_config_locks.

Reviewed-by: Olaf Faaland <[email protected]>
Reviewed-by: Giuseppe Di Natale <[email protected]>
Reviewed by: Brian Behlendorf <[email protected]>
Signed-off-by: Sanjeev Bagewadi <[email protected]>
Closes openzfs#6530
Closes openzfs#7155
tonyhutter pushed a commit to tonyhutter/zfs that referenced this issue Mar 7, 2018
mmp_write_uberblock() and mmp_write_done() should the same tag
for spa_config_locks.

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

Signed-off-by: Tony Hutter <[email protected]>
Requires-spl: refs/pull/690/head
tonyhutter pushed a commit to tonyhutter/zfs that referenced this issue Mar 12, 2018
mmp_write_uberblock() and mmp_write_done() should the same tag
for spa_config_locks.

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

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

Signed-off-by: Tony Hutter <[email protected]>
Requires-spl: refs/pull/690/head
tonyhutter pushed a commit to tonyhutter/zfs that referenced this issue Mar 13, 2018
mmp_write_uberblock() and mmp_write_done() should the same tag
for spa_config_locks.

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

Signed-off-by: Tony Hutter <[email protected]>
Requires-spl: refs/pull/690/head
tonyhutter pushed a commit that referenced this issue Mar 19, 2018
mmp_write_uberblock() and mmp_write_done() should the same tag
for spa_config_locks.

Reviewed-by: Olaf Faaland <[email protected]>
Reviewed-by: Giuseppe Di Natale <[email protected]>
Reviewed by: Brian Behlendorf <[email protected]>
Signed-off-by: Sanjeev Bagewadi <[email protected]>
Closes #6530
Closes #7155
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants