FreeBSD/src 6fd5835 (r352457)sys/fs/nfsclient nfs_clport.c

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 at amail.plala.or.jp>
Discussed with: rmacklem (related issues)
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
DeltaFile
+22-19sys/fs/nfsclient/nfs_clport.c
+22-191 files

UnifiedSplitRaw