freebsd-nq/sys/vm
Konstantin Belousov b6c00483e9 Do not leave invalid pages in the object after the short read for a
network file systems (not only NFS proper). Short reads cause pages
other then the requested one, which were not filled by read response,
to stay invalid.

Change the vm_page_readahead_finish() interface to not take the error
code, but instead to make a decision to free or to (de)activate the
page only by its validity. As result, not requested invalid pages are
freed even if the read RPC indicated success.

Noted and reviewed by:	alc
MFC after:	1 week
2012-08-14 11:45:47 +00:00
..
default_pager.c Replace pointer to "struct uidinfo" with pointer to "struct ucred" 2010-12-02 17:37:16 +00:00
device_pager.c After the PHYS_TO_VM_PAGE() function was de-inlined, the main reason 2012-08-05 14:11:42 +00:00
memguard.c Fix a bug with memguard(9) on 32-bit architectures without a 2012-07-15 20:29:48 +00:00
memguard.h Fix a bug with memguard(9) on 32-bit architectures without a 2012-07-15 20:29:48 +00:00
phys_pager.c Remove unneeded includes of <sys/linker_set.h>. Other headers that use 2011-01-11 13:59:06 +00:00
pmap.h The page flag PGA_WRITEABLE is set and cleared exclusively by the pmap 2012-06-16 18:56:19 +00:00
redzone.c Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
redzone.h Add buffer corruption protection (RedZone) for kernel's malloc(9). 2006-01-31 11:09:21 +00:00
sg_pager.c After the PHYS_TO_VM_PAGE() function was de-inlined, the main reason 2012-08-05 14:11:42 +00:00
swap_pager.c The page flag PGA_WRITEABLE is set and cleared exclusively by the pmap 2012-06-16 18:56:19 +00:00
swap_pager.h Implement the linprocfs swaps file, providing information about the 2011-08-01 19:12:15 +00:00
uma_core.c Add missing sleep stat increase 2012-07-07 17:46:11 +00:00
uma_dbg.c
uma_dbg.h
uma_int.h 1. Prior to r214782, UMA did not support multipage allocations before 2011-05-21 17:43:43 +00:00
uma.h exclude kmem_alloc'ed ARC data buffers from kernel minidumps on amd64 2012-01-27 20:18:31 +00:00
vm_extern.h Eliminate vm_phys_bootstrap_alloc(). It was a failed attempt at 2011-10-30 05:06:14 +00:00
vm_fault.c Calculate the count of per-process cow faults. Export the count to 2012-05-23 18:10:54 +00:00
vm_glue.c Move kstack_cache_entry into the private header, and make the 2011-12-16 10:56:16 +00:00
vm_init.c Introduce exec_alloc_args(). The objective being to encapsulate the 2010-07-27 17:31:03 +00:00
vm_kern.c Move what remains of vm/vm_contig.c into vm/vm_pageout.c, where similar 2012-07-18 05:21:34 +00:00
vm_kern.h
vm_map.c Add new pmap layer locks to the predefined lock order. Change the names 2012-06-27 03:45:25 +00:00
vm_map.h Fix a bug with memguard(9) on 32-bit architectures without a 2012-07-15 20:29:48 +00:00
vm_meter.c - The previous commit (r228449) accidentally moved the vm.stats.vm.* sysctls 2011-12-14 13:25:00 +00:00
vm_mmap.c When MAP_STACK mapping is created, the map entry is created only to 2012-04-21 18:36:53 +00:00
vm_object.c Document the object type movements, related to swp_pager_copy(), 2012-07-11 01:04:59 +00:00
vm_object.h - Add a comment explaining the locking of the cached pages pool held 2012-06-22 18:34:11 +00:00
vm_page.c Do not leave invalid pages in the object after the short read for a 2012-08-14 11:45:47 +00:00
vm_page.h Do not leave invalid pages in the object after the short read for a 2012-08-14 11:45:47 +00:00
vm_pageout.c Never sleep on busy pages in vm_pageout_launder(), always skip them. Long 2012-08-07 04:48:14 +00:00
vm_pageout.h Move what remains of vm/vm_contig.c into vm/vm_pageout.c, where similar 2012-07-18 05:21:34 +00:00
vm_pager.c vm_pager_object_lookup: small performance optimization 2012-05-23 12:51:49 +00:00
vm_pager.h Add new pager type, OBJT_MGTDEVICE. It provides the device pager 2012-05-12 20:49:58 +00:00
vm_param.h On Alan's advice, rather than do a wholesale conversion on a single 2010-04-30 00:46:43 +00:00
vm_phys.c Add a facility to register a range of physical addresses to be used 2012-05-12 20:42:56 +00:00
vm_phys.h Add a facility to register a range of physical addresses to be used 2012-05-12 20:42:56 +00:00
vm_reserv.c Correct an off-by-one error in vm_reserv_alloc_contig() that resulted in 2012-07-15 21:46:19 +00:00
vm_reserv.h Introduce vm_reserv_alloc_contig() and teach vm_page_alloc_contig() how to 2011-12-05 18:29:25 +00:00
vm_unix.c Control the execution permission of the readable segments for 2011-10-15 12:35:18 +00:00
vm_zeroidle.c Split P_NOLOAD into a per-thread flag (TDF_NOLOAD). 2009-11-03 16:46:52 +00:00
vm.h Add new pager type, OBJT_MGTDEVICE. It provides the device pager 2012-05-12 20:49:58 +00:00
vnode_pager.c Do not leave invalid pages in the object after the short read for a 2012-08-14 11:45:47 +00:00
vnode_pager.h Account the writeable shared mappings backed by file in the vnode 2012-02-23 21:07:16 +00:00