Fix a buffer cache deadlock which can occur when simulated disk devices
authorMatthew Dillon <dillon@apollo.backplane.com>
Wed, 10 Dec 2008 18:27:32 +0000 (10:27 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Wed, 10 Dec 2008 18:27:32 +0000 (10:27 -0800)
commitcb63d1bc9eab45185cdc14bad4d3f7d116ed9ffa
tree23093835dc02dbfa49dc97b5abd5742c73ef8ac9
parent5559478583c67b5191fa9e0181fa5961f5255dd3
Fix a buffer cache deadlock which can occur when simulated disk devices
(VN) are backed by a HAMMER file.  Do not call bwillwrite() via the
VN->VOP_WRITE->HAMMER path.

Add a new IO_RECURSE flag to identify paths for which bwillwrite() should
never be called.

Reported-by: Rumko <rumcic@gmail.com>
sys/dev/disk/vn/vn.c
sys/sys/vnode.h
sys/vfs/hammer/hammer_vnops.c