aboutsummaryrefslogtreecommitdiff
path: root/module/zfs/zio.c
diff options
context:
space:
mode:
Diffstat (limited to 'module/zfs/zio.c')
-rw-r--r--module/zfs/zio.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/module/zfs/zio.c b/module/zfs/zio.c
index 8d8523038e60..414e3d4e93bd 100644
--- a/module/zfs/zio.c
+++ b/module/zfs/zio.c
@@ -4058,6 +4058,16 @@ zio_vdev_io_start(zio_t *zio)
zio->io_type == ZIO_TYPE_WRITE ||
zio->io_type == ZIO_TYPE_TRIM)) {
+ if (zio_handle_device_injection(vd, zio, ENOSYS) != 0) {
+ /*
+ * "no-op" injections return success, but do no actual
+ * work. Just skip the remaining vdev stages.
+ */
+ zio_vdev_io_bypass(zio);
+ zio_interrupt(zio);
+ return (NULL);
+ }
+
if ((zio = vdev_queue_io(zio)) == NULL)
return (NULL);