xfs: clean up xfs_inactive() error handling, kill VN_INACTIVE_[NO]CACHE
The xfs_inactive() return value is meaningless. Turn xfs_inactive() into a void function and clean up the error handling appropriately. Kill the VN_INACTIVE_[NO]CACHE directives as they are not relevant to Linux. Signed-off-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Ben Myers <bpm@sgi.com>
This commit is contained in:
@@ -1790,7 +1790,7 @@ xfs_inactive_ifree(
|
||||
* now be truncated. Also, we clear all of the read-ahead state
|
||||
* kept for the inode here since the file is now closed.
|
||||
*/
|
||||
int
|
||||
void
|
||||
xfs_inactive(
|
||||
xfs_inode_t *ip)
|
||||
{
|
||||
@@ -1805,16 +1805,14 @@ xfs_inactive(
|
||||
if (ip->i_d.di_mode == 0) {
|
||||
ASSERT(ip->i_df.if_real_bytes == 0);
|
||||
ASSERT(ip->i_df.if_broot_bytes == 0);
|
||||
return VN_INACTIVE_CACHE;
|
||||
return;
|
||||
}
|
||||
|
||||
mp = ip->i_mount;
|
||||
|
||||
error = 0;
|
||||
|
||||
/* If this is a read-only mount, don't do this (would generate I/O) */
|
||||
if (mp->m_flags & XFS_MOUNT_RDONLY)
|
||||
goto out;
|
||||
return;
|
||||
|
||||
if (ip->i_d.di_nlink != 0) {
|
||||
/*
|
||||
@@ -1822,12 +1820,10 @@ xfs_inactive(
|
||||
* cache. Post-eof blocks must be freed, lest we end up with
|
||||
* broken free space accounting.
|
||||
*/
|
||||
if (xfs_can_free_eofblocks(ip, true)) {
|
||||
error = xfs_free_eofblocks(mp, ip, false);
|
||||
if (error)
|
||||
return VN_INACTIVE_CACHE;
|
||||
}
|
||||
goto out;
|
||||
if (xfs_can_free_eofblocks(ip, true))
|
||||
xfs_free_eofblocks(mp, ip, false);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (S_ISREG(ip->i_d.di_mode) &&
|
||||
@@ -1837,14 +1833,14 @@ xfs_inactive(
|
||||
|
||||
error = xfs_qm_dqattach(ip, 0);
|
||||
if (error)
|
||||
return VN_INACTIVE_CACHE;
|
||||
return;
|
||||
|
||||
if (S_ISLNK(ip->i_d.di_mode))
|
||||
error = xfs_inactive_symlink(ip);
|
||||
else if (truncate)
|
||||
error = xfs_inactive_truncate(ip);
|
||||
if (error)
|
||||
goto out;
|
||||
return;
|
||||
|
||||
/*
|
||||
* If there are attributes associated with the file then blow them away
|
||||
@@ -1857,7 +1853,7 @@ xfs_inactive(
|
||||
|
||||
error = xfs_attr_inactive(ip);
|
||||
if (error)
|
||||
goto out;
|
||||
return;
|
||||
}
|
||||
|
||||
if (ip->i_afp)
|
||||
@@ -1870,14 +1866,12 @@ xfs_inactive(
|
||||
*/
|
||||
error = xfs_inactive_ifree(ip);
|
||||
if (error)
|
||||
goto out;
|
||||
return;
|
||||
|
||||
/*
|
||||
* Release the dquots held by inode, if any.
|
||||
*/
|
||||
xfs_qm_dqdetach(ip);
|
||||
out:
|
||||
return VN_INACTIVE_CACHE;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user