Page MenuHomeFreeBSD

unionfs: implement VOP_UNP_* and remove special VSOCK vnode handling
ClosedPublic

Authored by jah on Mar 10 2024, 2:09 AM.
Tags
None
Referenced Files
F102715784: D44288.id.diff
Sat, Nov 16, 6:44 AM
Unknown Object (File)
Thu, Nov 14, 3:23 AM
Unknown Object (File)
Mon, Nov 11, 5:16 PM
Unknown Object (File)
Mon, Nov 11, 10:17 AM
Unknown Object (File)
Mon, Oct 21, 5:30 AM
Unknown Object (File)
Mon, Oct 21, 5:30 AM
Unknown Object (File)
Sat, Oct 19, 12:57 AM
Unknown Object (File)
Sat, Oct 19, 12:56 AM

Details

Summary

unionfs has a bunch of clunky special-case code to avoid creating
unionfs wrapper vnodes for AF_UNIX sockets. This was added in 2008
to address PR 118346, but in the intervening years the VOP_UNP_*
operations have been added to provide a clean interface to allow
sockets to work in the presence of stacked filesystems.

PR: 275871
Tested by: Karlo Miličević <karlo98.m@gmail.com>
MFC after: 2 weeks

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 56644
Build 53532: arc lint + arc unit

Event Timeline

jah requested review of this revision.Mar 10 2024, 2:09 AM
This revision is now accepted and ready to land.Mar 10 2024, 5:32 PM

Great! More cruft removed, including one call to unionfs_relookup(). I have a few suggestions.

sys/fs/unionfs/union_vnops.c
1044–1046

I would now assert that a_vp is also a unionfs node.

1068–1069

unp is never supposed to be NULL now here.

1071–1072

Same here.

Code review feedback, also remove a nonsensical check from unionfs_link()

This revision now requires review to proceed.Mar 16 2024, 3:49 PM
This revision is now accepted and ready to land.Mar 20 2024, 4:02 AM