-
Notifications
You must be signed in to change notification settings - Fork 28
Description
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 :(