Details
-
Bug
-
Resolution: Fixed
-
Trivial
-
None
-
3
-
9223372036854775807
Description
It appears that ptlrpc_send_new_req message prints pid as always 0:
00000100:00080000:5.0:1454959735.275832:0:27539:0:(client.c:1385:ptlrpc_send_new
_req()) @@@ req from PID 0 waiting for recovery: (FULL != DISCONN) req@ffff8800
3f386b80 x1525630506782200/t0(0) o13->lustre-OST0000-osc-ffff8800cdc0f000@192.16
8.10.227@tcp:7/4 lens 224/368 e 0 to 0 dl 0 ref 1 fl Rpc:W/0/ffffffff rc 0/-1
This is because the message itself is printed before we set the value in the request:
DEBUG_REQ(D_HA, req, "req from PID %d waiting for recovery: " "(%s != %s)", lustre_msg_get_status(req->rq_reqmsg), ptlrpc_import_state_name(req->rq_send_state), ptlrpc_import_state_name(imp->imp_state)); LASSERT(list_empty(&req->rq_list)); list_add_tail(&req->rq_list, &imp->imp_delayed_list); atomic_inc(&req->rq_import->imp_inflight); spin_unlock(&imp->imp_lock); RETURN(0); } ... lustre_msg_set_status(req->rq_reqmsg, current_pid());
As such we should either move the set_status before that printing or just do current_pid() in that message which is likely even better.