xfs: separate shutdown from ticket reservation print helper
xlog_print_tic_res() pre-dates delayed logging and the committed items list (CIL) and thus retains some factoring warts, such as hard coded function names in the output and the fact that it induces a shutdown. In preparation for more detailed logging of regular transaction overrun situations, refactor xlog_print_tic_res() to be slightly more generic. Reword some of the warning messages and pull the shutdown into the callers. Signed-off-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:
parent
1040960efa
commit
7d2d565346
|
@ -2024,7 +2024,7 @@ xlog_print_tic_res(
|
||||||
};
|
};
|
||||||
#undef REG_TYPE_STR
|
#undef REG_TYPE_STR
|
||||||
|
|
||||||
xfs_warn(mp, "xlog_write: reservation summary:");
|
xfs_warn(mp, "ticket reservation summary:");
|
||||||
xfs_warn(mp, " unit res = %d bytes",
|
xfs_warn(mp, " unit res = %d bytes",
|
||||||
ticket->t_unit_res);
|
ticket->t_unit_res);
|
||||||
xfs_warn(mp, " current res = %d bytes",
|
xfs_warn(mp, " current res = %d bytes",
|
||||||
|
@ -2045,10 +2045,6 @@ xlog_print_tic_res(
|
||||||
"bad-rtype" : res_type_str[r_type]),
|
"bad-rtype" : res_type_str[r_type]),
|
||||||
ticket->t_res_arr[i].r_len);
|
ticket->t_res_arr[i].r_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
xfs_alert_tag(mp, XFS_PTAG_LOGRES,
|
|
||||||
"xlog_write: reservation ran out. Need to up reservation");
|
|
||||||
xfs_force_shutdown(mp, SHUTDOWN_LOG_IO_ERROR);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -2321,8 +2317,12 @@ xlog_write(
|
||||||
if (flags & (XLOG_COMMIT_TRANS | XLOG_UNMOUNT_TRANS))
|
if (flags & (XLOG_COMMIT_TRANS | XLOG_UNMOUNT_TRANS))
|
||||||
ticket->t_curr_res -= sizeof(xlog_op_header_t);
|
ticket->t_curr_res -= sizeof(xlog_op_header_t);
|
||||||
|
|
||||||
if (ticket->t_curr_res < 0)
|
if (ticket->t_curr_res < 0) {
|
||||||
|
xfs_alert_tag(log->l_mp, XFS_PTAG_LOGRES,
|
||||||
|
"ctx ticket reservation ran out. Need to up reservation");
|
||||||
xlog_print_tic_res(log->l_mp, ticket);
|
xlog_print_tic_res(log->l_mp, ticket);
|
||||||
|
xfs_force_shutdown(log->l_mp, SHUTDOWN_LOG_IO_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
index = 0;
|
index = 0;
|
||||||
lv = log_vector;
|
lv = log_vector;
|
||||||
|
|
|
@ -987,8 +987,10 @@ xfs_log_commit_cil(
|
||||||
xlog_cil_insert_items(log, tp);
|
xlog_cil_insert_items(log, tp);
|
||||||
|
|
||||||
/* check we didn't blow the reservation */
|
/* check we didn't blow the reservation */
|
||||||
if (tp->t_ticket->t_curr_res < 0)
|
if (tp->t_ticket->t_curr_res < 0) {
|
||||||
xlog_print_tic_res(mp, tp->t_ticket);
|
xlog_print_tic_res(mp, tp->t_ticket);
|
||||||
|
xfs_force_shutdown(log->l_mp, SHUTDOWN_LOG_IO_ERROR);
|
||||||
|
}
|
||||||
|
|
||||||
tp->t_commit_lsn = cil->xc_ctx->sequence;
|
tp->t_commit_lsn = cil->xc_ctx->sequence;
|
||||||
if (commit_lsn)
|
if (commit_lsn)
|
||||||
|
|
Loading…
Reference in New Issue