Skip to content

Migration ought to consider block backends more generally #982

@iximeow

Description

@iximeow

this is an "I read the code and see no way it works"-tier issue. reproduction is probably(?) straightforward but I tripped over #981 along the way.

in propolis-server we add a devices entry for Blob backends. the comment there is sound: we should migrate writes to the blob otherwise they'll get lost in migration. but if there is block-local state for other backends (say, a collection of coalesced-but-not-yet-delivered I/Os) we need to remember to plumb up that block backend too or lose the I/Os in migration.

propolis-standalone has a worse time of it: we look at devs, but not block, so I'm pretty sure we'll lose mem-async backend contents across migration (this is what I wanted to prove to myself before tripping over #981)

I've been kind of sort of working on an I/O coalescing patch that would bring these problems and more to file backends, and I would absolutely have forgotten to plumb up the block-side state migration at first :(

Metadata

Metadata

Assignees

No one assigned

    Labels

    migrationIssues related to live migration.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions