summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Chinner <david@fromorbit.com>2008-10-30 07:26:51 (GMT)
committerLachlan McIlroy <lachlan@redback.melbourne.sgi.com>2008-10-30 07:26:51 (GMT)
commit7ee49acfe54883f16d28d9486b789431a5804d18 (patch)
tree4c5dff6bc4276a5dc23b71ec19e38a8487f2a814
parent9ed0451ee0a13469f7b38e4ced8974036f6d114f (diff)
downloadlinux-7ee49acfe54883f16d28d9486b789431a5804d18.tar.xz
[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>
-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 67ee466..2d47f10 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: