xfs: cleanup xfs_idestroy_fork
Move freeing the dynamically allocated attr and COW fork, as well as zeroing the pointers where actually needed into the callers, and just pass the xfs_ifork structure to xfs_idestroy_fork. Also simplify the kmem_free calls by not checking for NULL first. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Chandan Babu R <chandanrlinux@gmail.com> Reviewed-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:

committed by
Darrick J. Wong

parent
f7e67b20ec
commit
ef8385128d
@@ -388,8 +388,11 @@ out_cancel:
|
||||
xfs_trans_cancel(trans);
|
||||
out_destroy_fork:
|
||||
/* kill the in-core attr fork before we drop the inode lock */
|
||||
if (dp->i_afp)
|
||||
xfs_idestroy_fork(dp, XFS_ATTR_FORK);
|
||||
if (dp->i_afp) {
|
||||
xfs_idestroy_fork(dp->i_afp);
|
||||
kmem_cache_free(xfs_ifork_zone, dp->i_afp);
|
||||
dp->i_afp = NULL;
|
||||
}
|
||||
if (lock_mode)
|
||||
xfs_iunlock(dp, lock_mode);
|
||||
return error;
|
||||
|
Reference in New Issue
Block a user