microsoft / microsoft/openvmm

Allow dormant virtio-fs devices with restore-time attachment

Open
#4,443 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
1.9k
Forks
238
Avg merge
1d 15h
Merged PRs (30d)
100

Description

Tracking issue: MicroVM support and private snapshot restore.

Motivation

A reusable guest template may need a stable filesystem device slot before a
workload-specific export is known. Reserving a dormant virtio-fs slot would separate
the machine's device layout from host attachment selection while keeping the
transition to an active device explicit and validated.

Proposed Scope

  • Represent a reserved, dormant virtio-fs slot in the machine and snapshot contracts.
  • Preserve its fixed device identity and topology without requiring a live host
    filesystem attachment during template capture.
  • Allow a compatible filesystem attachment to be supplied at restore time and
    validate it before acknowledged device activation.
  • Define guest-visible behavior while dormant and when no attachment is supplied.
  • Keep this capability distinct from restoring a previously active FUSE session,
    which has stronger host-object identity constraints.

Acceptance Criteria

  • A guest can boot and capture a supported template with a dormant filesystem
    slot and no host filesystem resources held for that slot.
  • Restore can attach a valid export without changing the reserved MMIO,
    interrupt, or device identity.
  • Missing, invalid, or incompatible attachments follow the documented dormant
    or error behavior and do not expose a partially active device.
  • Activation failure releases prepared resources and permits clean VM teardown
    or a supported retry.
  • VMM tests cover restore both with and without an attachment and verify
    filesystem access after successful activation.
  • Documentation distinguishes dormant-slot attachment from live-session
    persistence and states the required guest behavior.

Dependencies

Non-Goals

This issue does not permit arbitrary device hotplug or replacing an active export
without respecting its saved FUSE state.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read 00-microvm.md and the machine and snapshot contracts, then review dependencies E01 and D03 before tracing the VMM restore tests. Define the dormant-slot and restore-attachment behavior from the acceptance criteria, including validation, failure cleanup, teardown or retry, guest behavior, and documentation distinguishing it from live-session persistence.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
infrastructure, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.