diff options
author | Alex Ng <alexng@messages.microsoft.com> | 2016-11-06 16:14:11 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-11-07 04:01:17 -0500 |
commit | b357fd3908c1191f2f56e38aa77f2aecdae18bc8 (patch) | |
tree | 587e8dac49db4cf1d2f4dac4fc03507c17c3dce9 | |
parent | 23d2cc0c29eb0e7c6fe4cac88098306c31c40208 (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.c | 8 |
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) { |