Commit a3c6685e authored by Nathan Scott's avatar Nathan Scott Committed by Tim Shimmin

[XFS] Ensure xlog_state_do_callback does not report spurious warnings on

ramdisks.

SGI-PV: 954802
SGI-Modid: xfs-linux-melb:xfs-kern:26627a
Signed-off-by: default avatarNathan Scott <nathans@sgi.com>
Signed-off-by: default avatarTim Shimmin <tes@sgi.com>
parent bb3c7d29
...@@ -2212,9 +2212,13 @@ xlog_state_do_callback( ...@@ -2212,9 +2212,13 @@ xlog_state_do_callback(
iclog = iclog->ic_next; iclog = iclog->ic_next;
} while (first_iclog != iclog); } while (first_iclog != iclog);
if (repeats && (repeats % 10) == 0) {
if (repeats > 5000) {
flushcnt += repeats;
repeats = 0;
xfs_fs_cmn_err(CE_WARN, log->l_mp, xfs_fs_cmn_err(CE_WARN, log->l_mp,
"xlog_state_do_callback: looping %d", repeats); "%s: possible infinite loop (%d iterations)",
__FUNCTION__, flushcnt);
} }
} while (!ioerrors && loopdidcallbacks); } while (!ioerrors && loopdidcallbacks);
...@@ -2246,6 +2250,7 @@ xlog_state_do_callback( ...@@ -2246,6 +2250,7 @@ xlog_state_do_callback(
} }
#endif #endif
flushcnt = 0;
if (log->l_iclog->ic_state & (XLOG_STATE_ACTIVE|XLOG_STATE_IOERROR)) { if (log->l_iclog->ic_state & (XLOG_STATE_ACTIVE|XLOG_STATE_IOERROR)) {
flushcnt = log->l_flushcnt; flushcnt = log->l_flushcnt;
log->l_flushcnt = 0; log->l_flushcnt = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment