Skip to content

ACLs on FreeBSD: use ACL_TEXT_NUMERIC_IDS for better speed #9144

@ThomasWaldmann

Description

@ThomasWaldmann

https://man.freebsd.org/cgi/man.cgi?query=acl_to_text&sektion=3&apropos=0&manpath=FreeBSD+14.3-RELEASE+and+Ports

We can:

  • get the uid / gid instead of the names: always use ACL_TEXT_NUMERIC_IDS
  • avoid a gazillion more or less expensive, uncached lookups inside "libacl" for the user/group names (especially for samba / winbind this can be slow)
  • replace these by cached lookups inside borg, using a LRU caches to map uids to user names and to map gids to group names (uid2user and gid2group already have caching).
  • replace the uid / gid in the ACL by some custom code (see linux.pyx)

Adding this feature needs a FreeBSD developer, who can develop and test it.

The Linux code in master branch already uses a similar method. #9143

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions