|
@@ -1212,7 +1212,7 @@ xlog_iodone(xfs_buf_t *bp)
|
|
|
}
|
|
|
|
|
|
/* log I/O is always issued ASYNC */
|
|
|
- ASSERT(XFS_BUF_ISASYNC(bp));
|
|
|
+ ASSERT(bp->b_flags & XBF_ASYNC);
|
|
|
xlog_state_done_syncing(iclog, aborted);
|
|
|
|
|
|
/*
|
|
@@ -1864,9 +1864,8 @@ xlog_sync(
|
|
|
|
|
|
bp->b_io_length = BTOBB(count);
|
|
|
bp->b_fspriv = iclog;
|
|
|
- XFS_BUF_ZEROFLAGS(bp);
|
|
|
- XFS_BUF_ASYNC(bp);
|
|
|
- bp->b_flags |= XBF_SYNCIO;
|
|
|
+ bp->b_flags &= ~(XBF_FUA | XBF_FLUSH);
|
|
|
+ bp->b_flags |= (XBF_ASYNC | XBF_SYNCIO | XBF_WRITE);
|
|
|
|
|
|
if (log->l_mp->m_flags & XFS_MOUNT_BARRIER) {
|
|
|
bp->b_flags |= XBF_FUA;
|
|
@@ -1893,12 +1892,11 @@ xlog_sync(
|
|
|
|
|
|
/* account for log which doesn't start at block #0 */
|
|
|
XFS_BUF_SET_ADDR(bp, XFS_BUF_ADDR(bp) + log->l_logBBstart);
|
|
|
+
|
|
|
/*
|
|
|
* Don't call xfs_bwrite here. We do log-syncs even when the filesystem
|
|
|
* is shutting down.
|
|
|
*/
|
|
|
- XFS_BUF_WRITE(bp);
|
|
|
-
|
|
|
error = xlog_bdstrat(bp);
|
|
|
if (error) {
|
|
|
xfs_buf_ioerror_alert(bp, "xlog_sync");
|
|
@@ -1910,9 +1908,8 @@ xlog_sync(
|
|
|
xfs_buf_associate_memory(bp,
|
|
|
(char *)&iclog->ic_header + count, split);
|
|
|
bp->b_fspriv = iclog;
|
|
|
- XFS_BUF_ZEROFLAGS(bp);
|
|
|
- XFS_BUF_ASYNC(bp);
|
|
|
- bp->b_flags |= XBF_SYNCIO;
|
|
|
+ bp->b_flags &= ~(XBF_FUA | XBF_FLUSH);
|
|
|
+ bp->b_flags |= (XBF_ASYNC | XBF_SYNCIO | XBF_WRITE);
|
|
|
if (log->l_mp->m_flags & XFS_MOUNT_BARRIER)
|
|
|
bp->b_flags |= XBF_FUA;
|
|
|
|
|
@@ -1921,7 +1918,6 @@ xlog_sync(
|
|
|
|
|
|
/* account for internal log which doesn't start at block #0 */
|
|
|
XFS_BUF_SET_ADDR(bp, XFS_BUF_ADDR(bp) + log->l_logBBstart);
|
|
|
- XFS_BUF_WRITE(bp);
|
|
|
error = xlog_bdstrat(bp);
|
|
|
if (error) {
|
|
|
xfs_buf_ioerror_alert(bp, "xlog_sync (split)");
|
|
@@ -3979,7 +3975,7 @@ xfs_log_force_umount(
|
|
|
log->l_flags & XLOG_ACTIVE_RECOVERY) {
|
|
|
mp->m_flags |= XFS_MOUNT_FS_SHUTDOWN;
|
|
|
if (mp->m_sb_bp)
|
|
|
- XFS_BUF_DONE(mp->m_sb_bp);
|
|
|
+ mp->m_sb_bp->b_flags |= XBF_DONE;
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
@@ -4009,7 +4005,7 @@ xfs_log_force_umount(
|
|
|
spin_lock(&log->l_icloglock);
|
|
|
mp->m_flags |= XFS_MOUNT_FS_SHUTDOWN;
|
|
|
if (mp->m_sb_bp)
|
|
|
- XFS_BUF_DONE(mp->m_sb_bp);
|
|
|
+ mp->m_sb_bp->b_flags |= XBF_DONE;
|
|
|
|
|
|
/*
|
|
|
* Mark the log and the iclogs with IO error flags to prevent any
|