Commit 0733af21 authored by Ryan Hankins's avatar Ryan Hankins Committed by Nathan Scott

[XFS] Add a stack trace in the case of xfs_forced_shutdown.

SGI-PV: 929558
SGI-Modid: xfs-linux-melb:xfs-kern:203701a
Signed-off-by: default avatarRyan Hankins <hankins@sgi.com>
Signed-off-by: default avatarNathan Scott <nathans@sgi.com>
parent 77a7cce4
...@@ -1014,6 +1014,7 @@ xfs_trans_cancel( ...@@ -1014,6 +1014,7 @@ xfs_trans_cancel(
xfs_log_item_t *lip; xfs_log_item_t *lip;
int i; int i;
#endif #endif
xfs_mount_t *mp = tp->t_mountp;
/* /*
* See if the caller is being too lazy to figure out if * See if the caller is being too lazy to figure out if
...@@ -1027,8 +1028,9 @@ xfs_trans_cancel( ...@@ -1027,8 +1028,9 @@ xfs_trans_cancel(
* corruption and decide to give up. * corruption and decide to give up.
*/ */
if ((tp->t_flags & XFS_TRANS_DIRTY) && if ((tp->t_flags & XFS_TRANS_DIRTY) &&
!XFS_FORCED_SHUTDOWN(tp->t_mountp)) !XFS_FORCED_SHUTDOWN(mp))
xfs_force_shutdown(tp->t_mountp, XFS_CORRUPT_INCORE); XFS_ERROR_REPORT("xfs_trans_cancel", XFS_ERRLEVEL_LOW, mp);
xfs_force_shutdown(mp, XFS_CORRUPT_INCORE);
#ifdef DEBUG #ifdef DEBUG
if (!(flags & XFS_TRANS_ABORT)) { if (!(flags & XFS_TRANS_ABORT)) {
licp = &(tp->t_items); licp = &(tp->t_items);
...@@ -1040,7 +1042,7 @@ xfs_trans_cancel( ...@@ -1040,7 +1042,7 @@ xfs_trans_cancel(
} }
lip = lidp->lid_item; lip = lidp->lid_item;
if (!XFS_FORCED_SHUTDOWN(tp->t_mountp)) if (!XFS_FORCED_SHUTDOWN(mp))
ASSERT(!(lip->li_type == XFS_LI_EFD)); ASSERT(!(lip->li_type == XFS_LI_EFD));
} }
licp = licp->lic_next; licp = licp->lic_next;
...@@ -1048,7 +1050,7 @@ xfs_trans_cancel( ...@@ -1048,7 +1050,7 @@ xfs_trans_cancel(
} }
#endif #endif
xfs_trans_unreserve_and_mod_sb(tp); xfs_trans_unreserve_and_mod_sb(tp);
XFS_TRANS_UNRESERVE_AND_MOD_DQUOTS(tp->t_mountp, tp); XFS_TRANS_UNRESERVE_AND_MOD_DQUOTS(mp, tp);
if (tp->t_ticket) { if (tp->t_ticket) {
if (flags & XFS_TRANS_RELEASE_LOG_RES) { if (flags & XFS_TRANS_RELEASE_LOG_RES) {
...@@ -1057,7 +1059,7 @@ xfs_trans_cancel( ...@@ -1057,7 +1059,7 @@ xfs_trans_cancel(
} else { } else {
log_flags = 0; log_flags = 0;
} }
xfs_log_done(tp->t_mountp, tp->t_ticket, NULL, log_flags); xfs_log_done(mp, tp->t_ticket, NULL, log_flags);
} }
/* mark this thread as no longer being in a transaction */ /* mark this thread as no longer being in a transaction */
......
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