summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordelphij <delphij@FreeBSD.org>2015-01-23 17:24:56 +0000
committerdelphij <delphij@FreeBSD.org>2015-01-23 17:24:56 +0000
commit4cf14a4e5ede29920176d66fad52c637ed59174c (patch)
tree2a9ac478b398e86bac553fd59ad33ed8832a6afa
parent73a900fefa169f6b276d01a74a26549f80298cb5 (diff)
downloadFreeBSD-src-4cf14a4e5ede29920176d66fad52c637ed59174c.zip
FreeBSD-src-4cf14a4e5ede29920176d66fad52c637ed59174c.tar.gz
MFC r275736: MFV r275544:
Clean up some duplicated code in dnode_sync() around freeing spill blocks. Illumos issue: 5350 clean up code in dnode_sync()
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c
index 2a57aee..63bfc94 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c
@@ -633,12 +633,11 @@ dnode_sync(dnode_t *dn, dmu_tx_t *tx)
dn->dn_free_txg <= tx->tx_txg;
/*
- * We will either remove a spill block when a file is being removed
- * or we have been asked to remove it.
+ * Remove the spill block if we have been explicitly asked to
+ * remove it, or if the object is being removed.
*/
- if (dn->dn_rm_spillblk[txgoff] ||
- ((dnp->dn_flags & DNODE_FLAG_SPILL_BLKPTR) && freeing_dnode)) {
- if ((dnp->dn_flags & DNODE_FLAG_SPILL_BLKPTR))
+ if (dn->dn_rm_spillblk[txgoff] || freeing_dnode) {
+ if (dnp->dn_flags & DNODE_FLAG_SPILL_BLKPTR)
kill_spill = B_TRUE;
dn->dn_rm_spillblk[txgoff] = 0;
}
OpenPOWER on IntegriCloud