summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_log_recover.c
diff options
context:
space:
mode:
authorLachlan McIlroy <lachlan@sgi.com>2007-10-15 05:18:02 +0200
committerTim Shimmin <tes@chook.melbourne.sgi.com>2007-10-16 06:22:39 +0200
commitbebf963fec2f319d162c18d06b6592f572c9c101 (patch)
tree71abaab06023eb581f9fa059da119da553532493 /fs/xfs/xfs_log_recover.c
parent[XFS] avoid race in sync_inodes() that can fail to write out all dirty data (diff)
downloadlinux-bebf963fec2f319d162c18d06b6592f572c9c101.tar.xz
linux-bebf963fec2f319d162c18d06b6592f572c9c101.zip
[XFS] Turn off XBF_ASYNC flag before re-reading superblock.
SGI-PV: 971603 SGI-Modid: xfs-linux-melb:xfs-kern:29871a Signed-off-by: Lachlan McIlroy <lachlan@sgi.com> Signed-off-by: David Chinner <dgc@sgi.com> Signed-off-by: Tim Shimmin <tes@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_log_recover.c')
-rw-r--r--fs/xfs/xfs_log_recover.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c
index eb341461feb9..851eca8a7150 100644
--- a/fs/xfs/xfs_log_recover.c
+++ b/fs/xfs/xfs_log_recover.c
@@ -3834,7 +3834,10 @@ xlog_do_recover(
*/
bp = xfs_getsb(log->l_mp, 0);
XFS_BUF_UNDONE(bp);
+ ASSERT(!(XFS_BUF_ISWRITE(bp)));
+ ASSERT(!(XFS_BUF_ISDELAYWRITE(bp)));
XFS_BUF_READ(bp);
+ XFS_BUF_UNASYNC(bp);
xfsbdstrat(log->l_mp, bp);
if ((error = xfs_iowait(bp))) {
xfs_ioerror_alert("xlog_do_recover",