Subject: CVS commit: src/sys/fs/puffs
To: None <source-changes@NetBSD.org>
From: Antti Kantee <pooka@netbsd.org>
List: source-changes
Date: 10/23/2006 23:32:58
Module Name: src
Committed By: pooka
Date: Mon Oct 23 23:32:58 UTC 2006
Modified Files:
src/sys/fs/puffs: puffs_subr.c
Log Message:
Apply a little eggwash to a deadlock condition where calling
getnewvnode() while holding on to any vnode lock deadlocks the
system if the file system is being forcibly unmounted.
Normal file systems don't trigger this problem because of two reaons:
1) they don't hold on to vnode locks while idling who-knows-where, so
the race doesn't trigger
2) they aren't usually unmounted with FORCE; puffs is, in case "someone"
manages to make a crashy userspace server
Nevertheless, a real solution is slowly being braised.
To generate a diff of this commit:
cvs rdiff -r1.1 -r1.2 src/sys/fs/puffs/puffs_subr.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.