HomeFreeBSD

Remove zl_issuer_lock from zil_suspend().

Description

Remove zl_issuer_lock from zil_suspend().

This locking was recently added as part of #14979. But appears it
is illegal to take zl_issuer_lock while holding dp_config_rwlock,
taken by dsl_pool_hold(). It causes deadlock with sync thread in
spa_sync_upgrades(). On a second thought, we should not
need this locking, since zil_commit_impl() we call below takes
zl_issuer_lock, that should sufficiently protect zl_suspend reads,
combined with other logic from #14979.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Alexander Motin <mav@FreeBSD.org>
Sponsored by: iXsystems, Inc.
Closes #15103

Details

Provenance
mavAuthored on Jul 25 2023, 4:08 PM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on Jul 25 2023, 8:54 PM
Parents
rG41a0f66279b1: ZIL: Fix config lock deadlock.
Branches
Unknown
Tags
Unknown

Event Timeline