NetBSD/sys/uvm
chs f0ff6fc897 in uvn_flush(), when PGO_SYNCIO is specified then we should wait for
pending i/os to complete before returning even if PGO_CLEANIT is not
specified.  this fixes two races:

 (1) NFS write rpcs vs. setattr operations which truncate the file.
     if the truncate doesn't wait for pending writes to complete then
     a later write rpc completion can undo the effect of the truncate.
     this problem has been reported by several people.

 (2) write i/os in disk-based filesystem vs. the disk block being
     freed by a truncation, allocated to a new file, and written
     again with different data.  if the disk driver reorders the requests
     and does the second i/o first, the old data will clobber the new,
     corrupting the new file.  I haven't heard of anyone experiencing
     this problem yet, but it's fixed now anyway.
2001-01-08 06:21:13 +00:00
..
Makefile Rename VM_INHERIT_* to MAP_INHERIT_* and move them to sys/sys/mman.h as 2000-08-01 00:53:07 +00:00
uvm_amap_i.h lots of cleanup: 2000-11-25 06:27:59 +00:00
uvm_amap.c lots of cleanup: 2000-11-25 06:27:59 +00:00
uvm_amap.h lots of cleanup: 2000-11-25 06:27:59 +00:00
uvm_anon.c when we fail to allocate anons to represent new swap space, 2000-12-27 09:17:04 +00:00
uvm_anon.h when we fail to allocate anons to represent new swap space, 2000-12-27 09:17:04 +00:00
uvm_aobj.c lots of cleanup: 2000-11-25 06:27:59 +00:00
uvm_aobj.h add support for ``swapctl -d'' (removing swap space). 2000-01-11 06:57:49 +00:00
uvm_bio.c fix some types so that files larger than 4GB work. 2000-12-27 09:01:45 +00:00
uvm_ddb.h lots of cleanup: 2000-11-25 06:27:59 +00:00
uvm_device.c lots of cleanup: 2000-11-25 06:27:59 +00:00
uvm_device.h Don't silently truncate the voff_t offset to vaddr_t when passing it to 2000-05-28 10:21:55 +00:00
uvm_extern.h Move uvm_pgcnt_vnode and uvm_pgcnt_anon into uvmexp (as vnodepages and 2000-11-30 11:04:43 +00:00
uvm_fault_i.h remove/move more mach vm header files: 2000-06-26 14:20:25 +00:00
uvm_fault.c Initial integration of the Unified Buffer Cache project. 2000-11-27 08:39:39 +00:00
uvm_fault.h remove/move more mach vm header files: 2000-06-26 14:20:25 +00:00
uvm_glue.c lots of cleanup: 2000-11-25 06:27:59 +00:00
uvm_glue.h Protect prototypes, certain macros, and inlines from userland. 1999-06-21 17:25:11 +00:00
uvm_init.c remove include of <vm/vm.h> 2000-06-27 17:29:17 +00:00
uvm_io.c remove include of <vm/vm.h> 2000-06-27 17:29:17 +00:00
uvm_km.c Introduce uvm_km_valloc_align() and use it to glab process's USPACE 2000-11-27 04:36:40 +00:00
uvm_km.h Protect prototypes, certain macros, and inlines from userland. 1999-06-21 17:25:11 +00:00
uvm_loan.c remove include of <vm/vm.h> 2000-06-27 17:29:17 +00:00
uvm_loan.h Protect prototypes, certain macros, and inlines from userland. 1999-06-21 17:25:11 +00:00
uvm_map_i.h Initial integration of the Unified Buffer Cache project. 2000-11-27 08:39:39 +00:00
uvm_map.c Use single const char array instead of over 200 string constant. 2000-12-13 08:06:11 +00:00
uvm_map.h Use single const char array instead of over 200 string constant. 2000-12-13 08:06:11 +00:00
uvm_meter.c Move uvm_pgcnt_vnode and uvm_pgcnt_anon into uvmexp (as vnodepages and 2000-11-30 11:04:43 +00:00
uvm_mmap.c Nevermind that it's silly to include PROT_EXEC even if a vnode 2001-01-08 01:35:03 +00:00
uvm_object.h Define a new kernel object type, "intrsafe", which are used for objects 1999-05-25 20:30:08 +00:00
uvm_page_i.h use queue.h macros and KASSERT(). 2000-11-27 07:47:42 +00:00
uvm_page.c make sure that pages are on an paging queue before unlocking them. 2000-12-01 09:54:42 +00:00
uvm_page.h remove some more leftovers from Mach. 2000-12-28 08:24:55 +00:00
uvm_pager_i.h lots of cleanup: 2000-11-25 06:27:59 +00:00
uvm_pager.c in uvm_pagermapin(), for now, don't pass the flag to pmap_enter() 2000-12-09 23:26:27 +00:00
uvm_pager.h Initial integration of the Unified Buffer Cache project. 2000-11-27 08:39:39 +00:00
uvm_param.h expose the tunables ubc_nwins and ubc_winsize in uvm_param.h. 2000-12-21 00:52:01 +00:00
uvm_pdaemon.c continue processing the inactive queue past the free target when 2000-12-13 17:03:32 +00:00
uvm_pdaemon.h Const poison uvm_wait(). 1999-11-04 21:51:42 +00:00
uvm_pglist.c lots of cleanup: 2000-11-25 06:27:59 +00:00
uvm_pglist.h remove/move more mach vm header files: 2000-06-26 14:20:25 +00:00
uvm_pmap.h more vm header file changes: 2000-06-27 09:00:14 +00:00
uvm_prot.h <vm/vm_prot.h> becomes <uvm/uvm_prot.h> 2000-06-25 13:37:51 +00:00
uvm_stat.c add new uvmexp fields for uvmexp_print(). 2000-12-01 09:48:56 +00:00
uvm_stat.h Finish previous. 2000-04-11 08:12:14 +00:00
uvm_swap.c Use cast where appropriate to avoid integer overflow. 2001-01-04 06:07:18 +00:00
uvm_swap.h add support for ``swapctl -d'' (removing swap space). 2000-01-11 06:57:49 +00:00
uvm_unix.c Add an align argument to uvm_map() and some callers of that 2000-09-13 15:00:15 +00:00
uvm_user.c remove include of <vm/vm.h> 2000-06-27 17:29:17 +00:00
uvm_vnode.c in uvn_flush(), when PGO_SYNCIO is specified then we should wait for 2001-01-08 06:21:13 +00:00
uvm_vnode.h Initial integration of the Unified Buffer Cache project. 2000-11-27 08:39:39 +00:00
uvm.h Initial integration of the Unified Buffer Cache project. 2000-11-27 08:39:39 +00:00