HomeFreeBSD

Fix ASSERTION(!dsl_pool_sync_context(tx->tx_pool))

Description

Fix ASSERTION(!dsl_pool_sync_context(tx->tx_pool))

Disable the normal reclaim path for the txg_sync thread. This
ensures the thread will never enter dmu_tx_assign() which can
otherwise occur due to direct reclaim. If this is allowed to
happen the system can deadlock. Direct reclaim call path:

->shrink_icache_memory->prune_icache->dispose_list->
clear_inode->zpl_clear_inode->zfs_inactive->dmu_tx_assign

Details

Provenance
Brian Behlendorf <behlendorf1@llnl.gov>Authored on Mar 31 2011, 5:05 PM
Parents
rG7cb67b45f33f: Add direct+indirect ARC reclaim
Branches
Unknown
Tags
Unknown