summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_trans_ail.c
diff options
context:
space:
mode:
authorDavid Chinner <david@fromorbit.com>2008-10-30 08:26:51 +0100
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>2008-10-30 08:26:51 +0100
commit7ee49acfe54883f16d28d9486b789431a5804d18 (patch)
tree4c5dff6bc4276a5dc23b71ec19e38a8487f2a814 /fs/xfs/xfs_trans_ail.c
parent[XFS] free partially initialized inodes using destroy_inode (diff)
downloadlinux-7ee49acfe54883f16d28d9486b789431a5804d18.tar.xz
linux-7ee49acfe54883f16d28d9486b789431a5804d18.zip
[XFS] correctly select first log item to push
Under heavy metadata load we are seeing log hangs. The AIL has items in it ready to be pushed, and they are within the push target window. However, we are not pushing them when the last pushed LSN is less than the LSN of the first log item on the AIL. This is a regression introduced by the AIL push cursor modifications. SGI-PV: 987246 SGI-Modid: xfs-linux-melb:xfs-kern:32409a Signed-off-by: David Chinner <david@fromorbit.com> Signed-off-by: Lachlan McIlroy <lachlan@sgi.com> Signed-off-by: Tim Shimmin <tes@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_trans_ail.c')
-rw-r--r--fs/xfs/xfs_trans_ail.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/xfs/xfs_trans_ail.c b/fs/xfs/xfs_trans_ail.c
index 67ee4663336c..2d47f10f8bed 100644
--- a/fs/xfs/xfs_trans_ail.c
+++ b/fs/xfs/xfs_trans_ail.c
@@ -228,7 +228,7 @@ xfs_trans_ail_cursor_first(
list_for_each_entry(lip, &ailp->xa_ail, li_ail) {
if (XFS_LSN_CMP(lip->li_lsn, lsn) >= 0)
- break;
+ goto out;
}
lip = NULL;
out: