From: Christoph Hellwig Date: Fri, 20 Mar 2020 15:49:21 +0000 (-0700) Subject: xfs: move the ioerror check out of xlog_state_clean_iclog X-Git-Tag: v5.10.7~2829^2~32 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5781464bd1ee59a14f2657e878eb6cd90809a7ba;p=platform%2Fkernel%2Flinux-rpi.git xfs: move the ioerror check out of xlog_state_clean_iclog Use the shutdown flag in the log to bypass xlog_state_clean_iclog entirely in case of a shut down log. Signed-off-by: Christoph Hellwig Reviewed-by: Brian Foster Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong --- diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c index 6facbb9..7e39835 100644 --- a/fs/xfs/xfs_log.c +++ b/fs/xfs/xfs_log.c @@ -2632,8 +2632,7 @@ xlog_state_clean_iclog( { int iclogs_changed = 0; - if (dirty_iclog->ic_state != XLOG_STATE_IOERROR) - dirty_iclog->ic_state = XLOG_STATE_DIRTY; + dirty_iclog->ic_state = XLOG_STATE_DIRTY; xlog_state_activate_iclogs(log, &iclogs_changed); wake_up_all(&dirty_iclog->ic_force_wait); @@ -2838,8 +2837,10 @@ xlog_state_do_callback( */ cycled_icloglock = true; xlog_state_do_iclog_callbacks(log, iclog); - - xlog_state_clean_iclog(log, iclog); + if (XLOG_FORCED_SHUTDOWN(log)) + wake_up_all(&iclog->ic_force_wait); + else + xlog_state_clean_iclog(log, iclog); iclog = iclog->ic_next; } while (first_iclog != iclog);