[LU-5696] missing wakeup for ptlrpc_check_set Created: 01/Oct/14  Updated: 19/Mar/19  Resolved: 05/Dec/14

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: None
Fix Version/s: Lustre 2.7.0

Type: Bug Priority: Blocker
Reporter: Liang Zhen (Inactive) Assignee: Liang Zhen (Inactive)
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Duplicate
Related
Severity: 3
Rank (Obsolete): 15943

 Description   

Although very liketly, but there is no guarantee that request_out_callback will happen before reply_in_callback, if a request got reply before got request_out_callback(), then ptlrpc_unregister_reply() will return false because request has not been unlinked and req:;rq_req_unlink is not set to false.

static inline int                       
ptlrpc_client_recv_or_unlink(struct ptlrpc_request *req)
{               
        int rc;
                
        spin_lock(&req->rq_lock);          
        ......
        rc = req->rq_receiving_reply ;
        rc = rc || req->rq_req_unlink || req->rq_reply_unlink;
        spin_unlock(&req->rq_lock);
        return rc;
}         

After this, even request_in_callback() happened, there is no wakeup for this request, ptlrpcd or app thread will keep waiting.



 Comments   
Comment by Liang Zhen (Inactive) [ 01/Oct/14 ]

patch is here: http://review.whamcloud.com/12158

Comment by Gerrit Updater [ 28/Nov/14 ]

Liang Zhen (liang.zhen@intel.com) uploaded a new patch: http://review.whamcloud.com/12874
Subject: LU-5696 ptlrpc: unlink request buffer before completing RPC
Project: fs/lustre-hpdd
Branch: b_ieel2_0
Current Patch Set: 1
Commit: bcb257bd19a2a50b265e8a3f3a180aa36ffe5c17

Comment by Gerrit Updater [ 05/Dec/14 ]

Oleg Drokin (oleg.drokin@intel.com) merged in patch http://review.whamcloud.com/12158/
Subject: LU-5696 ptlrpc: missing wakeup for ptlrpc_check_set
Project: fs/lustre-release
Branch: master
Current Patch Set:
Commit: b8e981df1ae9866cc02650205e18ee42835f5822

Comment by Peter Jones [ 05/Dec/14 ]

Landed for 2.7

Comment by Chris Horn [ 05/Dec/14 ]

Duplicate of LU-5341?

Comment by Liang Zhen (Inactive) [ 09/Dec/14 ]

Chris, yes I believe so

Generated at Sat Feb 10 01:53:43 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.