mirror of
https://github.com/opnsense/src.git
synced 2026-03-18 16:52:21 -04:00
vm_object_pip_{add,subtract}() on the swap object because the swap
object can't be destroyed while the vnode is exclusively locked.
Moreover, even if the swap object could have been destroyed during
tmpfs_nocacheread() and tmpfs_mappedwrite() this code is broken
because vm_object_pip_subtract() does not wake up the sleeping thread
that is trying to destroy the swap object.
Free invalid pages after an I/O error. There is no virtue in keeping
them around in the swap object creating more work for the page daemon.
(I believe that any non-busy page in the swap object will now always
be valid.)
vm_pager_get_pages() does not return a standard errno, so its return
value should not be returned by tmpfs without translation to an errno
value.
There is no reason for the wakeup on vpg in tmpfs_mappedwrite() to
occur with the swap object locked.
Eliminate printf()s from tmpfs_nocacheread() and tmpfs_mappedwrite().
(The swap pager already spam your console if data corruption is
imminent.)
Reviewed by: kib
MFC after: 3 weeks
|
||
|---|---|---|
| .. | ||
| tmpfs.h | ||
| tmpfs_fifoops.c | ||
| tmpfs_fifoops.h | ||
| tmpfs_subr.c | ||
| tmpfs_vfsops.c | ||
| tmpfs_vnops.c | ||
| tmpfs_vnops.h | ||