Make sure we can still write data to txg

The final txgs are used only to clear out any remaining deferred
frees, and we cannot write new data to them. Make sure we do not
try to do so.

Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>
Signed-off-by: Mariusz Zaborski <mariusz.zaborski@klarasystems.com>
Closes #18139
This commit is contained in:
Mariusz Zaborski 2026-01-27 03:33:21 +01:00 committed by GitHub
parent 35b2d39709
commit a157ef62a1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -2167,6 +2167,9 @@ spa_sync_time_logger(spa_t *spa, uint64_t txg)
if (curtime < spa->spa_last_flush_txg_time + spa_flush_txg_time) {
return;
}
if (txg > spa_final_dirty_txg(spa)) {
return;
}
spa->spa_last_flush_txg_time = curtime;
tx = dmu_tx_create_assigned(spa_get_dsl(spa), txg);