[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:
Related
is related to LU-6549 sanityn test_8: sanityn fails: Protoc... Resolved
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.

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