Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Change
AsyncRead/AsyncWrite
trait functions inasync_io
to asyncFor vsock stream, remove the global vsock device protected by Mutex to avoid dead lock while await and poll another task. All the blocking stream functions are converted to async syntax. Drop method of vsock stream is removed as the shutdown is async but Drop trait is synchronous, caller must call it manually.
For pci transport, remove the VsockTransport implementation and replace it with public functions. The device state info are hold by a global instance and the lock is acquired and released in each poll action.
For vmcall transport, remove the VsockTransport implementation and replace it with public functions. The context such as
mid
andcid
is saved by vsock stream for each migration request.