diff options
author | delphij <delphij@FreeBSD.org> | 2014-12-13 01:18:23 +0000 |
---|---|---|
committer | delphij <delphij@FreeBSD.org> | 2014-12-13 01:18:23 +0000 |
commit | b6fe3b0b2de2c58c388e9aea9df1a2296c23eaaa (patch) | |
tree | c447d858e07def869b42028e079eba24d7597286 /sys/cddl | |
parent | 917c28290095d814297ef9a18ed3fa6ed3f3669e (diff) | |
download | FreeBSD-src-b6fe3b0b2de2c58c388e9aea9df1a2296c23eaaa.zip FreeBSD-src-b6fe3b0b2de2c58c388e9aea9df1a2296c23eaaa.tar.gz |
MFV r275544:
Clean up some duplicated code in dnode_sync() around freeing spill blocks.
Illumos issue:
5350 clean up code in dnode_sync()
MFC after: 2 weeks
Diffstat (limited to 'sys/cddl')
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c | 9 |
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; } |