Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/hyperv/utilities/hv_snapshot.c
Show First 20 Lines • Show All 64 Lines • ▼ Show 20 Lines | |||||
#define VSS_MAJOR 5 | #define VSS_MAJOR 5 | ||||
#define VSS_MINOR 0 | #define VSS_MINOR 0 | ||||
#define VSS_MSGVER VMBUS_IC_VERSION(VSS_MAJOR, VSS_MINOR) | #define VSS_MSGVER VMBUS_IC_VERSION(VSS_MAJOR, VSS_MINOR) | ||||
#define VSS_FWVER_MAJOR 3 | #define VSS_FWVER_MAJOR 3 | ||||
#define VSS_FWVER VMBUS_IC_VERSION(VSS_FWVER_MAJOR, 0) | #define VSS_FWVER VMBUS_IC_VERSION(VSS_FWVER_MAJOR, 0) | ||||
#define TIMEOUT_LIMIT (15) // seconds | #define TIMEOUT_LIMIT (15) // seconds | ||||
#define VSS_FREEZE_TIMEOUT (15 * 60) // seconds | |||||
enum hv_vss_op { | enum hv_vss_op { | ||||
VSS_OP_CREATE = 0, | VSS_OP_CREATE = 0, | ||||
VSS_OP_DELETE, | VSS_OP_DELETE, | ||||
VSS_OP_HOT_BACKUP, | VSS_OP_HOT_BACKUP, | ||||
VSS_OP_GET_DM_INFO, | VSS_OP_GET_DM_INFO, | ||||
VSS_OP_BU_COMPLETE, | VSS_OP_BU_COMPLETE, | ||||
/* | /* | ||||
* Following operations are only supported with IC version >= 5.0 | * Following operations are only supported with IC version >= 5.0 | ||||
▲ Show 20 Lines • Show All 692 Lines • ▼ Show 20 Lines | hv_vss_start_notify(hv_vss_req_internal *reqp, uint32_t opt) | ||||
*/ | */ | ||||
switch (opt) { | switch (opt) { | ||||
case VSS_OP_FREEZE: | case VSS_OP_FREEZE: | ||||
case VSS_OP_HOT_BACKUP: | case VSS_OP_HOT_BACKUP: | ||||
if (sc->app_register_done) | if (sc->app_register_done) | ||||
hv_vss_notify(&sc->app_sc, reqp); | hv_vss_notify(&sc->app_sc, reqp); | ||||
else | else | ||||
hv_vss_notify(&sc->daemon_sc, reqp); | hv_vss_notify(&sc->daemon_sc, reqp); | ||||
callout_reset(&reqp->callout, TIMEOUT_LIMIT * hz, | callout_reset(&reqp->callout, opt == VSS_OP_FREEZE ? | ||||
VSS_FREEZE_TIMEOUT * hz : TIMEOUT_LIMIT * hz, | |||||
hv_vss_timeout, reqp); | hv_vss_timeout, reqp); | ||||
break; | break; | ||||
case VSS_OP_THAW: | case VSS_OP_THAW: | ||||
hv_vss_notify(&sc->daemon_sc, reqp); | hv_vss_notify(&sc->daemon_sc, reqp); | ||||
callout_reset(&reqp->callout, TIMEOUT_LIMIT * hz, | callout_reset(&reqp->callout, TIMEOUT_LIMIT * hz, | ||||
hv_vss_timeout, reqp); | hv_vss_timeout, reqp); | ||||
break; | break; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 272 Lines • Show Last 20 Lines |