Skip to content

VirtioFS filesystem read+write mounts, "corrupted" state, unreliable synchronization (especially with git repositories) #1271

Description

@danielweck

I have been a Tart user for some time (since before the OpenAi acquisition) but only for local VM isolation / "containerization" of workspaces. In other words I haven't used Tart for headless CI, instead I use Tart to safely develop software inside ephemeral sanboxed MacOS images.

When I started using Tart I immediately experienced significant issues with VirtioFS, especially with read+write filesystem mounts. Typically, modifying files in the host would reliably cause "corruption" issues in the guest OS (I would see weird characters in the console when cat-ing or git diff-ing files). This became a total deal-breaker with Git repositories shared from the host to the guest.

My current workaround is to git shallow-clone repositories from the host to the guest, so that filesystem-intensive operations are contained purely within the guest. This in turn means I have to manually synchronise the guest state with the host, which is cumbersome even with semi-automated scripts (I am planning on migrating to rsync to see if it helps reduce UX friction).

What puzzles me is that I thought VirtioFS was used in Docker Desktop, OrbStack, Apple Container etc. ... where I don't experience any issues whatsoever.

FYI this is also being discussed in GhostVM:

groundwater/GhostVM#255 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions