freebsd-dev/sys/kern
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
..
bus_if.m
device_if.m
genassym.sh
imgact_aout.c
imgact_elf.c
imgact_gzip.c
imgact_shell.c
inflate.c
init_main.c Remove no-longer-relevant comment. 2000-06-25 10:14:06 +00:00
init_sysent.c Second of two commits adding capability manipulation syscalls for 2000-06-15 23:27:18 +00:00
kern_accf.c return of the accept filter part II 2000-06-20 01:09:23 +00:00
kern_acct.c Move the truncation code out of vn_open and into the open system call 2000-07-04 03:34:11 +00:00
kern_acl.c
kern_cap.c Introduce additional POSIX.1e-related stubs 2000-06-07 04:53:49 +00:00
kern_clock.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
kern_conf.c
kern_descrip.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
kern_environment.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
kern_event.c Report a file type (S_IFIFO) in kqueue_stat(). 2000-06-28 19:16:27 +00:00
kern_exec.c Support for unsigned integer and long sysctl variables. Update the 2000-07-05 07:46:41 +00:00
kern_exit.c fix races in the uidinfo subsystem, several problems existed: 2000-06-22 22:27:16 +00:00
kern_fork.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
kern_intr.c
kern_jail.c
kern_kthread.c
kern_ktrace.c Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00
kern_linker.c Correct SYSINIT execution order in the case when KLD contains more 2000-07-09 23:58:56 +00:00
kern_lock.c
kern_lockf.c
kern_malloc.c Move #ifdef to the right place. 2000-06-29 09:26:26 +00:00
kern_mib.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
kern_module.c
kern_ntptime.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
kern_physio.c
kern_proc.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
kern_prot.c fix races in the uidinfo subsystem, several problems existed: 2000-06-22 22:27:16 +00:00
kern_resource.c fix a typo 2000-06-10 19:21:20 +00:00
kern_shutdown.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
kern_sig.c Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00
kern_subr.c
kern_switch.c
kern_synch.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
kern_syscalls.c
kern_sysctl.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
kern_tc.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
kern_threads.c
kern_time.c
kern_timeout.c
kern_xxx.c
ksched.c
link_aout.c Move the truncation code out of vn_open and into the open system call 2000-07-04 03:34:11 +00:00
link_elf_obj.c Move the truncation code out of vn_open and into the open system call 2000-07-04 03:34:11 +00:00
link_elf.c Move the truncation code out of vn_open and into the open system call 2000-07-04 03:34:11 +00:00
linker_if.m
Make.tags.inc Update tags directive to reflect the new location of soft updates 2000-07-04 00:18:43 +00:00
makedevops.pl
Makefile
makeobjops.pl
makesyscalls.sh
md5c.c
p1003_1b.c
posix4_mib.c
subr_acl_posix1e.c
subr_autoconf.c
subr_blist.c
subr_bus.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
subr_clist.c
subr_devstat.c Support for unsigned integer and long sysctl variables. Update the 2000-07-05 07:46:41 +00:00
subr_disk.c End two weeks of on and off debugging. Fix the crash on the Nth 2000-07-05 06:01:33 +00:00
subr_disklabel.c
subr_diskmbr.c
subr_diskslice.c
subr_eventhandler.c
subr_kobj.c
subr_log.c
subr_module.c
subr_param.c
subr_prf.c
subr_prof.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
subr_rman.c
subr_scanf.c
subr_smp.c
subr_taskqueue.c
subr_trap.c Fix my own style bugs (use of spaces instead of tabs for indentation). 2000-07-01 02:40:13 +00:00
subr_xxx.c
sys_generic.c Remove two micro-pessimizations I made. Bruce is teaching me well :) 2000-07-07 22:11:37 +00:00
sys_pipe.c
sys_process.c
sys_socket.c Instead of just blindly setting -rw-rw-rw-: 2000-07-02 23:56:45 +00:00
syscalls.c Second of two commits adding capability manipulation syscalls for 2000-06-15 23:27:18 +00:00
syscalls.master Introduce syscalls for process capability manipulation. Currently backs 2000-06-15 23:08:17 +00:00
sysv_ipc.c
sysv_msg.c
sysv_sem.c
sysv_shm.c
tty_compat.c
tty_conf.c
tty_cons.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
tty_pty.c Unused include: #include "pty.h" 2000-06-10 07:12:40 +00:00
tty_snoop.c
tty_subr.c
tty_tty.c Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00
tty.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
uipc_accf.c return of the accept filter part II 2000-06-20 01:09:23 +00:00
uipc_domain.c
uipc_mbuf2.c sync with kame tree as of july00. tons of bug fixes/improvements. 2000-07-04 16:35:15 +00:00
uipc_mbuf.c sync with kame tree as of july00. tons of bug fixes/improvements. 2000-07-04 16:35:15 +00:00
uipc_proto.c
uipc_sockbuf.c fix races in the uidinfo subsystem, several problems existed: 2000-06-22 22:27:16 +00:00
uipc_socket2.c fix races in the uidinfo subsystem, several problems existed: 2000-06-22 22:27:16 +00:00
uipc_socket.c fix races in the uidinfo subsystem, several problems existed: 2000-06-22 22:27:16 +00:00
uipc_syscalls.c Modify ktrace's general I/O tracing, ktrgenio(), to use a struct uio * 2000-07-02 08:08:09 +00:00
uipc_usrreq.c Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00
vfs_acl.c
vfs_aio.c
vfs_bio.c Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00
vfs_cache.c Support for unsigned integer and long sysctl variables. Update the 2000-07-05 07:46:41 +00:00
vfs_cluster.c Virtualizes & untangles the bioops operations vector. 2000-06-16 08:48:51 +00:00
vfs_conf.c
vfs_default.c Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00
vfs_export.c Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00
vfs_extattr.c Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00
vfs_init.c
vfs_lookup.c
vfs_mount.c
vfs_subr.c Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00
vfs_syscalls.c Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00
vfs_vnops.c Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00
vnode_if.pl remove crufty exec stuff, perl is in the base system 2000-06-27 19:09:55 +00:00
vnode_if.src Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00