kill di_mode checks after xfs_iget
PATCH 1/1 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)
Signed-off-by Christoph Hellwig <[email protected]>
fs/xfs/dmapi/xfs_dm.c +0 -8
@@ -503,10 +503,6 @@ xfs_dm_bulkall_iget_one( XFS_IGET_BULKSTAT, XFS_ILOCK_SHARED, &ip, bno);if (error)return error; -if (ip->i_d.di_mode ==0 ) { -xfs_iput_new (ip,XFS_ILOCK_SHARED ); -return ENOENT ; - }xfs_ip_to_stat (mp, ino, ip, &xbuf->dx_statinfo);dm_ip_to_handle (ip->i_vnode, &handle);
@@ -766,10 +762,6 @@ xfs_dm_bulkattr_iget_one( XFS_IGET_BULKSTAT, XFS_ILOCK_SHARED, &ip, bno);if (error)return error; -if (ip->i_d.di_mode ==0 ) { -xfs_iput_new (ip,XFS_ILOCK_SHARED ); -return ENOENT ; - }xfs_ip_to_stat (mp, ino, ip, sbuf);dm_ip_to_handle (ip->i_vnode, &handle);
fs/xfs/linux-2.6/xfs_ioctl.c +1 -1
@@ -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 ); }
fs/xfs/quota/xfs_qm.c +0 -6
@@ -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
fs/xfs/quota/xfs_qm_syscalls.c +0 -6
@@ -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
fs/xfs/xfs_itable.c +0 -5
@@ -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;
fs/xfs/linux-2.6/xfs_export.c +1 -1
@@ -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 ); }