Page MenuHomeFreeBSD

Add vrefl(), a locked variant of vref()
AbandonedPublic

Authored by markj on Jan 15 2016, 12:37 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Nov 18, 12:10 AM
Unknown Object (File)
Sun, Nov 17, 6:02 PM
Unknown Object (File)
Sun, Nov 17, 2:09 PM
Unknown Object (File)
Sun, Nov 17, 1:19 PM
Unknown Object (File)
Sun, Nov 17, 1:07 AM
Unknown Object (File)
Tue, Oct 29, 12:52 PM
Unknown Object (File)
Sun, Oct 27, 8:41 PM
Unknown Object (File)
Oct 18 2024, 7:56 PM
Subscribers

Details

Reviewers
kib
mjg
Group Reviewers
manpages
Summary

A variation of this change is used in Isilon's filesystem.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 2132
Build 2140: arc lint + arc unit

Event Timeline

markj retitled this revision from to Add vrefl(), a locked variant of vref().
markj edited the test plan for this revision. (Show Details)
markj updated this object.

I do not object against vrefl(), but I am curious where do you want to use this ?

Also, please consider using D4953.

if this change was to go in, I would suggest folding v_incr_usecount into vref (which maybe should happen anyway) and for consitency dealing with it like with vhold, where both vhold and vholdl are macros which expand to a _vhold call.

Do you have a particular use for vrefl?

I don't have a specific in-tree use at the moment - I'm working on some integration problems between Isilon's FS and recent revisions of FreeBSD. Isilon currently makes v_incr_usecount() externally visible to use as a locked vref(), but this broke with r285632. I just want to fix this in a clean way.

I realize that adding a new API without consumers is questionable at best. In this case I believe it's reasonable since:

  • the change is small, and
  • it naturally complements the existing vnode refcount manipulation API.

Does that seem like a valid justification here? In general I avoid using internal Isilon code to justify changes to FreeBSD. I'm happy to test and commit the alternative implementation.

In D4947#105079, @markj wrote:

Does that seem like a valid justification here? In general I avoid using internal Isilon code to justify changes to FreeBSD. I'm happy to test and commit the alternative implementation.

As I said, I do not object against vrefl().