Просмотр исходного кода

[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>
Lachlan McIlroy 16 лет назад
Родитель
Сommit
797eaed40e
1 измененных файлов с 0 добавлено и 2 удалено
  1. 0 2
      fs/xfs/linux-2.6/xfs_sync.c

+ 0 - 2
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);