]> git.proxmox.com Git - mirror_zfs.git/commit
Remove zl_issuer_lock from zil_suspend().
authorAlexander Motin <mav@FreeBSD.org>
Tue, 25 Jul 2023 16:08:36 +0000 (12:08 -0400)
committerGitHub <noreply@github.com>
Tue, 25 Jul 2023 16:08:36 +0000 (09:08 -0700)
commit2848de11e516a2ef2e6baa574a60d77a6fb47023
tree30b430354b2959f8f055049a3755ef591364be4a
parent48d0e9465de9571a5268f65b7446c693410e0220
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
module/zfs/zil.c