| To: | xfs-oss <xfs@xxxxxxxxxxx> |
|---|---|
| Subject: | [PATCH] Remove unnecessary assertion |
| From: | Lachlan McIlroy <lachlan@xxxxxxx> |
| Date: | Thu, 04 Dec 2008 17:27:47 +1100 |
| Reply-to: | lachlan@xxxxxxx |
| User-agent: | Thunderbird 2.0.0.18 (X11/20081105) |
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.
--- xfs-fix.orig/fs/xfs/linux-2.6/xfs_sync.c
+++ xfs-fix/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);
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | [PATCH] Remove unused variable in ktrace_free(), Lachlan McIlroy |
|---|---|
| Next by Date: | next-20081203 build failure, when building xfs_file.o, Kamalesh Babulal |
| Previous by Thread: | [PATCH] Remove unused variable in ktrace_free(), Lachlan McIlroy |
| Next by Thread: | Re: [PATCH] Remove unnecessary assertion, Christoph Hellwig |
| Indexes: | [Date] [Thread] [Top] [All Lists] |