[LU-208] wrong check for swabbing in _debug_req() Created: 11/Apr/11  Updated: 08/Oct/12  Resolved: 08/Oct/12

Status: Closed
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.1.0
Fix Version/s: Lustre 2.1.0

Type: Bug Priority: Major
Reporter: Mikhail Pershin Assignee: Mikhail Pershin
Resolution: Duplicate Votes: 0
Labels: None

Severity: 3
Bugzilla ID: 16,359
Rank (Obsolete): 10180

 Description   

The incorrect patch was landed in bug 16359. The check for swabbing is always negative when there is no swabbing needed, causing missed opcode, flags and status in debug log:
req@ffff81032ead3c00 x1365585644523006/t0(4295007526) o-1->917221e7-5188-2444-10d7-07b3e1abdbd0@NET_0x50000c0a80416_UUID:0/0 lens 528/1240 e 0 to 0 dl 1302324554 ref 1 fl Complete:/ffffffff/ffffffff rc 0/-1

Flags, status and opcode are -1, while request is fully initialized and valid.

We need to change _debug_req() in similar way with b1_8 code.



 Comments   
Comment by Oleg Drokin [ 11/May/11 ]

I prefer that instead of replicating error-prone code from 1.8 we instead change the code in a proper way so that no intimate knowledge of message structure is needed anywhere outside of relevant ptlrpc bits.

I would prefer if it was totally redone to hide the details and so that the debug_req code as is now would work and all the check to be done internally.

Say need_swab() would check magic first. If the magic does not match that means we need to swab the message first and so the body would need to be swabbed too. If the magic does match then we can see into the body flags to see if it needs to be swabbed or not.

I am not sure if we need to retain lustre_XXX_swabbed() flags at all, seemingly need_swab() conveys the same info. Something like need_swab == !swabbed.

Comment by Mikhail Pershin [ 08/Oct/12 ]

this problem was fixed already in master branch

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