summaryrefslogtreecommitdiffstats
path: root/module/zfs/arc.c
diff options
context:
space:
mode:
authorGeorge Wilson <[email protected]>2013-05-10 12:47:54 -0700
committerBrian Behlendorf <[email protected]>2013-11-05 12:14:21 -0800
commit03c6040bee6c87a9413b7da41d9f580f79a8ab62 (patch)
tree86f8f3e6220c87da8e1b075fba858848f59a9c81 /module/zfs/arc.c
parent831baf06efb3023ddee7ed41800d3b44521bf2ee (diff)
Illumos #3236
3236 zio nop-write Reviewed by: Matt Ahrens <[email protected]> Reviewed by: Adam Leventhal <[email protected]> Reviewed by: Christopher Siden <[email protected]> Approved by: Garrett D'Amore <[email protected]> References: illumos/illumos-gate@80901aea8e78a2c20751f61f01bebd1d5b5c2ba5 https://www.illumos.org/issues/3236 Porting Notes 1. This patch is being merged dispite an increased instance of https://www.illumos.org/issues/3113 being triggered by ztest. Ported-by: Brian Behlendorf <[email protected]> Issue #1489
Diffstat (limited to 'module/zfs/arc.c')
-rw-r--r--module/zfs/arc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/module/zfs/arc.c b/module/zfs/arc.c
index c66ff009d..04f87a810 100644
--- a/module/zfs/arc.c
+++ b/module/zfs/arc.c
@@ -3708,6 +3708,12 @@ arc_write_done(zio_t *zio)
arc_hdr_destroy(exists);
exists = buf_hash_insert(hdr, &hash_lock);
ASSERT3P(exists, ==, NULL);
+ } else if (zio->io_flags & ZIO_FLAG_NOPWRITE) {
+ /* nopwrite */
+ ASSERT(zio->io_prop.zp_nopwrite);
+ if (!BP_EQUAL(&zio->io_bp_orig, zio->io_bp))
+ panic("bad nopwrite, hdr=%p exists=%p",
+ (void *)hdr, (void *)exists);
} else {
/* Dedup */
ASSERT(hdr->b_datacnt == 1);