[LU-4539] mdt_intent_opc converts any error from mdt_unpack_req_pack_rep into -EPROTO Created: 24/Jan/14 Updated: 01/Feb/17 Resolved: 29/Sep/14 |
|
| Status: | Closed |
| Project: | Lustre |
| Component/s: | None |
| Affects Version/s: | Lustre 2.6.0 |
| Fix Version/s: | Lustre 2.7.0 |
| Type: | Bug | Priority: | Major |
| Reporter: | John Hammond | Assignee: | John Hammond |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | mdt | ||
| Issue Links: |
|
||||||||
| Severity: | 3 | ||||||||
| Rank (Obsolete): | 12406 | ||||||||
| Description |
|
Running on a single node llmount.sh filesystem I often notice that some RPCs are returning -EPROTO which seems odd since client and server are running that same version of Lustre. LustreError: 11-0: lustre-MDT0000-mdc-ffff8801e3477800: Communicating with 0@lo, operation ldlm_enqueue failed with -71. LustreError: 11973:0:(mdc_locks.c:917:mdc_enqueue()) ldlm_cli_enqueue: -71 LustreError: 12186:0:(mdc_locks.c:917:mdc_enqueue()) ldlm_cli_enqueue: -71 These are actually errors from mdt_unpack_req_pack_rep() (for example, if HABEO_CORPUS is set but the object does not exist then -ENOENT is returned). But in mdt_intent_opc() any error from mdt_unpack_req_pack_rep() is replaced with -EPROTO. We should return the original rc instead so we don't mislead admins and users. |
| Comments |
| Comment by John Hammond [ 29/Aug/14 ] |
|
Please see http://review.whamcloud.com/11650. |
| Comment by John Hammond [ 29/Sep/14 ] |
|
Patch landed to master. |