freebsd-nq/sys/fs
Rick Macklem 7cfce7cec7 hrs@ reported a panic to freebsd-stable@ under the subject line
"panic in 8.3-PRERELEASE" on Feb. 22, 2012. This panic was caused
by use of a mix of tsleep() and msleep() calls on the same event
in the new NFS server DRC code. It did "mtx_unlock(); tsleep();"
in two places, which kib@ noted introduced a slight risk that the
wakeup() would occur before the tsleep(), resulting in a 10sec
delay before waking up. This patch fixes the problem by replacing
"mtx_unlock(); tsleep();" with mtx_sleep(..PDROP..). It also
changes a nfsmsleep() call to mtx_sleep() so that the code uses
mtx_sleep() consistently within the file.

Tested by:	hrs (in progress)
Reviewed by:	jhb
MFC after:	5 days
2012-02-23 16:47:05 +00:00
..
cd9660 Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
coda Second-to-last commit implementing Capsicum capabilities in the FreeBSD 2011-08-11 12:30:23 +00:00
deadfs Add function vop_rename_fail(9) that performs needed cleanup for locks 2010-04-02 14:03:01 +00:00
devfs Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
ext2fs Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
fdescfs Make sure all intermediate variables holding mount flags (mnt_flag) 2012-01-17 01:08:01 +00:00
fifofs Initialize fifoinfo fi_wgen field on open. The only important is the 2011-12-04 19:25:49 +00:00
hpfs Make sure all intermediate variables holding mount flags (mnt_flag) 2012-01-17 01:08:01 +00:00
msdosfs Use DOINGASYNC() to test for async allowance, to honor VFS syncing requests. 2012-02-22 13:01:17 +00:00
nfs Delete a couple of out of date comments that are no longer true in 2012-02-16 02:19:53 +00:00
nfsclient Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
nfsserver hrs@ reported a panic to freebsd-stable@ under the subject line 2012-02-23 16:47:05 +00:00
ntfs Make sure all intermediate variables holding mount flags (mnt_flag) 2012-01-17 01:08:01 +00:00
nullfs Allow mounting nullfs(5) inside jails. 2012-02-09 10:39:01 +00:00
nwfs Rename cache_lookup_times() to cache_lookup() and retire the old API and 2012-02-06 17:00:28 +00:00
portalfs Make sure all intermediate variables holding mount flags (mnt_flag) 2012-01-17 01:08:01 +00:00
procfs Abrogate nchr argument in proc_getargv() and proc_getenvv(): we always want 2012-01-15 18:47:24 +00:00
pseudofs Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
smbfs Rename cache_lookup_times() to cache_lookup() and retire the old API and 2012-02-06 17:00:28 +00:00
tmpfs Replace PRIdMAX with "jd" in a printf call. Cast the corresponding value to 2012-02-14 11:24:24 +00:00
udf Fix found places where uio_resid is truncated to int. 2012-02-21 01:05:12 +00:00
unionfs Make unionfs also clear VAPPEND when clearing VWRITE, since VAPPEND 2011-10-10 21:32:08 +00:00