--- a/usr/src/uts/common/fs/zfs/zio.c Tue Sep 29 10:20:35 2009 +0200
+++ b/usr/src/uts/common/fs/zfs/zio.c Tue Sep 29 07:29:35 2009 -0700
@@ -2196,8 +2196,9 @@
if (zio->io_error != ECKSUM && vd != NULL && !vdev_is_dead(vd))
zfs_ereport_post(FM_EREPORT_ZFS_IO, spa, vd, zio, 0, 0);
- if ((zio->io_error == EIO ||
- !(zio->io_flags & ZIO_FLAG_SPECULATIVE)) && zio == lio) {
+ if ((zio->io_error == EIO || !(zio->io_flags &
+ (ZIO_FLAG_SPECULATIVE | ZIO_FLAG_DONT_PROPAGATE))) &&
+ zio == lio) {
/*
* For logical I/O requests, tell the SPA to log the
* error and generate a logical data ereport.