usr/src/uts/common/fs/zfs/zio.c
changeset 11125 fca3e6d28599
parent 11026 e8e10df16a8f
child 11146 7e58f40bcb1c
--- a/usr/src/uts/common/fs/zfs/zio.c	Fri Nov 20 12:17:57 2009 +0800
+++ b/usr/src/uts/common/fs/zfs/zio.c	Thu Nov 19 22:24:55 2009 -0800
@@ -867,6 +867,9 @@
 	if (!dmu_ot[BP_GET_TYPE(bp)].ot_metadata && BP_GET_LEVEL(bp) == 0)
 		zio->io_flags |= ZIO_FLAG_DONT_CACHE;
 
+	if (BP_GET_TYPE(bp) == DMU_OT_DDT_ZAP)
+		zio->io_flags |= ZIO_FLAG_DONT_CACHE;
+
 	if (BP_GET_DEDUP(bp) && zio->io_child_type == ZIO_CHILD_LOGICAL)
 		zio->io_pipeline = ZIO_DDT_READ_PIPELINE;
 
@@ -1736,7 +1739,8 @@
 		for (int p = 0; p < DDT_PHYS_TYPES; p++, ddp++) {
 			if (ddp->ddp_phys_birth == 0 || ddp == ddp_self)
 				continue;
-			ddt_bp_create(ddt, &dde->dde_key, ddp, &blk);
+			ddt_bp_create(ddt->ddt_checksum, &dde->dde_key, ddp,
+			    &blk);
 			zio_nowait(zio_read(zio, zio->io_spa, &blk,
 			    zio_buf_alloc(zio->io_size), zio->io_size,
 			    zio_ddt_child_read_done, dde, zio->io_priority,