diff --git a/lustre/ChangeLog b/lustre/ChangeLog index c698c0493ea539587104fddc056fa70ddeb0d31e..a352b949772e5d563577dc69043d592cf8c76899 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -115,6 +115,13 @@ Bugzilla : 11658 Description: log_commit_thread vs filter_destroy race leads to crash Details : Take import reference before releasing llog record semaphore +Severity : normal +Frequency : rare +Bugzilla : 12477 +Description: Wrong request locking in request set processing +Details : ptlrpc_check_set wrongly uses req->rq_lock for proctect add to + imp_delayed_list, in this place should be used imp_lock. + -------------------------------------------------------------------------------- 2007-05-03 Cluster File Systems, Inc. <info@clusterfs.com> diff --git a/lustre/ptlrpc/client.c b/lustre/ptlrpc/client.c index 39a77aff776849a0c8f7c7d03b567f4790dd6746..b1ba7df821df42acfe39d9b77c03aea8a4fdc489 100644 --- a/lustre/ptlrpc/client.c +++ b/lustre/ptlrpc/client.c @@ -872,10 +872,10 @@ int ptlrpc_check_set(struct ptlrpc_request_set *set) /* Add this req to the delayed list so it can be errored if the import is evicted after recovery. */ - spin_lock(&req->rq_lock); + spin_lock(&imp->imp_lock); list_add_tail(&req->rq_list, &imp->imp_delayed_list); - spin_unlock(&req->rq_lock); + spin_unlock(&imp->imp_lock); continue; }