diff mbox series

cifs: Fix smb3_insert_range() to move the zero_point

Message ID 367856.1716367128@warthog.procyon.org.uk
State New
Headers show
Series cifs: Fix smb3_insert_range() to move the zero_point | expand

Commit Message

David Howells May 22, 2024, 8:38 a.m. UTC
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: Steve French <sfrench@samba.org>
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
---
 fs/smb/client/smb2ops.c |    1 +
 1 file changed, 1 insertion(+)

Comments

Steve French May 22, 2024, 9:27 a.m. UTC | #1
Added the patch to the test branch and rerunning tests on it now

http://smb311-linux-testing.southcentralus.cloudapp.azure.com/#/builders/3/builds/122

On Wed, May 22, 2024 at 3:39 AM David Howells <dhowells@redhat.com> wrote:
>
> 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: Steve French <sfrench@samba.org>
> 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
> ---
>  fs/smb/client/smb2ops.c |    1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/fs/smb/client/smb2ops.c b/fs/smb/client/smb2ops.c
> index ef18cd30f66c..b87b70edd0be 100644
> --- a/fs/smb/client/smb2ops.c
> +++ b/fs/smb/client/smb2ops.c
> @@ -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)
>
>
diff mbox series

Patch

diff --git a/fs/smb/client/smb2ops.c b/fs/smb/client/smb2ops.c
index ef18cd30f66c..b87b70edd0be 100644
--- a/fs/smb/client/smb2ops.c
+++ b/fs/smb/client/smb2ops.c
@@ -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)