diff options
Diffstat (limited to 'module/zfs/zio.c')
-rw-r--r-- | module/zfs/zio.c | 10 |
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); |