HomeFreeBSD

bhyve: Snapshot impovements for 'blockif' backend

Description

bhyve: Snapshot impovements for 'blockif' backend

When pausing a block I/O device model as part of suspending a VM, wait
for all active block I/O requests to finish before saving snapshot
data. This avoids having to save information about in-flight requests
both in the block_if layer and in storage device models.

For the AHCI device model, the queues are now guaranteed to be idle
when taking a snapshot, so remove the code to save queue state and
rely on the initial state in a resumed VM having all queues already
idle.

This will also simplify adding NVMe snapshot support in the future.

Reviewed by: jhb
Sponsored by: vStack
Differential Revision: https://reviews.freebsd.org/D26267

Details

Provenance
gusev.vitaliy_gmail.comAuthored on Jun 23 2022, 6:46 PM
jhbCommitted on Jun 23 2022, 6:46 PM
Reviewer
jhb
Differential Revision
D26267: bhyve: snapshot impovements for 'blockif' backend
Parents
rG3a4256dd86f0: riscv timer: implement riscv_timer_et_stop()
Branches
Unknown
Tags
Unknown