Go to file
pooka b2a7b240df In case the fs server is in the kernel doing an operation on a
completely different file system, we still might re-enter the same
puffs fs in case we execute something on the other file system,
which wants to get a new vnode and ends up recycling a puffs vnode
for the purpose.  In this case the fs server will sleep in the
kernel until it itself handles the operation .... which of course
is a slightly unlikely event.

After analyzing the path from getcleanvnode() to the vnode cemetary,
identify that fsync and putpages (strategy) are the ones in danger
of striking a deadlock deal.  Abuse the vnode flag VXLOCK to tell
them "this vnode is irreversably going to meet its maker, don't
care about user server return values" (failure is not acceptable
down the vgonel() path) and issue the respective operations as
Fire-And-Forget (FAF) operations.  no wait -> no deadlock.

This of course is a "fix" skating on thin ice.  A better, more
generic solution is already in sight, but will take more effort to
implement.
2007-01-19 14:59:50 +00:00
bin Fix for PR bin/35432: 2007-01-16 19:06:41 +00:00
common remove bogus (void)&var; from Anon Ymous 2006-12-18 00:41:54 +00:00
crypto CID-4268: `c' is EOF here, remove deadcode 2006-12-26 00:06:03 +00:00
dist track ntp bug #760 - support DYNAMIC flags in async resolver 2007-01-13 11:41:05 +00:00
distrib Sync with i386: add sbin/raidctl to amd64's install ramdisk. 2007-01-17 20:42:53 +00:00
doc IPF 4.1.16 2007-01-14 08:46:45 +00:00
etc Fix MAKEDEV on shark: Move ses(4) devices from MI code (MAKEDEV.tmpl) to 2007-01-15 23:35:11 +00:00
games Update my previous commit to better match the original code, including 2007-01-17 02:35:28 +00:00
gnu Apply an iffy heuristic to detect a valid switchframe on the stack and 2007-01-18 18:15:02 +00:00
include Add: _lwp_kill, _lwp_detach, _lwp_park, lwp_unpark, _lwp_unpark_all. 2007-01-16 01:36:50 +00:00
lib -fix use of arguments and remove an outdated section 2007-01-18 14:07:01 +00:00
libexec Remove duplicated #includes and some trailing whitespace while here. 2007-01-17 21:44:50 +00:00
regress Add a small regression test for getopt_long(3). 2007-01-18 16:29:21 +00:00
rescue add libprop to LIBS, as veriexecctl now needs it. 2006-11-29 08:41:49 +00:00
sbin Remove more duplicate #includes, 2007-01-17 21:59:49 +00:00
share exclude working directories 2007-01-17 00:51:25 +00:00
sys In case the fs server is in the kernel doing an operation on a 2007-01-19 14:59:50 +00:00
tools Pass TOOL_JOIN, TOOL_MKTEMP, NM, and TOOL_SED through to the 2007-01-14 16:32:23 +00:00
usr.bin Don't delete '\' from before '#' in shell command lines. 2007-01-18 20:22:44 +00:00
usr.sbin * Don't include headers twice 2007-01-16 17:32:04 +00:00
x11 build XFree86 on shark 2006-12-21 01:45:32 +00:00
BUILDING Clarify that DESTDIR/OBJDIR/etc are absolute paths, but build.sh 2006-10-08 17:54:30 +00:00
Makefile don't filter out .WAIT when converting from _SUBDIR to SUBDIR 2006-09-07 03:51:44 +00:00
Makefile.inc
UPDATING Note also that the distrib/ install images need cleaning to excise 2006-12-15 14:18:38 +00:00
build.sh Added a friendly error message in case the user forgot to "build.sh tools". 2007-01-17 03:43:18 +00:00