mirror of
https://git.proxmox.com/git/mirror_zfs
synced 2025-04-28 22:12:04 +00:00
Assert if we're logging after final txg was set
This allowed to debug #16714, fixed in #16782. Without assertions added here it is difficult to figure out what logs cause the problem, since the assertion happens in sync thread context. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Pavel Snajdr <snajpa@snajpa.net> Co-authored-by: Alexander Motin <mav@FreeBSD.org> Closes #16795
This commit is contained in:
parent
d0a91b9f88
commit
d2b0ca953f
@ -390,6 +390,9 @@ spa_history_log_nvl(spa_t *spa, nvlist_t *nvl)
|
||||
return (err);
|
||||
}
|
||||
|
||||
ASSERT3UF(tx->tx_txg, <=, spa_final_dirty_txg(spa),
|
||||
"Logged %s after final txg was set!", "nvlist");
|
||||
|
||||
VERIFY0(nvlist_dup(nvl, &nvarg, KM_SLEEP));
|
||||
if (spa_history_zone() != NULL) {
|
||||
fnvlist_add_string(nvarg, ZPOOL_HIST_ZONE,
|
||||
@ -527,6 +530,9 @@ log_internal(nvlist_t *nvl, const char *operation, spa_t *spa,
|
||||
return;
|
||||
}
|
||||
|
||||
ASSERT3UF(tx->tx_txg, <=, spa_final_dirty_txg(spa),
|
||||
"Logged after final txg was set: %s %s", operation, fmt);
|
||||
|
||||
msg = kmem_vasprintf(fmt, adx);
|
||||
fnvlist_add_string(nvl, ZPOOL_HIST_INT_STR, msg);
|
||||
kmem_strfree(msg);
|
||||
|
Loading…
Reference in New Issue
Block a user