diff options
author | Andy Fiddaman <[email protected]> | 2020-12-21 18:13:23 +0000 |
---|---|---|
committer | GitHub <[email protected]> | 2020-12-21 10:13:23 -0800 |
commit | 39372fa25b4af426365ad064f5d18cf4cc1f6ea0 (patch) | |
tree | 75bb00c8b429c506e0d7555ff66f6610be04cd71 /CODE_OF_CONDUCT.md | |
parent | 6152014d1ab694cdc785b286231ee308386bbc06 (diff) |
Dangling reference from dmu_objset_upgrade
After porting the fix for https://github.com/openzfs/zfs/issues/5295
over to illumos, we started hitting an assertion failure when running
the testsuite:
assertion failed: rc->rc_count == number, file: .../refcount.c
and the unexpected hold has this stack:
dsl_dataset_long_hold+0x59 dmu_objset_upgrade+0x73
dmu_objset_id_quota_upgrade+0x15 dmu_objset_own+0x14f
The simplest reproducer for this in illumos is
zpool create -f -O version=1 testpool c3t0d0; zpool destroy testpool
which is run as part of the zpool_create_tempname test, but I can't get
this to trigger on FreeBSD. This appears to be because of the call to
txg_wait_synced() in dmu_objset_upgrade_stop() (which was missing in
illumos), slows down dmu_objset_disown() enough to avoid the condition.
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Andy Fiddaman <[email protected]>
Closes #11368
Diffstat (limited to 'CODE_OF_CONDUCT.md')
0 files changed, 0 insertions, 0 deletions