-static int ptlrpc_ping_interpret(struct ptlrpc_request *req,
- void *data, int rc)
-{
- struct obd_import *imp = req->rq_import;
- DEBUG_REQ(D_HA, req, "ping reply");
- if (imp->imp_waiting_ping_reply == 0)
- DEBUG_REQ(D_ERROR, req, "late ping reply?");
- if (imp->imp_last_ping_xid != req->rq_xid)
- DEBUG_REQ(D_ERROR, req, "uh, wrong ping reply on x%lx",
- imp->imp_last_ping_xid);
- else
- imp->imp_last_ping_xid = 0;
-
- /* if ping reply is an error, don't drop "replied" flag
- * on import, so pinger will invalidate it */
- if (ptlrpc_client_replied(req) && req->rq_repmsg == NULL)
- CWARN("replied (%d) w/o rep buffer?\n", req->rq_replied);
- if (ptlrpc_client_replied(req) && req->rq_repmsg &&
- req->rq_repmsg->type == PTL_RPC_MSG_ERR)
- return 0;
-
- imp->imp_waiting_ping_reply = 0;
- return 0;
-}
-