freebsd-dev/sys
Kirk McKusick 513274c79c Clear the IN_SIZEMOD and IN_IBLKDATA flags only when doing a
synchronous inode update.

The IN_SIZEMOD and IN_IBLKDATA flags indicate changes to the
file size and block pointer fields in the inode. When these
fields have been changed, the fsync() and fsyncdata() system
calls must write the inode to ensure their semantics that the
file is on stable store.

The IN_SIZEMOD and IN_IBLKDATA flags cannot be cleared until
a synchronous write of the inode is done. If they are cleared
on an asynchronous write, then the inode may not yet have been
written to the disk when an fsync() or fsyncdata() call is done.
Absent these flags, these calls would not know that they needed
to write the inode. Thus, these flags only can be cleared on
synchronous writes of the inode. Since the inode will be locked
for the duration of the I/O that writes it to disk, no fsync()
or fsyncdata() will be able to run before the on-disk inode
is complete.

Reviewed by: kib
MFC with: -r361785
Differential revision:  https://reviews.freebsd.org/D25072
2020-06-06 20:17:56 +00:00
..
amd64 Handle getcpu() calls in vsyscall emulation on amd64. 2020-05-31 18:20:20 +00:00
arm Remove remnant of arm's ELF trampoline 2020-05-31 14:43:04 +00:00
arm64 Remove remnant of arm's ELF trampoline 2020-05-31 14:43:04 +00:00
bsm bsm: add AUE_CLOSERANGE 2020-04-24 01:27:25 +00:00
cam Add a tunable for the nvd symlink creation. 2020-06-06 06:21:15 +00:00
cddl Fix entering KDB with dtrace-enabled kernel. 2020-05-26 16:44:05 +00:00
compat Ensure pci_channel_offline() actually queries the PCI register space, 2020-06-05 08:12:08 +00:00
conf powerpc: Use IFUNCs for copyin/copyout/etc 2020-06-06 03:09:12 +00:00
contrib Document upgrade procedure in FREEBSD-upgrade 2020-06-04 20:48:57 +00:00
crypto Rename skein_block_asm.s to .S and assemble using Clang IAS 2020-06-06 00:35:41 +00:00
ddb kernel: provide panicky version of __unreachable 2020-05-13 18:07:37 +00:00
dev Add bunch of HDA controller and codec IDs. 2020-06-05 15:06:58 +00:00
dts Remove licenses 2020-06-04 17:20:58 +00:00
fs tmpfs: Preserve alignment of struct fid fields 2020-06-03 09:38:51 +00:00
gdb Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
geom Revert r361838 2020-06-06 14:19:16 +00:00
gnu dts: patch the am33xx dts for upcoming clock support 2020-06-05 20:14:54 +00:00
i386 Fix boot on systems where NUMA domain 0 is unpopulated. 2020-05-28 19:41:00 +00:00
isa sc(4) md bits: stop setting sc->kbd entirely 2019-12-30 02:07:55 +00:00
kern Fix hang due to missing unbusy in sendfile when an async data I/O fails. 2020-06-06 00:02:50 +00:00
kgssapi Add support for optional separate output buffers to in-kernel crypto. 2020-05-25 22:12:04 +00:00
libkern libkern: Add arc4random_uniform 2020-05-23 17:51:06 +00:00
mips [mips] fix up the assembly generation of unaligned exception loads 2020-05-29 00:05:43 +00:00
modules Rename skein_block_asm.s to .S and assemble using Clang IAS 2020-06-06 00:35:41 +00:00
net Refer to AES-CBC as "aes-cbc" rather than "rijndael-cbc" for IPsec. 2020-06-04 22:58:37 +00:00
net80211 [net80211] Fix this typo! 2020-06-06 06:17:51 +00:00
netgraph Fix check for wMaxPacketSize in USB bluetooth driver, 2020-05-28 08:41:18 +00:00
netinet Non-functional changes due to cleanup (upstream removing of Panda support) 2020-06-06 18:20:09 +00:00
netinet6 Fix typo in previous commit 2020-06-03 17:26:00 +00:00
netipsec Consistently include opt_ipsec.h for consumers of <netipsec/ipsec.h>. 2020-05-29 19:22:40 +00:00
netpfil ipfw: unbreak matching with big table type flow. 2020-06-04 14:15:39 +00:00
netsmb Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
nfs Use epoch(9) for rtentries to simplify control plane operations. 2020-05-23 10:21:02 +00:00
nfsclient
nfsserver
nlm Make nfslockd depend on xdr. 2020-04-23 09:37:22 +00:00
ofed Convert OFED rtable interactions to the new routing KPI. 2020-04-15 13:06:55 +00:00
opencrypto Use separate output buffers for OCF requests in KTLS. 2020-06-04 20:12:34 +00:00
powerpc powerpc: Fix nits in copyinout comments from r361861 2020-06-06 18:56:40 +00:00
riscv Remove remnant of arm's ELF trampoline 2020-05-31 14:43:04 +00:00
rpc Add the .h file that describes the operations for the rpctls_syscall. 2020-05-31 01:12:52 +00:00
security Deduplicate fsid comparisons 2020-05-21 01:55:35 +00:00
sys vfs: add restrictions to read(2) of a directory [2/2] 2020-06-04 18:17:25 +00:00
teken
tests Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many) 2020-02-26 14:26:36 +00:00
tools vfs: stop null checking routines in vop wrappers 2020-01-26 00:41:38 +00:00
ufs Clear the IN_SIZEMOD and IN_IBLKDATA flags only when doing a 2020-06-06 20:17:56 +00:00
vm Don't mark pages as valid if reading the contents from disk fails. 2020-06-06 00:47:59 +00:00
x86 Remove unnecessary WITNESS check in x86 bus_dma 2020-06-03 00:16:36 +00:00
xdr Split XDR into separate kernel module. Make krpc depend on xdr. 2020-04-17 06:04:20 +00:00
xen Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (16 of many) 2020-02-25 19:04:39 +00:00
Makefile Remove sparc64 kernel support 2020-02-03 17:35:11 +00:00