aboutsummaryrefslogtreecommitdiffstats
path: root/module/zfs/vdev_file.c
diff options
context:
space:
mode:
authorTony Hutter <[email protected]>2016-05-23 10:41:29 -0700
committerBrian Behlendorf <[email protected]>2016-05-26 10:11:51 -0700
commit26ef0cc7db03be6f7a5c2d06c7ecdb2449bfa9e1 (patch)
tree859a6fe7d768402ced116fcdf5c01981cdaa73f3 /module/zfs/vdev_file.c
parent7e945072d18541fb0c30e05b46cce14d01fea8aa (diff)
OpenZFS 6531 - Provide mechanism to artificially limit disk performance
Reviewed by: Paul Dagnelie <[email protected]> Reviewed by: Matthew Ahrens <[email protected]> Reviewed by: George Wilson <[email protected]> Approved by: Dan McDonald <[email protected]> Ported by: Tony Hutter <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> OpenZFS-issue: https://www.illumos.org/issues/6531 OpenZFS-commit: https://github.com/openzfs/openzfs/commit/97e8130 Porting notes: - Added new IO delay tracepoints, and moved common ZIO tracepoint macros to a new trace_common.h file. - Used zio_delay_taskq() in place of OpenZFS's timeout_generic() function. - Updated zinject man page - Updated zpool_scrub test files
Diffstat (limited to 'module/zfs/vdev_file.c')
-rw-r--r--module/zfs/vdev_file.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/module/zfs/vdev_file.c b/module/zfs/vdev_file.c
index a29ea7bf9..bca4175a6 100644
--- a/module/zfs/vdev_file.c
+++ b/module/zfs/vdev_file.c
@@ -20,7 +20,7 @@
*/
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2011, 2014 by Delphix. All rights reserved.
+ * Copyright (c) 2011, 2015 by Delphix. All rights reserved.
*/
#include <sys/zfs_context.h>
@@ -159,7 +159,7 @@ vdev_file_io_strategy(void *arg)
if (resid != 0 && zio->io_error == 0)
zio->io_error = SET_ERROR(ENOSPC);
- zio_interrupt(zio);
+ zio_delay_interrupt(zio);
}
static void
@@ -217,6 +217,8 @@ vdev_file_io_start(zio_t *zio)
return;
}
+ zio->io_target_timestamp = zio_handle_io_delay(zio);
+
VERIFY3U(taskq_dispatch(system_taskq, vdev_file_io_strategy, zio,
TQ_SLEEP), !=, 0);
}