]> git.proxmox.com Git - mirror_zfs-debian.git/commit
Fix txg_sync_thread deadlock
authorBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 22 Jul 2011 20:55:27 +0000 (13:55 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 22 Jul 2011 22:24:57 +0000 (15:24 -0700)
commitbeb982690293310b14a4835d3ffeb883ba03cc0a
tree4a9cbed83508e2802e137c0af366c47c263d56c5
parentf7ef846ea19809b2f373c0542741ac04c65a07cb
Fix txg_sync_thread deadlock

Update two kmem_alloc()'s in dbuf_dirty() to use KM_PUSHPAGE.
Because these functions are called from txg_sync_thread we
must ensure they don't reenter the zfs filesystem code via
the .writepage callback.  This would result in a deadlock.

This deadlock is rare and has only been observed once under
an abusive mmap() write workload.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
module/zfs/dbuf.c