From 08dc1b2ddd3526bf6c495403b62d2e5a7ddc1b3b Mon Sep 17 00:00:00 2001 From: Matthew Ahrens Date: Thu, 7 May 2015 03:24:09 +1000 Subject: [PATCH] Illumos 5350 - clean up code in dnode_sync() Author: Matthew Ahrens Reviewed by: Alex Reece Reviewed by: Christopher Siden Reviewed by: George Wilson Reviewed by: Richard Elling Approved by: Dan McDonald References: https://www.illumos.org/issues/5350 https://github.com/illumos/illumos-gate/commit/e651831 Ported-by: Chris Dunlop Signed-off-by: Brian Behlendorf Closes #3382 --- module/zfs/dnode_sync.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/module/zfs/dnode_sync.c b/module/zfs/dnode_sync.c index 5c80a531d2d9..6f668364b704 100644 --- a/module/zfs/dnode_sync.c +++ b/module/zfs/dnode_sync.c @@ -638,12 +638,11 @@ dnode_sync(dnode_t *dn, dmu_tx_t *tx) freeing_dnode = dn->dn_free_txg > 0 && 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; }