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, Sep 8, 8:39 PM
Unknown Object (File)
Tue, Sep 3, 12:20 AM
Unknown Object (File)
Aug 2 2024, 9:00 AM
Unknown Object (File)
Jul 29 2024, 12:28 PM
Unknown Object (File)
Jul 4 2024, 2:47 PM
Unknown Object (File)
Jun 28 2024, 8:12 PM
Unknown Object (File)
May 31 2024, 7:34 AM
Unknown Object (File)
Apr 27 2024, 3:10 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 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