freebsd-dev/sys/fs
Matthew Dillon 2a9737202a This patch reestablishes the spec_fsync() guarentee that synchronous
fsyncs, which typically occur during unmounting, will drain all dirty
buffers even if it takes multiple passes to do so.  The guarentee was
mangled by the last patch which solved a problem due to -current disabling
interrupts while holding giant (which caused an infinite spin loop waiting for
I/O to complete).  -stable does not have either patch, but has a similar
bug in the original spec_fsync() code which is triggered by a bug in the
softupdates umount code, a fix for which will be committed to -current
as soon as Kirk stamps it.  Then both solutions will be MFC'd to -stable.

-stable currently suffers from a combination of the softupdates bug and
a small window of opportunity in the original spec_fsync() code, and -stable
also suffers from the spin-loop bug but since interrupts are enabled the
spin resolves itself in a few milliseconds.
2001-01-29 08:19:28 +00:00
..
cd9660 Back out proc locking to protect p_ucred for obtaining additional 2001-01-27 00:01:31 +00:00
coda Back out proc locking to protect p_ucred for obtaining additional 2001-01-27 00:01:31 +00:00
deadfs Give vop_mmap an untimely death. The opportunity to give it a timely 2000-11-01 17:57:24 +00:00
devfs Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
fdescfs o Move from Alfred Perstein's "exclusion" technique of handling special 2000-10-09 20:06:13 +00:00
fifofs Introduce vop_stdinactive() and make it the default if no vop_inactive 2000-08-18 10:01:02 +00:00
hpfs Back out proc locking to protect p_ucred for obtaining additional 2001-01-27 00:01:31 +00:00
msdosfs Convert all simplelocks to mutexes and remove the simplelock implementations. 2001-01-24 12:35:55 +00:00
ntfs Convert all simplelocks to mutexes and remove the simplelock implementations. 2001-01-24 12:35:55 +00:00
nullfs Remove unneeded #include <sys/proc.h> lines. 2000-10-29 13:57:19 +00:00
nwfs v_interlock is a mutex now, not simple lock. 2000-11-04 02:42:11 +00:00
portalfs Update to reflect the disappearance of getsock(). 2000-11-25 07:16:06 +00:00
procfs - Catch up to proc flag changes. 2001-01-24 11:20:05 +00:00
specfs This patch reestablishes the spec_fsync() guarentee that synchronous 2001-01-29 08:19:28 +00:00
umapfs Move suser() and suser_xxx() prototypes and a related #define from 2000-10-29 16:06:56 +00:00
unionfs Fix breakage unconvered by LINT - dont refer to undefined variables in 2001-01-17 01:10:23 +00:00