Skip to content

Conversation

gurasinghMS
Copy link
Contributor

This commit is a revert of a revert. Originally the FLR implementation just nuked any existing worker tasks. A direct implication of this approach was that all the input to the worker needed to be cloneable (Including any and all FaultConfiguration). As per discussions in internal teams chats, this approach was flawed because of 2 reasons:

  1. Tasks could stick around after just replacing the worker causing unnecessary overhead on the task handler.
  2. For testing nvme_keepalive features we need a way to notify namespace changes to the controller from the vmm test. This can be done by defining the namespace_change mesh channel in the vmm test and passed in as a fault config parameter. mesh::Sender is notably NOT cloneable.

Initially I was under the impression that there is no mechanism to signal FLR completion to the guest, however after further discussion, I found that there is an option for RRS. However, this only works on some guests that support it.

Bottom line here is that we need to rethink how FLRs are being processed and we should gracefully shut down or reset the worker upon FLR request. Keeping this PR here for further discussions on it but will keep it in a draft form until we have a good solution for this.

This reverts commit c02d4f6.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant