freebsd-nq/sys/vm
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
..
default_pager.c Revert spelling mistake I made in the previous commit 2000-03-27 20:41:17 +00:00
device_pager.c Revert spelling mistake I made in the previous commit 2000-03-27 20:41:17 +00:00
phys_pager.c This is a cleanup patch to Peter's new OBJT_PHYS VM object type 2000-05-29 22:40:54 +00:00
pmap.h Brucify the pmap_enter_temporary() changes. 2000-05-29 19:21:01 +00:00
swap_pager.c Implement an optimization of the VM<->pmap API. Pass vm_page_t's directly 2000-05-21 12:50:18 +00:00
swap_pager.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
vm_extern.h Remove unused 3rd argument from vsunlock() which abused B_WRITE. 2000-03-13 10:47:24 +00:00
vm_fault.c This is a cleanup patch to Peter's new OBJT_PHYS VM object type 2000-05-29 22:40:54 +00:00
vm_glue.c Remove unneeded <sys/buf.h> includes. 2000-04-18 15:15:39 +00:00
vm_init.c Revert spelling mistake I made in the previous commit 2000-03-27 20:41:17 +00:00
vm_kern.c Implement an optimization of the VM<->pmap API. Pass vm_page_t's directly 2000-05-21 12:50:18 +00:00
vm_kern.h Fix null-pointer dereference crash when the system is intentionally 2000-02-16 21:11:33 +00:00
vm_map.c Fixed bug in madvise() / MADV_WILLNEED. When the request is offset 2000-05-14 18:46:40 +00:00
vm_map.h Add MAP_NOCORE to mmap(2), and MADV_NOCORE and MADV_CORE to madvise(2). 2000-02-28 04:10:35 +00:00
vm_meter.c Support for unsigned integer and long sysctl variables. Update the 2000-07-05 07:46:41 +00:00
vm_mmap.c Nifty idea from Jeroen van Gelderen; don't call a routine to check if 2000-06-25 09:44:32 +00:00
vm_object.c This is a cleanup patch to Peter's new OBJT_PHYS VM object type 2000-05-29 22:40:54 +00:00
vm_object.h This is a cleanup patch to Peter's new OBJT_PHYS VM object type 2000-05-29 22:40:54 +00:00
vm_page.c Simplify and rationalise the management of the vnode free list 2000-07-04 04:32:40 +00:00
vm_page.h #elsif -> #elif 2000-07-11 09:41:29 +00:00
vm_pageout.c Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00
vm_pageout.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
vm_pager.c Checkpoint of a new physical memory backed object type, that does not 2000-05-21 13:41:29 +00:00
vm_pager.h Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
vm_param.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
vm_swap.c Separate the struct bio related stuff out of <sys/buf.h> into 2000-05-05 09:59:14 +00:00
vm_unix.c Revert spelling mistake I made in the previous commit 2000-03-27 20:41:17 +00:00
vm_zone.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
vm_zone.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
vnode_pager.c Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00
vnode_pager.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00