freebsd-dev/sys/vm
Konstantin Belousov 19efd8a5a8 In vgonel(), postpone setting BO_DEAD until VOP_RECLAIM() is called,
if vnode is VMIO.  For VMIO vnodes, set BO_DEAD in vm_object_terminate().

The vnode_destroy_object(), when calling into vm_object_terminate(),
must be able to flush buffers.  BO_DEAD purpose is to quickly destroy
buffers on write when the underlying vnode is not operable any more
(one example is the devfs node after geom is gone).  Setting BO_DEAD
for reclaiming vnode before object is terminated is premature, and
results in unability to flush buffers with live SU dependencies from
vinvalbuf() in vm_object_terminate().

Reported by:	David Cross <dcrosstech@gmail.com>
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
2016-07-11 14:19:09 +00:00
..
_vm_radix.h
default_pager.c
device_pager.c
memguard.c
memguard.h
phys_pager.c
pmap.h
redzone.c
redzone.h
sg_pager.c
swap_pager.c Fix inconsistent locking of the swap pager named objects list. 2016-06-13 03:42:46 +00:00
swap_pager.h
uma_core.c Replace a number of conflations of mp_ncpus and mp_maxid with either 2016-07-06 14:09:49 +00:00
uma_dbg.c
uma_dbg.h
uma_int.h Autotune the number of pages set aside for UMA startup based on the number 2016-07-07 18:37:12 +00:00
uma.h Replace a number of conflations of mp_ncpus and mp_maxid with either 2016-07-06 14:09:49 +00:00
vm_domain.c
vm_domain.h
vm_extern.h
vm_fault.c Change the type of the map entry's next_read field from a vm_pindex_t to a 2016-07-07 20:58:16 +00:00
vm_glue.c Fix a LOR between vnode locks and allproc_lock. 2016-06-22 20:15:37 +00:00
vm_init.c
vm_kern.c
vm_kern.h
vm_map.c Change the type of the map entry's next_read field from a vm_pindex_t to a 2016-07-07 20:58:16 +00:00
vm_map.h Change the type of the map entry's next_read field from a vm_pindex_t to a 2016-07-07 20:58:16 +00:00
vm_meter.c The vmtotal sysctl handler marks active vm objects to calculate 2016-06-21 17:49:33 +00:00
vm_mmap.c When mmap(2) is used with a vnode, capture vnode attributes in the 2016-07-10 11:49:10 +00:00
vm_object.c In vgonel(), postpone setting BO_DEAD until VOP_RECLAIM() is called, 2016-07-11 14:19:09 +00:00
vm_object.h The vmtotal sysctl handler marks active vm objects to calculate 2016-06-21 17:49:33 +00:00
vm_page.c Autotune the number of pages set aside for UMA startup based on the number 2016-07-07 18:37:12 +00:00
vm_page.h Add a comment noting locking regime for vm_page_xunbusy(). 2016-06-23 08:27:38 +00:00
vm_pageout.c Fix a LOR between vnode locks and allproc_lock. 2016-06-22 20:15:37 +00:00
vm_pageout.h
vm_pager.c
vm_pager.h
vm_param.h
vm_phys.c
vm_phys.h
vm_radix.c
vm_radix.h
vm_reserv.c
vm_reserv.h
vm_unix.c
vm_zeroidle.c
vm.h
vnode_pager.c Clarify the vnode_destroy_vobject() logic handling for already terminated 2016-07-05 11:21:02 +00:00
vnode_pager.h