Removed erroneous zfs_inode_destroy() calls from zfs_rmnode().

iput_final() already calls zpl_inode_destroy() -> zfs_inode_destroy()
for us after zfs_zinactive(), thus making sure that the inode is
properly cleaned up.

The zfs_inode_destroy() calls in zfs_rmnode() would lead to a
double-free.

Fixes #282
This commit is contained in:
Gunnar Beutner 2011-06-16 20:59:56 +02:00 committed by Brian Behlendorf
parent df30f56639
commit 6f0cf71e0d

View File

@ -614,7 +614,6 @@ zfs_rmnode(znode_t *zp)
* Leave it in the unlinked set. * Leave it in the unlinked set.
*/ */
zfs_znode_dmu_fini(zp); zfs_znode_dmu_fini(zp);
zfs_inode_destroy(ZTOI(zp));
return; return;
} }
@ -629,7 +628,6 @@ zfs_rmnode(znode_t *zp)
* Not enough space. Leave the file in the unlinked set. * Not enough space. Leave the file in the unlinked set.
*/ */
zfs_znode_dmu_fini(zp); zfs_znode_dmu_fini(zp);
zfs_inode_destroy(ZTOI(zp));
return; return;
} }
@ -669,7 +667,6 @@ zfs_rmnode(znode_t *zp)
*/ */
dmu_tx_abort(tx); dmu_tx_abort(tx);
zfs_znode_dmu_fini(zp); zfs_znode_dmu_fini(zp);
zfs_inode_destroy(ZTOI(zp));
goto out; goto out;
} }