freebsd-nq/sys
Conrad Meyer aaa3852435 buf: Add B_INVALONERR flag to discard data
Setting the B_INVALONERR flag before a synchronous write causes the buf
cache to forcibly invalidate contents if the write fails (BIO_ERROR).

This is intended to be used to allow layers above the buffer cache to make
more informed decisions about when discarding dirty buffers without
successful write is acceptable.

As a proof of concept, use in msdosfs to handle failures to mark the on-disk
'dirty' bit during rw mount or ro->rw update.

Extending this to other filesystems is left as future work.

PR:		210316
Reviewed by:	kib (with objections)
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D21539
2019-09-11 21:24:14 +00:00
..
amd64 Update comments and ordering in linux*_dummy.c 2019-09-11 17:56:48 +00:00
arm In am335x_dmtpps, use a spin mutex to interlock between PPS capture and PPS 2019-09-10 22:08:34 +00:00
arm64 Update comments and ordering in linux*_dummy.c 2019-09-11 17:56:48 +00:00
bsm Create new EINTEGRITY error with message "Integrity check failed". 2019-01-17 06:35:45 +00:00
cam Fix assumptions of only one device per SES slot. 2019-09-11 03:25:30 +00:00
cddl Replace redundant code with a few new vm_page_grab facilities: 2019-09-10 19:08:01 +00:00
compat linux: add trivial renameat2 implementation 2019-09-11 13:01:59 +00:00
conf riscv: Ensure that BSS is 8-byte aligned 2019-09-09 15:57:24 +00:00
contrib Change synchonization rules for vm_page reference counting. 2019-09-09 21:32:42 +00:00
crypto Stop using des_cblock * for arguments to DES functions. 2019-08-26 17:25:07 +00:00
ddb ddb(4): Add some support for lexing IPv6 addresses 2019-09-09 16:32:23 +00:00
dev Replace redundant code with a few new vm_page_grab facilities: 2019-09-10 19:08:01 +00:00
dts dtso: allwinner: Add an overlay for H3 thermal node 2019-08-24 13:26:34 +00:00
fs buf: Add B_INVALONERR flag to discard data 2019-09-11 21:24:14 +00:00
gdb gdb(4): Root a sysctl tree at 'debug.gdb.' 2019-09-08 22:52:47 +00:00
geom Allow more nesting of GEOM partitioning schemes 2019-09-03 20:57:20 +00:00
gnu arm: dts: am33xx: Fix the region for uart0 2019-08-07 13:11:53 +00:00
i386 Update comments and ordering in linux*_dummy.c 2019-09-11 17:56:48 +00:00
isa
kern buf: Add B_INVALONERR flag to discard data 2019-09-11 21:24:14 +00:00
kgssapi Stop using des_cblock * for arguments to DES functions. 2019-08-26 17:25:07 +00:00
libkern Remove zlib 1.0.4 from kernel. 2019-08-25 17:13:00 +00:00
mips Change synchonization rules for vm_page reference counting. 2019-09-09 21:32:42 +00:00
modules Add kernel-side support for in-kernel TLS. 2019-08-27 00:01:56 +00:00
net Callout drain does not have to be followed by a callout stop call. 2019-09-10 14:33:07 +00:00
net80211 Enhance the comment ieee80211_add_channel() to avoid a 2019-06-10 14:31:18 +00:00
netgraph avoid holding PCB mutex during copyin/copyout() 2019-08-30 16:35:31 +00:00
netinet Avoid unneeded call to arc4random() in syncache_add() 2019-09-11 18:48:26 +00:00
netinet6 Add kernel-side support for in-kernel TLS. 2019-08-27 00:01:56 +00:00
netipsec Fix broken window replay check that will allow old packet to be accepted. 2019-09-06 14:30:23 +00:00
netpfil Fix rule truncation on external action module unloading. 2019-08-15 13:44:33 +00:00
netsmb Stop using des_cblock * for arguments to DES functions. 2019-08-26 17:25:07 +00:00
nfs
nfsclient
nfsserver
nlm
ofed OFED: Fix accidental double-copy of rdma_sdp.h in r351176 2019-08-18 04:19:41 +00:00
opencrypto Adjust the deprecated warnings for /dev/crypto to be less noisy. 2019-08-27 21:29:37 +00:00
powerpc Change synchonization rules for vm_page reference counting. 2019-09-09 21:32:42 +00:00
riscv riscv: Add missing header 2019-09-11 18:07:15 +00:00
rpc Avoid relying on header pollution from sys/refcount.h. 2019-07-29 20:26:01 +00:00
security vm_map_simplify_entry considers merging an entry with its two 2019-08-25 07:06:51 +00:00
sparc64 Change synchonization rules for vm_page reference counting. 2019-09-09 21:32:42 +00:00
sys buf: Add B_INVALONERR flag to discard data 2019-09-11 21:24:14 +00:00
teken Adjust teken to allow build as part of loader 2019-09-05 18:07:40 +00:00
tests Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
tools fw_stub.awk: use @generated tag in generated files 2019-09-11 13:35:22 +00:00
ufs Remove some unneeded vfs_busy() calls in SU code. 2019-09-09 11:22:38 +00:00
vm Replace redundant code with a few new vm_page_grab facilities: 2019-09-10 19:08:01 +00:00
x86 Move phys_avail definition into MI code. It is consumed in the MI layer and 2019-08-16 00:45:14 +00:00
xdr
xen xen: introduce a new way to setup event channel upcall 2019-01-30 11:34:52 +00:00
Makefile