mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-08-31 06:34:17 +00:00
106 lines
3.4 KiB
Diff
106 lines
3.4 KiB
Diff
From 1945dc1a97450579e195b898a329363d629c4f86 Mon Sep 17 00:00:00 2001
|
|
From: Alex Ng <alexng@messages.microsoft.com>
|
|
Date: Sun, 6 Nov 2016 13:14:10 -0800
|
|
Subject: [PATCH 06/14] Drivers: hv: vss: Improve log messages.
|
|
|
|
Adding log messages to help troubleshoot error cases and transaction
|
|
handling.
|
|
|
|
Signed-off-by: Alex Ng <alexng@microsoft.com>
|
|
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
Origin: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
|
|
(cherry picked from commit 23d2cc0c29eb0e7c6fe4cac88098306c31c40208)
|
|
---
|
|
drivers/hv/hv_snapshot.c | 25 +++++++++++++++++++------
|
|
1 file changed, 19 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/drivers/hv/hv_snapshot.c b/drivers/hv/hv_snapshot.c
|
|
index a6707133c297..5c95ba1e2ecf 100644
|
|
--- a/drivers/hv/hv_snapshot.c
|
|
+++ b/drivers/hv/hv_snapshot.c
|
|
@@ -120,7 +120,7 @@ static int vss_handle_handshake(struct hv_vss_msg *vss_msg)
|
|
default:
|
|
return -EINVAL;
|
|
}
|
|
- pr_debug("VSS: userspace daemon ver. %d connected\n", dm_reg_value);
|
|
+ pr_info("VSS: userspace daemon ver. %d connected\n", dm_reg_value);
|
|
return 0;
|
|
}
|
|
|
|
@@ -128,8 +128,10 @@ static int vss_on_msg(void *msg, int len)
|
|
{
|
|
struct hv_vss_msg *vss_msg = (struct hv_vss_msg *)msg;
|
|
|
|
- if (len != sizeof(*vss_msg))
|
|
+ if (len != sizeof(*vss_msg)) {
|
|
+ pr_debug("VSS: Message size does not match length\n");
|
|
return -EINVAL;
|
|
+ }
|
|
|
|
if (vss_msg->vss_hdr.operation == VSS_OP_REGISTER ||
|
|
vss_msg->vss_hdr.operation == VSS_OP_REGISTER1) {
|
|
@@ -137,8 +139,11 @@ static int vss_on_msg(void *msg, int len)
|
|
* Don't process registration messages if we're in the middle
|
|
* of a transaction processing.
|
|
*/
|
|
- if (vss_transaction.state > HVUTIL_READY)
|
|
+ if (vss_transaction.state > HVUTIL_READY) {
|
|
+ pr_debug("VSS: Got unexpected registration request\n");
|
|
return -EINVAL;
|
|
+ }
|
|
+
|
|
return vss_handle_handshake(vss_msg);
|
|
} else if (vss_transaction.state == HVUTIL_USERSPACE_REQ) {
|
|
vss_transaction.state = HVUTIL_USERSPACE_RECV;
|
|
@@ -155,7 +160,7 @@ static int vss_on_msg(void *msg, int len)
|
|
}
|
|
} else {
|
|
/* This is a spurious call! */
|
|
- pr_warn("VSS: Transaction not active\n");
|
|
+ pr_debug("VSS: Transaction not active\n");
|
|
return -EINVAL;
|
|
}
|
|
return 0;
|
|
@@ -168,8 +173,10 @@ static void vss_send_op(void)
|
|
struct hv_vss_msg *vss_msg;
|
|
|
|
/* The transaction state is wrong. */
|
|
- if (vss_transaction.state != HVUTIL_HOSTMSG_RECEIVED)
|
|
+ if (vss_transaction.state != HVUTIL_HOSTMSG_RECEIVED) {
|
|
+ pr_debug("VSS: Unexpected attempt to send to daemon\n");
|
|
return;
|
|
+ }
|
|
|
|
vss_msg = kzalloc(sizeof(*vss_msg), GFP_KERNEL);
|
|
if (!vss_msg)
|
|
@@ -210,9 +217,13 @@ static void vss_handle_request(struct work_struct *dummy)
|
|
case VSS_OP_HOT_BACKUP:
|
|
if (vss_transaction.state < HVUTIL_READY) {
|
|
/* Userspace is not registered yet */
|
|
+ pr_debug("VSS: Not ready for request.\n");
|
|
vss_respond_to_host(HV_E_FAIL);
|
|
return;
|
|
}
|
|
+
|
|
+ pr_debug("VSS: Received request for op code: %d\n",
|
|
+ vss_transaction.msg->vss_hdr.operation);
|
|
vss_transaction.state = HVUTIL_HOSTMSG_RECEIVED;
|
|
vss_send_op();
|
|
return;
|
|
@@ -353,8 +364,10 @@ hv_vss_init(struct hv_util_service *srv)
|
|
|
|
hvt = hvutil_transport_init(vss_devname, CN_VSS_IDX, CN_VSS_VAL,
|
|
vss_on_msg, vss_on_reset);
|
|
- if (!hvt)
|
|
+ if (!hvt) {
|
|
+ pr_warn("VSS: Failed to initialize transport\n");
|
|
return -EFAULT;
|
|
+ }
|
|
|
|
return 0;
|
|
}
|
|
--
|
|
2.21.0
|
|
|