diff options
author | Matthew Ahrens <mahrens@delphix.com> | 2013-08-20 20:11:52 -0800 |
---|---|---|
committer | Brian Behlendorf <behlendorf1@llnl.gov> | 2013-11-05 12:23:35 -0800 |
commit | b663a23d36d805dd5e9d1b4663dbf5966944002d (patch) | |
tree | 1b50cc016c2e7658fa66360125e2e02e7ca57a93 /include/sys/dnode.h | |
parent | 46ba1e59d3ae7e374c7a98f15f4bef21ee3fcded (diff) |
Illumos #4047
4047 panic from dbuf_free_range() from dmu_free_object() while
doing zfs receive
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Approved by: Dan McDonald <danmcd@nexenta.com>
References:
https://www.illumos.org/issues/4047
illumos/illumos-gate@713d6c208802cfbb806329ec0d154b641b80c355
Ported-by: Richard Yao <ryao@gentoo.org>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #1775
Porting notes:
1. The exported symbol dmu_free_object() was renamed to
dmu_free_long_object() in Illumos.
Diffstat (limited to 'include/sys/dnode.h')
-rw-r--r-- | include/sys/dnode.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/sys/dnode.h b/include/sys/dnode.h index c3de03d36..55b87bc39 100644 --- a/include/sys/dnode.h +++ b/include/sys/dnode.h @@ -20,7 +20,7 @@ */ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2012 by Delphix. All rights reserved. + * Copyright (c) 2013 by Delphix. All rights reserved. */ #ifndef _SYS_DNODE_H @@ -188,6 +188,8 @@ typedef struct dnode { /* protected by dn_dbufs_mtx; declared here to fill 32-bit hole */ uint32_t dn_dbufs_count; /* count of dn_dbufs */ + /* There are no level-0 blocks of this blkid or higher in dn_dbufs */ + uint64_t dn_unlisted_l0_blkid; /* protected by os_lock: */ list_node_t dn_dirty_link[TXG_SIZE]; /* next on dataset's dirty */ |