@@ -134,17 +134,15 @@ static void cifs_issue_write(struct netfs_io_subrequest *subreq)
134
134
static bool cifs_clamp_length (struct netfs_io_subrequest * subreq )
135
135
{
136
136
struct netfs_io_request * rreq = subreq -> rreq ;
137
- struct TCP_Server_Info * server ;
138
137
struct cifs_io_subrequest * rdata = container_of (subreq , struct cifs_io_subrequest , subreq );
139
138
struct cifs_io_request * req = container_of (subreq -> rreq , struct cifs_io_request , rreq );
139
+ struct TCP_Server_Info * server = req -> server ;
140
140
struct cifs_sb_info * cifs_sb = CIFS_SB (rreq -> inode -> i_sb );
141
141
size_t rsize = 0 ;
142
142
int rc ;
143
143
144
144
rdata -> xid = get_xid ();
145
145
rdata -> have_xid = true;
146
-
147
- server = cifs_pick_channel (tlink_tcon (req -> cfile -> tlink )-> ses );
148
146
rdata -> server = server ;
149
147
150
148
if (cifs_sb -> ctx -> rsize == 0 )
@@ -203,14 +201,7 @@ static void cifs_req_issue_read(struct netfs_io_subrequest *subreq)
203
201
__set_bit (NETFS_SREQ_CLEAR_TAIL , & subreq -> flags );
204
202
rdata -> pid = pid ;
205
203
206
- rc = adjust_credits (rdata -> server , & rdata -> credits , rdata -> subreq .len );
207
- if (!rc ) {
208
- if (rdata -> req -> cfile -> invalidHandle )
209
- rc = - EAGAIN ;
210
- else
211
- rc = rdata -> server -> ops -> async_readv (rdata );
212
- }
213
-
204
+ rc = rdata -> server -> ops -> async_readv (rdata );
214
205
out :
215
206
if (rc )
216
207
netfs_subreq_terminated (subreq , rc , false);
@@ -250,6 +241,7 @@ static int cifs_init_request(struct netfs_io_request *rreq, struct file *file)
250
241
open_file = file -> private_data ;
251
242
rreq -> netfs_priv = file -> private_data ;
252
243
req -> cfile = cifsFileInfo_get (open_file );
244
+ req -> server = cifs_pick_channel (tlink_tcon (req -> cfile -> tlink )-> ses );
253
245
} else if (rreq -> origin != NETFS_WRITEBACK ) {
254
246
WARN_ON_ONCE (1 );
255
247
return - EIO ;
0 commit comments