[LU-2853] osc send list corruption Created: 22/Feb/13 Updated: 22/Feb/13 Resolved: 22/Feb/13 |
|
| Status: | Closed |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.0.0, Lustre 2.1.0, Lustre 2.2.0, Lustre 2.3.0, Lustre 2.4.0 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Critical |
| Reporter: | Alexey Lyashkov | Assignee: | Bruno Faccini (Inactive) |
| Resolution: | Duplicate | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Severity: | 3 | ||||||||
| Rank (Obsolete): | 6904 | ||||||||
| Description |
|
after landing b=18881 we have an unprotected call for loi_list_maint @@ -2523,7 +2532,7 @@ osc_send_oap_rpc(const struct lu_env *env, struct client_obd *cli, which modify a loi list without holding a cl_loi_list_lock - so open for races. |
| Comments |
| Comment by Alexey Lyashkov [ 22/Feb/13 ] |
req = osc_build_req(env, cli, &rpc_list, page_count, cmd);
if (IS_ERR(req)) {
LASSERT(list_empty(&rpc_list));
- /* loi_list_maint(cli, loi); */
+ loi_list_maint(cli, loi);
RETURN(PTR_ERR(req));
}
|
| Comment by Bruno Faccini (Inactive) [ 22/Feb/13 ] |
|
Since I am in charge of |
| Comment by Bruno Faccini (Inactive) [ 22/Feb/13 ] |
|
But in fact looking into the code, I think it is more complex, seems to me that it is assumed we also need to return back to osc_check_rpcs() with cl_loi_list_lock set anyway. |
| Comment by Jodi Levi (Inactive) [ 22/Feb/13 ] |
|
Duplicate of |