freebsd-dev/sys/miscfs
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
..
deadfs Give vop_mmap an untimely death. The opportunity to give it a timely 2000-11-01 17:57:24 +00:00
fdesc 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
nullfs Remove unneeded #include <sys/proc.h> lines. 2000-10-29 13:57:19 +00:00
portal 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
union Fix breakage unconvered by LINT - dont refer to undefined variables in 2001-01-17 01:10:23 +00:00