summaryrefslogtreecommitdiffstats
path: root/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c')
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c
index a28ca3e..33a2269 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c
@@ -293,10 +293,11 @@ vdev_mirror_io_start(zio_t *zio)
c = vdev_mirror_child_select(zio);
children = (c >= 0);
} else {
- ASSERT(zio->io_type == ZIO_TYPE_WRITE);
+ ASSERT(zio->io_type == ZIO_TYPE_WRITE ||
+ zio->io_type == ZIO_TYPE_FREE);
/*
- * Writes go to all children.
+ * Writes and frees go to all children.
*/
c = 0;
children = mm->mm_children;
@@ -377,6 +378,8 @@ vdev_mirror_io_done(zio_t *zio)
zio->io_error = vdev_mirror_worst_error(mm);
}
return;
+ } else if (zio->io_type == ZIO_TYPE_FREE) {
+ return;
}
ASSERT(zio->io_type == ZIO_TYPE_READ);
OpenPOWER on IntegriCloud