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:
Родитель
88877d2b97
Коммит
74564fb48c
|
@ -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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -316,7 +316,7 @@ static inline int xfs_isiflocked(struct xfs_inode *ip)
|
|||
|
||||
|
||||
int xfs_release(struct xfs_inode *ip);
|
||||
int xfs_inactive(struct xfs_inode *ip);
|
||||
void xfs_inactive(struct xfs_inode *ip);
|
||||
int xfs_lookup(struct xfs_inode *dp, struct xfs_name *name,
|
||||
struct xfs_inode **ipp, struct xfs_name *ci_name);
|
||||
int xfs_create(struct xfs_inode *dp, struct xfs_name *name,
|
||||
|
|
|
@ -24,14 +24,6 @@ struct file;
|
|||
struct xfs_inode;
|
||||
struct attrlist_cursor_kern;
|
||||
|
||||
/*
|
||||
* Return values for xfs_inactive. A return value of
|
||||
* VN_INACTIVE_NOCACHE implies that the file system behavior
|
||||
* has disassociated its state and bhv_desc_t from the vnode.
|
||||
*/
|
||||
#define VN_INACTIVE_CACHE 0
|
||||
#define VN_INACTIVE_NOCACHE 1
|
||||
|
||||
/*
|
||||
* Flags for read/write calls - same values as IRIX
|
||||
*/
|
||||
|
|
Загрузка…
Ссылка в новой задаче