Loading fs/cifs/file.c +18 −2 Original line number Diff line number Diff line Loading @@ -2803,10 +2803,18 @@ cifs_resend_wdata(struct cifs_writedata *wdata, struct list_head *wdata_list, if (!rc) { if (wdata->cfile->invalidHandle) rc = -EAGAIN; else else { #ifdef CONFIG_CIFS_SMB_DIRECT if (wdata->mr) { wdata->mr->need_invalidate = true; smbd_deregister_mr(wdata->mr); wdata->mr = NULL; } #endif rc = server->ops->async_writev(wdata, cifs_uncached_writedata_release); } } /* If the write was successfully sent, we are done */ if (!rc) { Loading Loading @@ -3528,9 +3536,17 @@ static int cifs_resend_rdata(struct cifs_readdata *rdata, if (!rc) { if (rdata->cfile->invalidHandle) rc = -EAGAIN; else else { #ifdef CONFIG_CIFS_SMB_DIRECT if (rdata->mr) { rdata->mr->need_invalidate = true; smbd_deregister_mr(rdata->mr); rdata->mr = NULL; } #endif rc = server->ops->async_readv(rdata); } } /* If the read was successfully sent, we are done */ if (!rc) { Loading Loading
fs/cifs/file.c +18 −2 Original line number Diff line number Diff line Loading @@ -2803,10 +2803,18 @@ cifs_resend_wdata(struct cifs_writedata *wdata, struct list_head *wdata_list, if (!rc) { if (wdata->cfile->invalidHandle) rc = -EAGAIN; else else { #ifdef CONFIG_CIFS_SMB_DIRECT if (wdata->mr) { wdata->mr->need_invalidate = true; smbd_deregister_mr(wdata->mr); wdata->mr = NULL; } #endif rc = server->ops->async_writev(wdata, cifs_uncached_writedata_release); } } /* If the write was successfully sent, we are done */ if (!rc) { Loading Loading @@ -3528,9 +3536,17 @@ static int cifs_resend_rdata(struct cifs_readdata *rdata, if (!rc) { if (rdata->cfile->invalidHandle) rc = -EAGAIN; else else { #ifdef CONFIG_CIFS_SMB_DIRECT if (rdata->mr) { rdata->mr->need_invalidate = true; smbd_deregister_mr(rdata->mr); rdata->mr = NULL; } #endif rc = server->ops->async_readv(rdata); } } /* If the read was successfully sent, we are done */ if (!rc) { Loading