mirror of
				https://git.proxmox.com/git/mirror_zfs
				synced 2025-10-31 01:31:39 +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
							
								
									d359f7f547
								
							
						
					
					
						commit
						a1907b038a
					
				| @ -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
	 Pavel Snajdr
						Pavel Snajdr