Status of openat2() RESOLVE_NO_SYMLINKS on FreeBSD

Andrew Walker awalker at ixsystems.com
Wed Mar 8 14:05:38 UTC 2023


On Wed, Mar 8, 2023 at 8:48 AM Ralph Boehme <slow at samba.org> wrote:
>
> Hi Andrew!
>
> Do you, or anyone else, remember the status of using an analogue to
> Linux openat2() RESOLVE_NO_SYMLINKS on FreeBSD?
>
> In case you don't remember (iirc we've discussed this before) openat2()
> RESOLVE_NO_SYMLINKS on Linux allows atomically checking a multicomponent
> path for symlinks which avoids doing the work manually per-component in
> Samba, which is a performance hog.
>
> I see FreeBSD openat() has O_RESOLVE_BENEATH and you were talking about
> adding support here
>
> <https://www.truenas.com/community/threads/truenas-13-0-beta-experiences.98936/page-2#post-685088>
>
> I see a bunch of MRs in the work from you on gitlab:
>
> <https://gitlab.com/samba-team/samba/-/merge_requests?scope=all&state=opened&author_username=anodos325>
>
> But none of them seems to be about this particular issue.
>
> -slow
>
> --
> Ralph Boehme, Samba Team                 https://samba.org/
> SerNet Samba Team Lead      https://sernet.de/en/team-samba
> SAMBA+ Samba packages                   https://samba.plus/

I have a WIP branch to add RESOLVE_NO_SYMLINKS here:
https://github.com/truenas/os/pull/256
This week I'm planning to go through investigation of Samba 4.18 on
FreeBSD and validate that the flag works as expected. Then I'll begin
socializing it with upstream FreeBSD.



More information about the samba-technical mailing list