[XFS] kill di_mode checks after xfs_iget
Unless XFS_IGET_CREATE is passed xfs_iget will return ENOENT if it encounters an inode with di_mode == 0. Remove the duplicated checks in the callers. (the log recovery case is not touched for now) SGI-PV: 976035 SGI-Modid: xfs-linux-melb:xfs-kern:30898a Signed-off-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
This commit is contained in:
parent
4e5dbb3498
commit
6a7f422d47
5 changed files with 2 additions and 20 deletions
|
@ -133,7 +133,7 @@ xfs_nfs_get_inode(
|
|||
if (!ip)
|
||||
return ERR_PTR(-EIO);
|
||||
|
||||
if (!ip->i_d.di_mode || ip->i_d.di_gen != generation) {
|
||||
if (ip->i_d.di_gen != generation) {
|
||||
xfs_iput_new(ip, XFS_ILOCK_SHARED);
|
||||
return ERR_PTR(-ENOENT);
|
||||
}
|
||||
|
|
|
@ -238,7 +238,7 @@ xfs_vget_fsop_handlereq(
|
|||
return error;
|
||||
if (ip == NULL)
|
||||
return XFS_ERROR(EIO);
|
||||
if (ip->i_d.di_mode == 0 || ip->i_d.di_gen != igen) {
|
||||
if (ip->i_d.di_gen != igen) {
|
||||
xfs_iput_new(ip, XFS_ILOCK_SHARED);
|
||||
return XFS_ERROR(ENOENT);
|
||||
}
|
||||
|
|
|
@ -1737,12 +1737,6 @@ xfs_qm_dqusage_adjust(
|
|||
return error;
|
||||
}
|
||||
|
||||
if (ip->i_d.di_mode == 0) {
|
||||
xfs_iput_new(ip, XFS_ILOCK_EXCL);
|
||||
*res = BULKSTAT_RV_NOTHING;
|
||||
return XFS_ERROR(ENOENT);
|
||||
}
|
||||
|
||||
/*
|
||||
* Obtain the locked dquots. In case of an error (eg. allocation
|
||||
* fails for ENOSPC), we return the negative of the error number
|
||||
|
|
|
@ -1366,12 +1366,6 @@ xfs_qm_internalqcheck_adjust(
|
|||
return (error);
|
||||
}
|
||||
|
||||
if (ip->i_d.di_mode == 0) {
|
||||
xfs_iput_new(ip, lock_flags);
|
||||
*res = BULKSTAT_RV_NOTHING;
|
||||
return XFS_ERROR(ENOENT);
|
||||
}
|
||||
|
||||
/*
|
||||
* This inode can have blocks after eof which can get released
|
||||
* when we send it to inactive. Since we don't check the dquot
|
||||
|
|
|
@ -71,11 +71,6 @@ xfs_bulkstat_one_iget(
|
|||
|
||||
ASSERT(ip != NULL);
|
||||
ASSERT(ip->i_blkno != (xfs_daddr_t)0);
|
||||
if (ip->i_d.di_mode == 0) {
|
||||
*stat = BULKSTAT_RV_NOTHING;
|
||||
error = XFS_ERROR(ENOENT);
|
||||
goto out_iput;
|
||||
}
|
||||
|
||||
vp = XFS_ITOV(ip);
|
||||
dic = &ip->i_d;
|
||||
|
@ -124,7 +119,6 @@ xfs_bulkstat_one_iget(
|
|||
break;
|
||||
}
|
||||
|
||||
out_iput:
|
||||
xfs_iput(ip, XFS_ILOCK_SHARED);
|
||||
return error;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue