History

Drivers: hv: vmbus: Resume after fixing up old primary channels

When the host re-offers the primary channels upon resume, the host only guarantees the Instance GUID doesn't change, so vmbus_bus_suspend() should invalidate channel->offermsg.child_relid and figure out the number of primary channels that need to be fixed up upon resume. Upon resume, vmbus_onoffer() finds the old channel structs, and maps the new offers to the old channels, and fixes up the old structs, and finally the resume callbacks of the VSC drivers will re-open the channels.

Dexuan Cui committed 7 years ago

Commit d8bd2d41 parent b307b385 files · +101 −20Browse files

Showing the changes to include/linux (1 of 5 files). Show all

Unified · Split

include/linux/hyperv.h+3−0
@@ -426,6 +426,9 @@ enum vmbus_channel_message_type { · 425 unmodified lines
426 CHANNELMSG_COUNT426 CHANNELMSG_COUNT
427};427};
428 428
429/* Hyper-V supports about 2048 channels, and the RELIDs start with 1. */
430#define INVALID_RELID U32_MAX
431
429struct vmbus_channel_message_header {432struct vmbus_channel_message_header {
430 enum vmbus_channel_message_type msgtype;433 enum vmbus_channel_message_type msgtype;
431 u32 padding;434 u32 padding;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t