[LU-3171] Imbalance of do_ref_add and do_ref_del calls Created: 15/Apr/13  Updated: 09/Jan/20  Resolved: 09/Jan/20

Status: Resolved
Project: Lustre
Component/s: None
Affects Version/s: Lustre 2.4.0
Fix Version/s: None

Type: Bug Priority: Major
Reporter: Li Wei (Inactive) Assignee: WC Triage
Resolution: Not a Bug Votes: 0
Labels: None

Issue Links:
Related
Severity: 3
Rank (Obsolete): 7731

 Description   

It looks the issue addressed by the one-year-old http://review.whamcloud.com/2399 (never landed anywhere) still exists on master. From the old commit message:

Every new object created by osd-ldiskfs has the link count one,
regardless of how many links it really has. This forces some OSD API
users, like MDD and LLog, to do an extra reference deletion when
destroying an object. The resulting caller code is asymmetric,
confusing, and potentially troublesome for other back ends. Moreover,
it requires some callers to do special checks to handle old (i.e.,
pre-OSD) objects. (So far osd-zfs does not explode because it does not
check link counts when destroying objects.) ...

do_create should return objects with actual link counts, while the callers should only take care of their own (rather than OSD-internal) links.



 Comments   
Comment by Alex Zhuravlev [ 15/Apr/13 ]

I think Mike has been looking at some similar issue and I pointed to that patch.

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