Whamcloud - gitweb
LU-2263 ptlrpc: deadlock of obd_import::imp_lock
authorLiang Zhen <liang@whamcloud.com>
Fri, 21 Dec 2012 06:27:57 +0000 (14:27 +0800)
committerAndreas Dilger <andreas.dilger@intel.com>
Mon, 14 Jan 2013 20:13:29 +0000 (15:13 -0500)
commit68b4780e303976aad3bb4cd02ad483214e1ed33c
tree0cff8d8452b8fdb76b47e495a3c8c06a3513f757
parent82bea2e0b50171b6b6f9a5c52ce17c80c7c22de8
LU-2263 ptlrpc: deadlock of obd_import::imp_lock

ptlrpc_at_recv_early_reply() calls ptlrpc_at_set_req_timeout() with
hold of ptlrpc_request::rq_lock, and
ptlrpc_at_set_req_timeout()->import_at_get_index() requires imp_lock,
it violates locking-order rule of Lustre, which assumes rq_lock can
nest in imp_lock.

Signed-off-by: Liang Zhen <liang@whamcloud.com>
Change-Id: I924839b59ca1fa1cdf01568872de867ce3985f8b
Reviewed-on: http://review.whamcloud.com/4880
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Alex Zhuravlev <bzzz@whamcloud.com>
lustre/ptlrpc/client.c