Page MenuHomeFreeBSD

fdescfs: improve linrdlnk mount option
ClosedPublic

Authored by kib on Jun 21 2023, 4:42 PM.
Tags
None
Referenced Files
F115928189: D40700.diff
Wed, Apr 30, 1:01 PM
F115891394: D40700.diff
Wed, Apr 30, 2:09 AM
Unknown Object (File)
Sat, Apr 26, 7:35 PM
Unknown Object (File)
Tue, Apr 15, 6:31 PM
Unknown Object (File)
Mar 29 2025, 5:39 PM
Unknown Object (File)
Mar 27 2025, 1:48 AM
Unknown Object (File)
Feb 8 2025, 2:40 AM
Unknown Object (File)
Jan 24 2025, 12:40 AM

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 Skipped
Unit
Tests Skipped

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