Set OverrideUID on virtiofs mounts for macOS ownership#111
Merged
Conversation
On macOS, libkrun's virtiofs FUSE server reports host-side file ownership to the guest. Without user.containers.override_stat xattrs, workspace files appear as the host UID (e.g. 501) and the sandbox user (1000) cannot write to nested directories or files. Set OverrideUID/OverrideGID on both the workspace mount and extra mounts (git objects). go-microvm walks the host path and sets the xattr on all entries before VM boot, making them appear as owned by the sandbox user inside the guest. Requires go-microvm with SetOverrideStatTree support (unreleased). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
e2d3dde to
092baee
Compare
JAORMX
approved these changes
Apr 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
OverrideUID/OverrideGIDon workspace and extra virtiofs mounts so libkrun reports correct ownership to the guest on macOSBlocked on: stacklok/go-microvm#64 being merged and tagged. The
OverrideUIDfield does not exist in go-microvm v0.0.30.Test plan
go.modto new versiontask testpassesbbox claude-codeon macOS, verify writes to nested files work without pre-set xattrs🤖 Generated with Claude Code