]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - fs/xfs/xfs_buf_item.c
xfs: remove buffers from the delwri list in xfs_buf_stale
[karo-tx-linux.git] / fs / xfs / xfs_buf_item.c
index cac2ecfa674684762cce50d5acd323f79b8b4d5a..06a76ca996597c64d32ec46e4ce7e3318abe6446 100644 (file)
@@ -966,7 +966,8 @@ xfs_buf_iodone_callbacks(
         * I/O errors, there's no point in giving this a retry.
         */
        if (XFS_FORCED_SHUTDOWN(mp)) {
-               XFS_BUF_SUPER_STALE(bp);
+               xfs_buf_stale(bp);
+               XFS_BUF_DONE(bp);
                trace_xfs_buf_item_iodone(bp, _RET_IP_);
                goto do_callbacks;
        }
@@ -992,7 +993,7 @@ xfs_buf_iodone_callbacks(
                xfs_buf_ioerror(bp, 0); /* errno of 0 unsets the flag */
 
                if (!XFS_BUF_ISSTALE(bp)) {
-                       XFS_BUF_DELAYWRITE(bp);
+                       xfs_buf_delwri_queue(bp);
                        XFS_BUF_DONE(bp);
                }
                ASSERT(bp->b_iodone != NULL);
@@ -1005,9 +1006,8 @@ xfs_buf_iodone_callbacks(
         * If the write of the buffer was synchronous, we want to make
         * sure to return the error to the caller of xfs_bwrite().
         */
-       XFS_BUF_STALE(bp);
+       xfs_buf_stale(bp);
        XFS_BUF_DONE(bp);
-       XFS_BUF_UNDELAYWRITE(bp);
 
        trace_xfs_buf_error_relse(bp, _RET_IP_);