@@ -177,15 +177,8 @@ static void cifs_req_issue_read(struct netfs_io_subrequest *subreq)
177
177
struct netfs_io_request * rreq = subreq -> rreq ;
178
178
struct cifs_io_subrequest * rdata = container_of (subreq , struct cifs_io_subrequest , subreq );
179
179
struct cifs_io_request * req = container_of (subreq -> rreq , struct cifs_io_request , rreq );
180
- struct cifs_sb_info * cifs_sb = CIFS_SB (rreq -> inode -> i_sb );
181
- pid_t pid ;
182
180
int rc = 0 ;
183
181
184
- if (cifs_sb -> mnt_cifs_flags & CIFS_MOUNT_RWPIDFORWARD )
185
- pid = req -> cfile -> pid ;
186
- else
187
- pid = current -> tgid ; // Ummm... This may be a workqueue
188
-
189
182
cifs_dbg (FYI , "%s: op=%08x[%x] mapping=%p len=%zu/%zu\n" ,
190
183
__func__ , rreq -> debug_id , subreq -> debug_index , rreq -> mapping ,
191
184
subreq -> transferred , subreq -> len );
@@ -199,7 +192,6 @@ static void cifs_req_issue_read(struct netfs_io_subrequest *subreq)
199
192
}
200
193
201
194
__set_bit (NETFS_SREQ_CLEAR_TAIL , & subreq -> flags );
202
- rdata -> pid = pid ;
203
195
204
196
rc = rdata -> server -> ops -> async_readv (rdata );
205
197
out :
@@ -236,12 +228,15 @@ static int cifs_init_request(struct netfs_io_request *rreq, struct file *file)
236
228
237
229
rreq -> rsize = cifs_sb -> ctx -> rsize ;
238
230
rreq -> wsize = cifs_sb -> ctx -> wsize ;
231
+ req -> pid = current -> tgid ; // Ummm... This may be a workqueue
239
232
240
233
if (file ) {
241
234
open_file = file -> private_data ;
242
235
rreq -> netfs_priv = file -> private_data ;
243
236
req -> cfile = cifsFileInfo_get (open_file );
244
237
req -> server = cifs_pick_channel (tlink_tcon (req -> cfile -> tlink )-> ses );
238
+ if (cifs_sb -> mnt_cifs_flags & CIFS_MOUNT_RWPIDFORWARD )
239
+ req -> pid = req -> cfile -> pid ;
245
240
} else if (rreq -> origin != NETFS_WRITEBACK ) {
246
241
WARN_ON_ONCE (1 );
247
242
return - EIO ;
0 commit comments