freebsd-skq/sys
kib 4853d54461 tmpfs: plug holes on rw->ro mount update.
In particular:
- suspend the mount around vflush() to avoid new writes come after the
  vnode is processed;
- flush pending metadata updates (mostly node times);
- remap all rw mappings of files from the mount into ro.

It is not clear to me how to handle writeable mappings on rw->ro for
tmpfs best.  Other filesystems, which use vnode vm object, call
vgone() on vnodes with writers, which sets the vm object type to
OBJT_DEAD, and keep the resident pages and installed ptes as is.  In
particular, the existing mappings continue to work as far as
application only accesses resident pages, but changes are not flushed
to file.

For tmpfs the vm object of VREG vnodes also serves as the data pages
container, giving single copy of the mapped pages, so it cannot be set
to OBJT_DEAD.  Alternatives for making rw mappings ro could be either
invalidating them at all, or marking as CoW.

Tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D19737
2019-04-02 13:59:04 +00:00
..
amd64 Merge ACPICA 20190329. 2019-03-29 20:21:28 +00:00
arm Use information about max data size that the controller is able to operate 2019-04-01 18:49:39 +00:00
arm64 Merge ACPICA 20190329. 2019-03-29 20:21:28 +00:00
bsm Create new EINTEGRITY error with message "Integrity check failed". 2019-01-17 06:35:45 +00:00
cam Refactor error handling 2019-04-01 18:54:15 +00:00
cddl If the autoexpand pool property is turned on and vdev is healthy try to 2019-03-30 07:29:20 +00:00
compat freebsd32: fix padding of computed control message length for recvmsg() 2019-03-30 23:43:58 +00:00
conf NOTES: Use non-default value for BOOT_TAG 2019-03-29 04:00:46 +00:00
contrib Merge ACPICA 20190329. 2019-03-29 20:21:28 +00:00
crypto Embedded chacha: Add 0-bit iv + 128-bit counter mode 2019-03-01 23:30:23 +00:00
ddb ddb: Print the thread's pcb in 'show thread' 2019-02-09 21:08:19 +00:00
dev ipmi: Fixes for ipmi_opal(powernv) 2019-04-02 04:12:06 +00:00
dts Adapt FreeBSD specific DT stub for Jetson TK1 board to be consistent with 2019-02-06 06:03:44 +00:00
fs tmpfs: plug holes on rw->ro mount update. 2019-04-02 13:59:04 +00:00
gdb
geom Introduce new event SIZECHANGE within GEOM system to inform about GEOM 2019-03-30 07:24:34 +00:00
gnu Correct my previous correction to the license. It now matches the text 2019-03-07 22:34:45 +00:00
i386 Merge ACPICA 20190329. 2019-03-29 20:21:28 +00:00
isa
kern Fix branding after r345661. 2019-03-30 16:58:51 +00:00
kgssapi * Handle SIGPIPE in gssd 2019-02-21 01:30:37 +00:00
libkern Add non-sleepable strdup variant strdup_flags 2019-02-20 20:48:10 +00:00
mips The Atheros AR7241 has 20 GPIO pins 2019-03-25 07:48:52 +00:00
modules Fix make in sys/modules 2019-03-28 08:59:11 +00:00
net Do not perform DAD on stf(4) interfaces. 2019-03-30 18:00:44 +00:00
net80211 net80211: correct check for SMPS node flags updates 2019-03-18 02:40:22 +00:00
netgraph Remove 'dir' argument in ng_ipfw_input, since ip_fw_args now has this info. 2019-03-14 22:30:05 +00:00
netinet tcp_autorcvbuf_inc was removed in r344433. 2019-03-29 21:39:47 +00:00
netinet6 Do not perform DAD on stf(4) interfaces. 2019-03-30 18:00:44 +00:00
netipsec Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
netpfil pf: use UID_ROOT and GID_WHEEL named constants in make_dev 2019-03-26 21:20:42 +00:00
netsmb Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
nfs
nfsclient
nfsserver
nlm
ofed Mechanical cleanup of epoch(9) usage in network stack. 2019-01-09 01:11:19 +00:00
opencrypto Fix another bug introduced during the review process of r344140: 2019-02-25 19:14:16 +00:00
powerpc powernv: Port OPAL asynchronous framework to use the new message framework 2019-04-02 04:02:57 +00:00
riscv o Grab the number of devices supported by PLIC from FDT. 2019-04-02 12:02:35 +00:00
rpc Bump the default kern.rpc.gss.client_max from 128 to 1024. 2019-02-19 11:07:02 +00:00
security Create new EINTEGRITY error with message "Integrity check failed". 2019-01-17 06:35:45 +00:00
sparc64 amd64 KPTI: add control from procctl(2). 2019-03-16 11:44:33 +00:00
sys Revert change accidentally committed along with r345625 2019-03-28 10:56:27 +00:00
teken Attempt to complete fixing programmable function keys for syscons. 2019-02-20 02:14:41 +00:00
tests Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
tools make_dtb.sh: Use $CPP instead of assuming that cpp is in $PATH 2018-12-14 23:53:28 +00:00
ufs This is an additional and hopefully final fix for bug report 230962. 2019-03-20 23:11:05 +00:00
vm Eliminate adj_free field from vm_map_entry. 2019-03-29 16:53:46 +00:00
x86 Use the BUS_DMA_NOWRITE flag to expose and create the read-only VT-d 2019-03-27 20:15:51 +00:00
xdr
xen xen: introduce a new way to setup event channel upcall 2019-01-30 11:34:52 +00:00
Makefile