]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
afs: Fix updating of i_size with dv jump from server
authorMarc Dionne <marc.dionne@auristor.com>
Fri, 2 Dec 2022 14:07:01 +0000 (10:07 -0400)
committerDavid Howells <dhowells@redhat.com>
Tue, 2 May 2023 16:08:18 +0000 (17:08 +0100)
If the data version returned from the server is larger than expected,
the local data is invalidated, but we may still want to note the remote
file size.

Since we're setting change_size, we have to also set data_changed
for the i_size to get updated.

Fixes: 3f4aa9818163 ("afs: Fix EOF corruption")
Signed-off-by: Marc Dionne <marc.dionne@auristor.com>
Signed-off-by: David Howells <dhowells@redhat.com>
cc: linux-afs@lists.infradead.org

fs/afs/inode.c

index b1bdffd5e888418fe6da4dce5f547498e9d75476..82edd3351734f6acb44642e0b1fca916181a7679 100644 (file)
@@ -230,6 +230,7 @@ static void afs_apply_status(struct afs_operation *op,
                        set_bit(AFS_VNODE_ZAP_DATA, &vnode->flags);
                }
                change_size = true;
+               data_changed = true;
        } else if (vnode->status.type == AFS_FTYPE_DIR) {
                /* Expected directory change is handled elsewhere so
                 * that we can locally edit the directory and save on a