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)
Oct 13 2024, 7:30 AM
Unknown Object (File)
Oct 13 2024, 7:29 AM
Unknown Object (File)
Oct 13 2024, 7:28 AM
Unknown Object (File)
Oct 13 2024, 7:28 AM
Unknown Object (File)
Sep 27 2024, 2:54 PM
Unknown Object (File)
Sep 27 2024, 2:15 AM
Unknown Object (File)
Sep 27 2024, 12:19 AM
Unknown Object (File)
Sep 8 2024, 8:39 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