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
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
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
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
uvm_fault.c Initial integration of the Unified Buffer Cache project. 2000-11-27 08:39:39 +00:00
uvm_fault.h
uvm_glue.c lots of cleanup: 2000-11-25 06:27:59 +00:00
uvm_glue.h
uvm_init.c
uvm_io.c
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
uvm_loan.c
uvm_loan.h
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
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
uvm_pglist.c lots of cleanup: 2000-11-25 06:27:59 +00:00
uvm_pglist.h
uvm_pmap.h
uvm_prot.h
uvm_stat.c add new uvmexp fields for uvmexp_print(). 2000-12-01 09:48:56 +00:00
uvm_stat.h
uvm_swap.c Use cast where appropriate to avoid integer overflow. 2001-01-04 06:07:18 +00:00
uvm_swap.h
uvm_unix.c
uvm_user.c
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