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