@@ -177,15 +177,8 @@ static void cifs_req_issue_read(struct netfs_io_subrequest *subreq)
177177 struct netfs_io_request * rreq = subreq -> rreq ;
178178 struct cifs_io_subrequest * rdata = container_of (subreq , struct cifs_io_subrequest , subreq );
179179 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 ;
182180 int rc = 0 ;
183181
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-
189182 cifs_dbg (FYI , "%s: op=%08x[%x] mapping=%p len=%zu/%zu\n" ,
190183 __func__ , rreq -> debug_id , subreq -> debug_index , rreq -> mapping ,
191184 subreq -> transferred , subreq -> len );
@@ -199,7 +192,6 @@ static void cifs_req_issue_read(struct netfs_io_subrequest *subreq)
199192 }
200193
201194 __set_bit (NETFS_SREQ_CLEAR_TAIL , & subreq -> flags );
202- rdata -> pid = pid ;
203195
204196 rc = rdata -> server -> ops -> async_readv (rdata );
205197out :
@@ -236,12 +228,15 @@ static int cifs_init_request(struct netfs_io_request *rreq, struct file *file)
236228
237229 rreq -> rsize = cifs_sb -> ctx -> rsize ;
238230 rreq -> wsize = cifs_sb -> ctx -> wsize ;
231+ req -> pid = current -> tgid ; // Ummm... This may be a workqueue
239232
240233 if (file ) {
241234 open_file = file -> private_data ;
242235 rreq -> netfs_priv = file -> private_data ;
243236 req -> cfile = cifsFileInfo_get (open_file );
244237 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 ;
245240 } else if (rreq -> origin != NETFS_WRITEBACK ) {
246241 WARN_ON_ONCE (1 );
247242 return - EIO ;
0 commit comments