diff options
| author | Alexander Boyko <[email protected]> | 2016-09-18 16:38:34 -0400 |
|---|---|---|
| committer | Greg Kroah-Hartman <[email protected]> | 2016-09-19 09:53:46 +0200 |
| commit | d09cfb00612f2add6eb05ae7a17d2bf2a4d317ff (patch) | |
| tree | edea488dad8a0c09fbda70d881ad8fa8646794fd /tools/perf/scripts | |
| parent | 01cd98ffcf2ff56fc54781cc608f4043b813f54a (diff) | |
staging: lustre: ptlrpc: fix race between connect vs resend
Buggy code at ptlrpc_connect_interpret()
finish:
rc = ptlrpc_import_recovery_state_machine(imp);
...
Set import connection flags
When import has FULL state ptlrpc_import_recovery_state_machine()
wakeup all waiters on import and all delayed request, which was
resented. And it could happened that request was send without
updated flags and AT is disabled. If such request is in progress
on the server, server drop the new instance, and could do early reply
for it. But this early reply confuse client, cause it wait real
reply(no AT for this request). Client try to touch buffer outside
reply and got EPROTO error.
The same bug existed for initital connect too. Import became FULL
before import connection flags was set.
Signed-off-by: Alexander Boyko <[email protected]>
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-5528
Xyratex-bug-id: MRP-2034
Reviewed-on: http://review.whamcloud.com/11723
Reviewed-by: Li Wei <[email protected]>
Reviewed-by: Alexander Boyko <[email protected]>
Reviewed-by: Liang Zhen <[email protected]>
Reviewed-by: Oleg Drokin <[email protected]>
Signed-off-by: James Simmons <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'tools/perf/scripts')
0 files changed, 0 insertions, 0 deletions