aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Ng <alexng@messages.microsoft.com>2016-11-06 16:14:11 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-11-07 04:01:17 -0500
commitb357fd3908c1191f2f56e38aa77f2aecdae18bc8 (patch)
tree587e8dac49db4cf1d2f4dac4fc03507c17c3dce9
parent23d2cc0c29eb0e7c6fe4cac88098306c31c40208 (diff)
Drivers: hv: vss: Operation timeouts should match host expectation
Increase the timeout of backup operations. When system is under I/O load, it needs more time to freeze. These timeout values should also match the host timeout values more closely. 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>
-rw-r--r--drivers/hv/hv_snapshot.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/hv/hv_snapshot.c b/drivers/hv/hv_snapshot.c
index 5c95ba1e2ecf..eee238cc60bd 100644
--- a/drivers/hv/hv_snapshot.c
+++ b/drivers/hv/hv_snapshot.c
@@ -31,7 +31,10 @@
31#define VSS_MINOR 0 31#define VSS_MINOR 0
32#define VSS_VERSION (VSS_MAJOR << 16 | VSS_MINOR) 32#define VSS_VERSION (VSS_MAJOR << 16 | VSS_MINOR)
33 33
34#define VSS_USERSPACE_TIMEOUT (msecs_to_jiffies(10 * 1000)) 34/*
35 * Timeout values are based on expecations from host
36 */
37#define VSS_FREEZE_TIMEOUT (15 * 60)
35 38
36/* 39/*
37 * Global state maintained for transaction that is being processed. For a class 40 * Global state maintained for transaction that is being processed. For a class
@@ -186,7 +189,8 @@ static void vss_send_op(void)
186 189
187 vss_transaction.state = HVUTIL_USERSPACE_REQ; 190 vss_transaction.state = HVUTIL_USERSPACE_REQ;
188 191
189 schedule_delayed_work(&vss_timeout_work, VSS_USERSPACE_TIMEOUT); 192 schedule_delayed_work(&vss_timeout_work, op == VSS_OP_FREEZE ?
193 VSS_FREEZE_TIMEOUT * HZ : HV_UTIL_TIMEOUT * HZ);
190 194
191 rc = hvutil_transport_send(hvt, vss_msg, sizeof(*vss_msg), NULL); 195 rc = hvutil_transport_send(hvt, vss_msg, sizeof(*vss_msg), NULL);
192 if (rc) { 196 if (rc) {