freebsd-src/sys/fs
Konstantin Belousov 6fd583583b Further refine r352393, only call vnode_pager_setsize() outside the
node lock when shrinking.

This is similar to r252528, applied to the above commit.

Apparently there is a race which makes necessary at least to keep the
n_size and pager size consistent when extending.  Current suspect is
that iod threads perform vnode_pager_setsize() without taking the
vnode lock, which corrupts the file content.

Reported and tested by:	Masachika ISHIZUKA <ish@amail.plala.or.jp>
Discussed with:	rmacklem (related issues)
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2019-09-17 18:41:39 +00:00
..
autofs Ensure that directory entry padding bytes are zeroed. 2018-11-23 22:24:59 +00:00
cd9660 cd9660: Remove redundant brelse() after r294954 2019-09-06 08:07:36 +00:00
cuse Free all allocated unit IDs in cuse(3) after the client character 2019-06-25 11:46:01 +00:00
deadfs Switch to use shared vnode locks for text files during image activation. 2019-05-05 11:20:43 +00:00
devfs Rework v_object lifecycle for vnodes. 2019-08-29 07:50:25 +00:00
ext2fs ext2fs: Remove redundant brelse() after r294954 2019-09-06 08:07:12 +00:00
fdescfs Ensure that directory entry padding bytes are zeroed. 2018-11-23 22:24:59 +00:00
fifofs fcntl: fix overflow when setting F_READAHEAD 2019-06-20 23:07:20 +00:00
fuse Fix an off-by-one error from r351961 2019-09-16 16:41:01 +00:00
msdosfs buf: Add B_INVALONERR flag to discard data 2019-09-11 21:24:14 +00:00
nfs Delete the unused "nd" argument for nfsrv_checkdsattr(). 2019-09-04 22:37:28 +00:00
nfsclient Further refine r352393, only call vnode_pager_setsize() outside the 2019-09-17 18:41:39 +00:00
nfsserver Delete the unused "nd" argument for nfsrv_proxyds(). 2019-09-05 22:25:19 +00:00
nullfs nullfs: reduce areas protected by vnode interlock in null_lock 2019-09-01 02:52:00 +00:00
procfs Plug memory disclosures via ptrace(2). 2018-12-03 20:54:17 +00:00
pseudofs Make pseudofs(9) create directory entries in order, instead 2019-09-14 19:16:07 +00:00
smbfs Rework v_object lifecycle for vnodes. 2019-08-29 07:50:25 +00:00
tmpfs vfs: convert struct mount counters to per-cpu 2019-09-16 21:37:47 +00:00
udf Rework v_object lifecycle for vnodes. 2019-08-29 07:50:25 +00:00
unionfs vfs: add VOP_NEED_INACTIVE 2019-08-28 20:34:24 +00:00