borgbackup / borgbackup/borg

ACLs on FreeBSD: use ACL_TEXT_NUMERIC_IDS for better speed

Open
#9,144 2 comments 0 reactions 0 assignees View on GitHub
cmd: create filesystem help wanted os: bsd
Dominant language
Python
Stars
13.7k
Forks
875
Avg merge
11h 15m
Merged PRs (30d)
192

Description

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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.