]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
NFS: fix eof updates after NFSv4.2 fallocate/zero-range
authorDai Ngo <dai.ngo@oracle.com>
Thu, 23 Apr 2026 17:52:10 +0000 (10:52 -0700)
committerAnna Schumaker <anna.schumaker@hammerspace.com>
Mon, 8 Jun 2026 14:21:55 +0000 (10:21 -0400)
commit35168eb947f230aaa35fd8416a30563ef89f5421
tree48c16146c9fe3a6169dcf230480c3e4936110360
parentf74ad9eee7221ca67fa489b44c3d065c54e65d4d
NFS: fix eof updates after NFSv4.2 fallocate/zero-range

Generic/075 reliably exposes a regression when the client holds an
NFSv4 write delegation: ZERO_RANGE/ALLOCATE extends the file on the
server, but the local inode keeps the old i_size. The test then fails
with 'Size error' because the post-op attribute refresh refuses to
touch i_size while a delegation is outstanding, and the cached EOF
was never marked stale.

Update _nfs42_proc_fallocate() so that on success it:

- bumps i_size when the operation extends the file, and
- marks NFS_INO_INVALID_BLOCKS since the block count can also change

Tested with xfstests generic/075 over NFSv4.2.

Signed-off-by: Dai Ngo <dai.ngo@oracle.com>
Signed-off-by: Anna Schumaker <anna.schumaker@hammerspace.com>
fs/nfs/nfs42proc.c