This patch is already merged into mainline. On Mon, Jun 23, 2025 at 7:50 AM David Howells <dhowells@xxxxxxxxxx> wrote: > > Fix cifs_prepare_write() to negotiate the wsize if it is unset. > > Fixes: 69c3c023af25 ("cifs: Implement netfslib hooks") > Signed-off-by: David Howells <dhowells@xxxxxxxxxx> > Reviewed-by: Paulo Alcantara <pc@xxxxxxxxxxxxx> > cc: Steve French <sfrench@xxxxxxxxx> > cc: netfs@xxxxxxxxxxxxxxx > cc: linux-fsdevel@xxxxxxxxxxxxxxx > cc: linux-cifs@xxxxxxxxxxxxxxx > --- > fs/smb/client/file.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/fs/smb/client/file.c b/fs/smb/client/file.c > index 9835672267d2..e9212da32f01 100644 > --- a/fs/smb/client/file.c > +++ b/fs/smb/client/file.c > @@ -52,6 +52,7 @@ static void cifs_prepare_write(struct netfs_io_subrequest *subreq) > struct netfs_io_stream *stream = &req->rreq.io_streams[subreq->stream_nr]; > struct TCP_Server_Info *server; > struct cifsFileInfo *open_file = req->cfile; > + struct cifs_sb_info *cifs_sb = CIFS_SB(wdata->rreq->inode->i_sb); > size_t wsize = req->rreq.wsize; > int rc; > > @@ -63,6 +64,10 @@ static void cifs_prepare_write(struct netfs_io_subrequest *subreq) > server = cifs_pick_channel(tlink_tcon(open_file->tlink)->ses); > wdata->server = server; > > + if (cifs_sb->ctx->wsize == 0) > + cifs_negotiate_wsize(server, cifs_sb->ctx, > + tlink_tcon(req->cfile->tlink)); > + > retry: > if (open_file->invalidHandle) { > rc = cifs_reopen_file(open_file, false); > @@ -160,10 +165,9 @@ static int cifs_prepare_read(struct netfs_io_subrequest *subreq) > server = cifs_pick_channel(tlink_tcon(req->cfile->tlink)->ses); > rdata->server = server; > > - if (cifs_sb->ctx->rsize == 0) { > + if (cifs_sb->ctx->rsize == 0) > cifs_negotiate_rsize(server, cifs_sb->ctx, > tlink_tcon(req->cfile->tlink)); > - } > > rc = server->ops->wait_mtu_credits(server, cifs_sb->ctx->rsize, > &size, &rdata->credits); > > -- Thanks, Steve