[LU-9293] ocd_ibits_known is not checked Created: 05/Apr/17  Updated: 16/Jan/22  Resolved: 16/Jan/22

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

Type: Bug Priority: Minor
Reporter: Mikhail Pershin Assignee: Mikhail Pershin
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Related
is related to LU-10175 DoM:Full support for the LDLM lock co... Resolved
Severity: 3
Rank (Obsolete): 9223372036854775807

 Description   

the ocd_ibits_known field contains supported MDS inodebits from the client/server and maintained properly on both sides but not used anywhere. The only case is mdc_lock_match() where it is checked to exclude bits not supported on server.
Meanwhile the LOV sets ocd_ibits_known to MDS_INODEBITS_UPDATE only, but MDT-MDT locks can be LOOKUP and XATTR at the same time and everything works just fine.
That makes no sense so cleanup is needed in this area to use ocd_ibits_known properly and check it against enqueued locks.



 Comments   
Comment by Andreas Dilger [ 06/Apr/17 ]

I also see ocd_ibits_known being checked in client_common_fill_super() and mdc_xattr_common() to enable the xattr cache (MDS_INODELOCK_XATTR). The only other new ibits types are:

  • MDS_INODELOCK_LAYOUT but the "interoperability" of that flag has already passed (I don't recall exact details) so all clients and servers are assumed to have this support.
  • MDS_INODELOCK_PERM is masked on the client by mdc_lock_match() so I don't think there needs to be a compatibility check. Older servers and clients don't require this since it is only for DNE.
Comment by Andreas Dilger [ 03/Sep/18 ]

Mike, is this still an issue?

Generated at Sat Feb 10 02:24:53 UTC 2024 using Jira 9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c.