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 <hch@lst.de> Reviewed-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:
Родитель
c814b4f24e
Коммит
5781464bd1
|
@ -2632,7 +2632,6 @@ xlog_state_clean_iclog(
|
||||||
{
|
{
|
||||||
int iclogs_changed = 0;
|
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);
|
xlog_state_activate_iclogs(log, &iclogs_changed);
|
||||||
|
@ -2838,7 +2837,9 @@ xlog_state_do_callback(
|
||||||
*/
|
*/
|
||||||
cycled_icloglock = true;
|
cycled_icloglock = true;
|
||||||
xlog_state_do_iclog_callbacks(log, iclog);
|
xlog_state_do_iclog_callbacks(log, iclog);
|
||||||
|
if (XLOG_FORCED_SHUTDOWN(log))
|
||||||
|
wake_up_all(&iclog->ic_force_wait);
|
||||||
|
else
|
||||||
xlog_state_clean_iclog(log, iclog);
|
xlog_state_clean_iclog(log, iclog);
|
||||||
iclog = iclog->ic_next;
|
iclog = iclog->ic_next;
|
||||||
} while (first_iclog != iclog);
|
} while (first_iclog != iclog);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче