OXYGENHUB

The object store needs hard links, which Android apps may not make issue #141 closed: completed andymccall opened this · 0 comments

andymccall

oxygenhub-android's phone runner (oxygenhub-android#8) cannot clone: every job fails with clone …: io: Permission denied (os error 13). SELinux on Android denies link to untrusted apps in their own data (avc: denied { link } … tclass=file app=io.oxygenhub.android), and LocalStore puts every object into place with fs::hard_link (create-only).

Fix: where a hard link is refused (EACCES/EPERM), put the file into place with renameat2(RENAME_NOREPLACE) on Linux and Android, which is as atomic and still create-only; elsewhere, rename after checking that the name is free.

andymccall set labels bug ·

closed by change c6cec7822aff ·

referenced by 2 changes on 25 Oct 2026

6a9414d6a966 157d02e95586