]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Eliminate a deadlock when creating snapshots. Blocking vn_start_write() must
authortegge <tegge@FreeBSD.org>
Thu, 2 Mar 2006 22:13:28 +0000 (22:13 +0000)
committertegge <tegge@FreeBSD.org>
Thu, 2 Mar 2006 22:13:28 +0000 (22:13 +0000)
commit774f51ad2c9890088551e2fef8c7c2ec8bc1e446
treea136dfc347b9ef7b044439ec33fe997d02fb4061
parent29fc266dddf27264a642495e94c044465289b437
Eliminate a deadlock when creating snapshots.  Blocking vn_start_write() must
be called without any vnode locks held.  Remove calls to vn_start_write() and
vn_finished_write() in vnode_pager_putpages() and add these calls before the
vnode lock is obtained to most of the callers that don't already have them.
sys/kern/vfs_subr.c
sys/security/mac/mac_process.c
sys/ufs/ffs/ffs_rawread.c
sys/vm/vm_contig.c
sys/vm/vm_object.c
sys/vm/vnode_pager.c