Whamcloud - gitweb
LU-1517 ptlrpc: throw net error to ptlrpc for bulk
[fs/lustre-release.git] / lustre / ptlrpc / ptlrpcd.c
index a0eba5f..861e3cd 100644 (file)
@@ -103,6 +103,7 @@ void ptlrpcd_wake(struct ptlrpc_request *req)
 
         cfs_waitq_signal(&rq_set->set_waitq);
 }
+EXPORT_SYMBOL(ptlrpcd_wake);
 
 static struct ptlrpcd_ctl *
 ptlrpcd_select_pc(struct ptlrpc_request *req, pdl_policy_t policy, int index)
@@ -238,6 +239,9 @@ void ptlrpcd_add_req(struct ptlrpc_request *req, pdl_policy_t policy, int idx)
 {
         struct ptlrpcd_ctl *pc;
 
+       if (req->rq_reqmsg)
+               lustre_msg_set_jobid(req->rq_reqmsg, NULL);
+
         cfs_spin_lock(&req->rq_lock);
         if (req->rq_invalid_rqset) {
                 struct l_wait_info lwi = LWI_TIMEOUT(cfs_time_seconds(5),
@@ -268,6 +272,7 @@ void ptlrpcd_add_req(struct ptlrpc_request *req, pdl_policy_t policy, int idx)
 
         ptlrpc_set_add_new_req(pc, req);
 }
+EXPORT_SYMBOL(ptlrpcd_add_req);
 
 static inline void ptlrpc_reqset_get(struct ptlrpc_request_set *set)
 {
@@ -472,12 +477,14 @@ static int ptlrpcd(void *arg)
         if (!cfs_list_empty(&set->set_requests))
                 ptlrpc_set_wait(set);
         lu_context_fini(&env.le_ctx);
-        cfs_complete(&pc->pc_finishing);
 
         cfs_clear_bit(LIOD_START, &pc->pc_flags);
         cfs_clear_bit(LIOD_STOP, &pc->pc_flags);
         cfs_clear_bit(LIOD_FORCE, &pc->pc_flags);
         cfs_clear_bit(LIOD_BIND, &pc->pc_flags);
+
+        cfs_complete(&pc->pc_finishing);
+
         return 0;
 }
 
@@ -875,6 +882,7 @@ int ptlrpcd_addref(void)
         cfs_mutex_unlock(&ptlrpcd_mutex);
         RETURN(rc);
 }
+EXPORT_SYMBOL(ptlrpcd_addref);
 
 void ptlrpcd_decref(void)
 {
@@ -883,4 +891,5 @@ void ptlrpcd_decref(void)
                 ptlrpcd_fini();
         cfs_mutex_unlock(&ptlrpcd_mutex);
 }
+EXPORT_SYMBOL(ptlrpcd_decref);
 /** @} ptlrpcd */