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

(cherry picked from commit cd9618bdb274375139080ee4e33ccbdc980513f3)

Details

Provenance
gusev.vitaliy_gmail.comAuthored on Jun 23 2022, 6:46 PM
jhbCommitted on Jan 26 2023, 7:29 PM
Reviewer
jhb
Differential Revision
D26267: bhyve: snapshot impovements for 'blockif' backend
Parents
rG2c86bac0a8e0: bhyve: Enable suspend/resume support for virtio-blk.
Branches
Unknown
Tags
Unknown