freebsd-skq/usr.sbin/makefs/msdos
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
..
direntry.h makefs: diff reduction to sys/fs/msdosfs 2019-08-22 17:49:34 +00:00
Makefile.inc makefs: share fat.h between kernel msdosfs and makefs 2019-08-21 02:21:40 +00:00
msdosfs_conv.c makefs: share msdosfsmount.h between kernel msdosfs and makefs 2019-09-01 16:55:33 +00:00
msdosfs_denode.c buf: Add B_INVALONERR flag to discard data 2019-09-11 21:24:14 +00:00
msdosfs_fat.c buf: Add B_INVALONERR flag to discard data 2019-09-11 21:24:14 +00:00
msdosfs_lookup.c buf: Add B_INVALONERR flag to discard data 2019-09-11 21:24:14 +00:00
msdosfs_vfsops.c buf: Add B_INVALONERR flag to discard data 2019-09-11 21:24:14 +00:00
msdosfs_vnops.c buf: Add B_INVALONERR flag to discard data 2019-09-11 21:24:14 +00:00