summaryrefslogtreecommitdiffstats
path: root/include/sys
diff options
context:
space:
mode:
authorJustin T. Gibbs <[email protected]>2015-03-12 11:10:35 +1100
committerBrian Behlendorf <[email protected]>2015-03-12 15:40:39 -0700
commit4c7b7eedcde7fababf457ca04445e6d9d1617e29 (patch)
tree4aad4ad89dc24211d74bcc64b285b98b6b03ff31 /include/sys
parent73ad4a9f3cfc2e830de45c2a8be2823d01ab07a6 (diff)
Illumos 5630 - stale bonus buffer in recycled dnode_t leads to data corruption
5630 stale bonus buffer in recycled dnode_t leads to data corruption Author: Justin T. Gibbs <[email protected]> Reviewed by: Matthew Ahrens <[email protected]> Reviewed by: George Wilson <[email protected]> Reviewed by: Will Andrews <[email protected]> Approved by: Robert Mustacchi <[email protected]> References: https://www.illumos.org/issues/5630 https://github.com/illumos/illumos-gate/commit/cd485b4 Ported-by: Chris Dunlop <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Signed-off-by: Richard Yao <[email protected]> Issue #3172
Diffstat (limited to 'include/sys')
-rw-r--r--include/sys/dnode.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/sys/dnode.h b/include/sys/dnode.h
index 64bf000b6..b63549b46 100644
--- a/include/sys/dnode.h
+++ b/include/sys/dnode.h
@@ -290,6 +290,7 @@ int dnode_hold_impl(struct objset *dd, uint64_t object, int flag,
void *ref, dnode_t **dnp);
boolean_t dnode_add_ref(dnode_t *dn, void *ref);
void dnode_rele(dnode_t *dn, void *ref);
+void dnode_rele_and_unlock(dnode_t *dn, void *tag);
void dnode_setdirty(dnode_t *dn, dmu_tx_t *tx);
void dnode_sync(dnode_t *dn, dmu_tx_t *tx);
void dnode_allocate(dnode_t *dn, dmu_object_type_t ot, int blocksize, int ibs,
@@ -311,6 +312,7 @@ void dnode_fini(void);
int dnode_next_offset(dnode_t *dn, int flags, uint64_t *off,
int minlvl, uint64_t blkfill, uint64_t txg);
void dnode_evict_dbufs(dnode_t *dn);
+void dnode_evict_bonus(dnode_t *dn);
#ifdef ZFS_DEBUG