[GIT PULL] afs: Fix directory size handling

From: David Howells
Date: Tue May 02 2023 - 14:22:58 EST


Hi Linus,

Could you apply these three fixes to AFS directory handling?

(1) Make sure that afs_read_dir() sees any increase in file size if the
file unexpectedly changed on the server (e.g. due to another client
making a change).

(2) Make afs_getattr() always return the server's dir file size, not the
locally edited one, so that pagecache eviction doesn't cause the dir
file size to change unexpectedly.

(3) Prevent afs_read_dir() from getting into an endless loop if the server
indicates that the directory file size is larger than expected.

Thanks,
David
---
The following changes since commit 865fdb08197e657c59e74a35fa32362b12397f58:

Merge tag 'input-for-v6.4-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input (2023-05-01 17:18:56 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git tags/afs-fixes-20230502

for you to fetch changes up to 9ea4eff4b6f4f36546d537a74da44fd3f30903ab:

afs: Avoid endless loop if file is larger than expected (2023-05-02 17:23:50 +0100)

----------------------------------------------------------------
AFS fixes

----------------------------------------------------------------
David Howells (1):
afs: Fix getattr to report server i_size on dirs, not local size

Marc Dionne (2):
afs: Fix updating of i_size with dv jump from server
afs: Avoid endless loop if file is larger than expected

fs/afs/dir.c | 4 ++++
fs/afs/inode.c | 10 +++++++++-
2 files changed, 13 insertions(+), 1 deletion(-)