aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/linux-2.6/xfs_iops.c
diff options
context:
space:
mode:
authorDave Chinner <david@fromorbit.com>2008-11-10 17:13:23 +1100
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>2008-11-10 17:13:23 +1100
commit6307091fe69ae74747298bdcaf43119ad67bda3a (patch)
treec1feb80479b7ae4ebcf9a4336e50dfd18aebcb38 /fs/xfs/linux-2.6/xfs_iops.c
parent[XFS] fix uninitialised variable bug in dquot release (diff)
downloadlinux-dev-6307091fe69ae74747298bdcaf43119ad67bda3a.tar.xz
linux-dev-6307091fe69ae74747298bdcaf43119ad67bda3a.zip
[XFS] Avoid using inodes that haven't been completely initialised
The radix tree walks in xfs_sync_inodes_ag and xfs_qm_dqrele_all_inodes() can find inodes that are still undergoing initialisation. Avoid them by checking for the the XFS_INEW() flag once we have a reference on the inode. This flag is cleared once the inode is properly initialised. SGI-PV: 987246 Signed-off-by: Dave Chinner <david@fromorbit.com> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_iops.c')
-rw-r--r--fs/xfs/linux-2.6/xfs_iops.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/fs/xfs/linux-2.6/xfs_iops.c b/fs/xfs/linux-2.6/xfs_iops.c
index f78bc2215764..69c98cf32336 100644
--- a/fs/xfs/linux-2.6/xfs_iops.c
+++ b/fs/xfs/linux-2.6/xfs_iops.c
@@ -780,7 +780,6 @@ xfs_setup_inode(
inode->i_ino = ip->i_ino;
inode->i_state = I_NEW|I_LOCK;
inode_add_to_lists(ip->i_mount->m_super, inode);
- ASSERT(atomic_read(&inode->i_count) == 1);
inode->i_mode = ip->i_d.di_mode;
inode->i_nlink = ip->i_d.di_nlink;