In osp_send_update_req() detect an unsent request by checking
rq_queued_time == 0 rather than rq_set == NULL, which is always true
after returning from ptlrpc_queue_wait().
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: Ief959b71600157a9c3521775cc06994326e50c51
Reviewed-on: https://review.whamcloud.com/30083
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
rc = ptlrpc_queue_wait(req);
if (osp->opd_connect_mdt)
osp_put_rpc_lock(osp);
- if ((rc == -ENOMEM && req->rq_set == NULL) ||
+
+ /* We use rq_queued_time to distinguish between local
+ * and remote -ENOMEM. */
+ if ((rc == -ENOMEM && req->rq_queued_time == 0) ||
(req->rq_transno == 0 && !req->rq_committed)) {
if (args->oaua_update != NULL) {
/* If osp_update_interpret is not being called,