microsoft / microsoft/openvmm

nvme_driver: blockers to adding a save/restore keepalive unit test

Open
#489 1 comment 0 reactions 1 assignee View on GitHub

Nobody has claimed this yet.

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

Description

Tracking the set of things that block adding a unit test for NvmeDriver::save()NvmeDriver::restore() with keepalive.

Blockers
  1. PagePool not test-friendly for save/restorePagePool::restore() requires exact backing size matching, which is hard to achieve when the save and restore sides use different TestMapper instances. The pool needs to be refactored to support test save/restore cycles, or a mock DmaClient needs to provide PFN-stable blocks via attach_pending_buffers().

  2. Restored driver hangs on shutdown due to stale admin queue — After restore with re-allocated DMA blocks, the admin queue's pending AER command never completes because the controller's SQ/CQ BAR addresses are stale. shutdown() waits forever. There's no force-shutdown or AER cancellation mechanism for tests.

Sub-issues track individual blockers.

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.