diff options
author | Lachlan McIlroy <lachlan@redback.melbourne.sgi.com> | 2008-12-05 14:15:49 +1100 |
---|---|---|
committer | Lachlan McIlroy <lachlan@redback.melbourne.sgi.com> | 2008-12-05 14:15:49 +1100 |
commit | 797eaed40e1df4a3b9ece6894a71ce2b568bca38 (patch) | |
tree | 930f84ddfa6cf8cb7e4ff81122cafd877489c02f /fs | |
parent | a5b429d41fede3a90deb532f5c2318393ed3a17b (diff) | |
download | op-kernel-dev-797eaed40e1df4a3b9ece6894a71ce2b568bca38.zip op-kernel-dev-797eaed40e1df4a3b9ece6894a71ce2b568bca38.tar.gz |
[XFS] Remove unnecessary assertion
Hit this assert because an inode was tagged with XFS_ICI_RECLAIM_TAG but
not XFS_IRECLAIMABLE|XFS_IRECLAIM. This is because xfs_iget_cache_hit()
first clears XFS_IRECLAIMABLE and then calls __xfs_inode_clear_reclaim_tag()
while only holding the pag_ici_lock in read mode so we can race with
xfs_reclaim_inodes_ag(). Looks like xfs_reclaim_inodes_ag() will do the
right thing anyway so just remove the assert.
Thanks to Christoph for pointing out where the problem was.
Signed-off-by: Lachlan McIlroy <lachlan@sgi.com>
Reviewed-by: Christoph Hellwig <hch@infradead.org>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/xfs/linux-2.6/xfs_sync.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/fs/xfs/linux-2.6/xfs_sync.c b/fs/xfs/linux-2.6/xfs_sync.c index ca5bd29..2ed0353 100644 --- a/fs/xfs/linux-2.6/xfs_sync.c +++ b/fs/xfs/linux-2.6/xfs_sync.c @@ -707,8 +707,6 @@ restart: break; } - ASSERT(xfs_iflags_test(ip, (XFS_IRECLAIMABLE|XFS_IRECLAIM))); - /* ignore if already under reclaim */ if (xfs_iflags_test(ip, XFS_IRECLAIM)) { read_unlock(&pag->pag_ici_lock); |