freebsd-nq/sys/svr4
Kirk McKusick f2a2857bb3 Add snapshots to the fast filesystem. Most of the changes support
the gating of system calls that cause modifications to the underlying
filesystem. The gating can be enabled by any filesystem that needs
to consistently suspend operations by adding the vop_stdgetwritemount
to their set of vnops. Once gating is enabled, the function
vfs_write_suspend stops all new write operations to a filesystem,
allows any filesystem modifying system calls already in progress
to complete, then sync's the filesystem to disk and returns. The
function vfs_write_resume allows the suspended write operations to
begin again. Gating is not added by default for all filesystems as
for SMP systems it adds two extra locks to such critical kernel
paths as the write system call. Thus, gating should only be added
as needed.

Details on the use and current status of snapshots in FFS can be
found in /sys/ufs/ffs/README.snapshot so for brevity and timelyness
is not included here. Unless and until you create a snapshot file,
these changes should have no effect on your system (famous last words).
2000-07-11 22:07:57 +00:00
..
imgact_svr4.c useracc() the prequel: 1999-10-29 18:09:36 +00:00
Makefile Don't forget to back up svr4_syscallnames.c. Don't depend on side effects 2000-05-09 21:40:01 +00:00
svr4_acl.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_dirent.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_errno.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_exec.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_fcntl.c Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00
svr4_fcntl.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_filio.c Remove some all-too-wordy debugging prints 2000-01-15 15:30:44 +00:00
svr4_filio.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_fuser.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_hrt.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_ioctl.c Remove unnecessary includes 1999-12-08 12:01:59 +00:00
svr4_ioctl.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_ipc.c Remove unneeded #include <sys/kernel.h> 2000-04-29 15:36:14 +00:00
svr4_ipc.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_misc.c fix races in the uidinfo subsystem, several problems existed: 2000-06-22 22:27:16 +00:00
svr4_mman.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_proto.h Regenerated (to fix "created from" lines, and to fix the previous 2000-05-10 14:38:28 +00:00
svr4_resource.c SVR4 emulator source files now take their compilation options from 1999-12-08 10:51:17 +00:00
svr4_resource.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_siginfo.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_signal.c Fix handling of svr4_sigsets, which are implemented in SysVR4 as a sequence 2000-01-15 15:38:17 +00:00
svr4_signal.h Fix handling of svr4_sigsets, which are implemented in SysVR4 as a sequence 2000-01-15 15:38:17 +00:00
svr4_socket.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
svr4_socket.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_sockio.c Remove unnecessary includes 1999-12-08 12:01:59 +00:00
svr4_sockio.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_sockmod.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_stat.c Remove unnecessary includes 1999-12-08 12:01:59 +00:00
svr4_stat.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_statvfs.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_stream.c Modify ktrace's general I/O tracing, ktrgenio(), to use a struct uio * 2000-07-02 08:08:09 +00:00
svr4_stropts.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_syscall.h Regenerated (to fix "created from" lines, and to fix the previous 2000-05-10 14:38:28 +00:00
svr4_syscallnames.c Regenerated (to fix "created from" lines, and to fix the previous 2000-05-10 14:38:28 +00:00
svr4_sysconfig.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_sysent.c Regenerated (to fix "created from" lines, and to fix the previous 2000-05-10 14:38:28 +00:00
svr4_systeminfo.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_sysvec.c Give the "streams" modulea version (1) and depend on it from the 2000-05-06 01:39:45 +00:00
svr4_termios.c Remove unnecessary includes 1999-12-08 12:01:59 +00:00
svr4_termios.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_time.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_timod.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_ttold.c Remove unnecessary includes 1999-12-08 12:01:59 +00:00
svr4_ttold.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_types.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_ucontext.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_ulimit.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_ustat.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_util.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_utsname.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4_wait.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
svr4.h Removed bogus include of opt_global.h. opt_global.h is automatically 2000-01-09 12:29:45 +00:00
syscalls.conf $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
syscalls.master Fixed the "created from" lines generated from this file. makesyscalls.sh 2000-05-10 14:32:32 +00:00