wake_up = 1;
} else if (queue_len + completed == max) {
LASSERT(req->rq_reqmsg->transno >= next_transno);
- CDEBUG(D_ERROR,
+ CDEBUG(req_transno > obd->obd_last_committed ? D_ERROR : D_HA,
"waking for skipped transno (skip: "LPD64
", ql: %d, comp: %d, conn: %d, next: "LPD64")\n",
next_transno, queue_len, completed, max, req_transno);
init_completion(&trd->trd_finishing);
trd->trd_recovery_handler = handler;
- if (kernel_thread(target_recovery_thread, obd, 0) == 0)
+ if (kernel_thread(target_recovery_thread, obd, 0) > 0) {
wait_for_completion(&trd->trd_starting);
- else
+ LASSERT(obd->obd_recovering != 0);
+ } else
rc = -ECHILD;
return rc;