Page MenuHomeFreeBSD

fdescfs: improve linrdlnk mount option
ClosedPublic

Authored by kib on Jun 21 2023, 4:42 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Oct 12, 11:19 PM
Unknown Object (File)
Sun, Oct 12, 3:41 AM
Unknown Object (File)
Sat, Oct 11, 5:44 PM
Unknown Object (File)
Sat, Oct 11, 5:43 PM
Unknown Object (File)
Sat, Oct 11, 9:01 AM
Unknown Object (File)
Mon, Oct 6, 4:40 AM
Unknown Object (File)
Sep 15 2025, 5:36 PM
Unknown Object (File)
Jul 21 2025, 7:21 PM

Details

Summary
Instead of using VV_READLINK vnode flag and checking it in one place,
just assign VLNK type to the Fdesc vnodes for linrdlnk mounts.  Then all
places where symlinks needs to be followed, e.g. lookup(), are handled.

Remove VV_READLINK flag, since its only reason to exist is removed.

PR:     272127
Reported by:    Peter Eriksson <pen@lysator.liu.se>

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

kib requested review of this revision.Jun 21 2023, 4:42 PM

As a second thought: if vn_fullpath() for the filedescriptor N vnode failed, fd/N symlink cannot be resolved. This would cause somewhat strange failure mode for lookups, but I believe this issue is present with the pristine HEAD as well.

A 13.2-RELEASE kernel built with the changes above seems to fix my issue.

This revision is now accepted and ready to land.Jun 23 2023, 4:04 PM