Added function get_enabled to export vring enable status. #284
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.
Summary of the PR
Added function get_enabled to export vring enable status.
Please summarize here why the changes in this PR are needed.
I am working on snapshot/restore feature for vhost-device-vsock crate. And during snapshot, system sends "FrontendReq::SET_VRING_ENABLE, enable false" to vhost-device-vsock device. Then the vring was disabled. However, the vring tx/rx queue still execute iter() which will return error and then system (vring) hang because vring has been disabled.
My proposed solution to solve this snapshot/restore hang issue is adding vring enable status checking before access/iter() the vring. Therefore, we need this get_enabled function to check if vring is enabled or disabled. I believe in the future, other vhost device may have similar hang issue when it executes snapshot.
Requirements
Before submitting your PR, please make sure you addressed the following
requirements:
git commit -s
), and the commit message has max 60 characters for thesummary and max 75 characters for each description line.
test.
Release" section of CHANGELOG.md (if no such section exists, please create one).
unsafe
code is properly documented.