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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions