mirror of
https://github.com/Dasharo/linux.git
synced 2026-03-06 15:25:10 -08:00
Merge tag 'v6.14-rc2-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6
Pull smb client fix from Steve French: "SMB3 client multichannel fix" * tag 'v6.14-rc2-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6: cifs: pick channels for individual subrequests
This commit is contained in:
@@ -1508,7 +1508,6 @@ struct cifs_io_parms {
|
||||
struct cifs_io_request {
|
||||
struct netfs_io_request rreq;
|
||||
struct cifsFileInfo *cfile;
|
||||
struct TCP_Server_Info *server;
|
||||
pid_t pid;
|
||||
};
|
||||
|
||||
|
||||
@@ -147,7 +147,7 @@ static int cifs_prepare_read(struct netfs_io_subrequest *subreq)
|
||||
struct netfs_io_request *rreq = subreq->rreq;
|
||||
struct cifs_io_subrequest *rdata = container_of(subreq, struct cifs_io_subrequest, subreq);
|
||||
struct cifs_io_request *req = container_of(subreq->rreq, struct cifs_io_request, rreq);
|
||||
struct TCP_Server_Info *server = req->server;
|
||||
struct TCP_Server_Info *server;
|
||||
struct cifs_sb_info *cifs_sb = CIFS_SB(rreq->inode->i_sb);
|
||||
size_t size;
|
||||
int rc = 0;
|
||||
@@ -156,6 +156,8 @@ static int cifs_prepare_read(struct netfs_io_subrequest *subreq)
|
||||
rdata->xid = get_xid();
|
||||
rdata->have_xid = true;
|
||||
}
|
||||
|
||||
server = cifs_pick_channel(tlink_tcon(req->cfile->tlink)->ses);
|
||||
rdata->server = server;
|
||||
|
||||
if (cifs_sb->ctx->rsize == 0)
|
||||
@@ -198,7 +200,7 @@ static void cifs_issue_read(struct netfs_io_subrequest *subreq)
|
||||
struct netfs_io_request *rreq = subreq->rreq;
|
||||
struct cifs_io_subrequest *rdata = container_of(subreq, struct cifs_io_subrequest, subreq);
|
||||
struct cifs_io_request *req = container_of(subreq->rreq, struct cifs_io_request, rreq);
|
||||
struct TCP_Server_Info *server = req->server;
|
||||
struct TCP_Server_Info *server = rdata->server;
|
||||
int rc = 0;
|
||||
|
||||
cifs_dbg(FYI, "%s: op=%08x[%x] mapping=%p len=%zu/%zu\n",
|
||||
@@ -266,7 +268,6 @@ static int cifs_init_request(struct netfs_io_request *rreq, struct file *file)
|
||||
open_file = file->private_data;
|
||||
rreq->netfs_priv = file->private_data;
|
||||
req->cfile = cifsFileInfo_get(open_file);
|
||||
req->server = cifs_pick_channel(tlink_tcon(req->cfile->tlink)->ses);
|
||||
if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_RWPIDFORWARD)
|
||||
req->pid = req->cfile->pid;
|
||||
} else if (rreq->origin != NETFS_WRITEBACK) {
|
||||
|
||||
Reference in New Issue
Block a user