cifs: Fix smb3_insert_range() to move the zero_point
authorDavid Howells <dhowells@redhat.com>
Wed, 22 May 2024 08:38:48 +0000 (09:38 +0100)
committerSteve French <stfrench@microsoft.com>
Fri, 24 May 2024 21:04:36 +0000 (16:04 -0500)
Fix smb3_insert_range() to move the zero_point over to the new EOF.
Without this, generic/147 fails as reads of data beyond the old EOF point
return zeroes.

Fixes: 3ee1a1fc3981 ("cifs: Cut over to using netfslib")
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Shyam Prasad N <nspmangalore@gmail.com>
cc: Rohith Surabattula <rohiths.msft@gmail.com>
cc: Jeff Layton <jlayton@kernel.org>
cc: linux-cifs@vger.kernel.org
cc: netfs@lists.linux.dev
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/client/smb2ops.c

index ef18cd30f66c5a875f60f2d5fccda38c643c37b2..b87b70edd0be492b773eb0f6a2ebe981ef3e4ea4 100644 (file)
@@ -3636,6 +3636,7 @@ static long smb3_insert_range(struct file *file, struct cifs_tcon *tcon,
        rc = smb2_copychunk_range(xid, cfile, cfile, off, count, off + len);
        if (rc < 0)
                goto out_2;
+       cifsi->netfs.zero_point = new_eof;
 
        rc = smb3_zero_data(file, tcon, off, len, xid);
        if (rc < 0)