freebsd-skq/usr.sbin/makefs
cem 47701ffd1e 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
..
cd9660 makefs: ANSIfy 2018-05-16 02:58:05 +00:00
ffs makefs: share denode.h between kernel msdosfs and makefs 2019-08-21 19:07:13 +00:00
msdos buf: Add B_INVALONERR flag to discard data 2019-09-11 21:24:14 +00:00
tests makefs: Fix "time" mtree attribute handling 2019-03-18 19:26:36 +00:00
cd9660.c Synchronise with NetBSD's version of EFI handling for El Torito images. 2018-03-31 15:04:41 +00:00
cd9660.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
ffs.c Improve error handling: bail out if one of the files scheduled 2019-02-25 23:45:36 +00:00
ffs.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
Makefile makefs: add msdosfs (FAT) support 2019-08-20 18:20:45 +00:00
Makefile.depend DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
makefs.8 makefs.8: update history 2019-08-20 21:14:44 +00:00
makefs.c makefs: add msdosfs (FAT) support 2019-08-20 18:20:45 +00:00
makefs.h makefs: add msdosfs (FAT) support 2019-08-20 18:20:45 +00:00
msdos.c makefs: share msdosfsmount.h between kernel msdosfs and makefs 2019-09-01 16:55:33 +00:00
msdos.h Properly update FSInfo block after generation. 2019-08-23 05:23:45 +00:00
mtree.c makefs: Fix "time" mtree attribute handling 2019-03-18 19:26:36 +00:00
walk.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00