|
@@ -1007,25 +1007,20 @@ xfs_bwrite(
|
|
|
struct xfs_mount *mp,
|
|
|
struct xfs_buf *bp)
|
|
|
{
|
|
|
- int iowait = (bp->b_flags & XBF_ASYNC) == 0;
|
|
|
- int error = 0;
|
|
|
+ int error;
|
|
|
|
|
|
bp->b_strat = xfs_bdstrat_cb;
|
|
|
bp->b_mount = mp;
|
|
|
bp->b_flags |= XBF_WRITE;
|
|
|
- if (!iowait)
|
|
|
- bp->b_flags |= _XBF_RUN_QUEUES;
|
|
|
+ bp->b_flags &= ~(XBF_ASYNC | XBF_READ);
|
|
|
|
|
|
xfs_buf_delwri_dequeue(bp);
|
|
|
xfs_buf_iostrategy(bp);
|
|
|
|
|
|
- if (iowait) {
|
|
|
- error = xfs_buf_iowait(bp);
|
|
|
- if (error)
|
|
|
- xfs_force_shutdown(mp, SHUTDOWN_META_IO_ERROR);
|
|
|
- xfs_buf_relse(bp);
|
|
|
- }
|
|
|
-
|
|
|
+ error = xfs_buf_iowait(bp);
|
|
|
+ if (error)
|
|
|
+ xfs_force_shutdown(mp, SHUTDOWN_META_IO_ERROR);
|
|
|
+ xfs_buf_relse(bp);
|
|
|
return error;
|
|
|
}
|
|
|
|