[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: Ryan Hankins <hankins@sgi.com> Signed-off-by: Nathan Scott <nathans@sgi.com>
This commit is contained in:
parent
77a7cce425
commit
0733af213f
@ -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(
|
|||||||
* 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(
|
|||||||
}
|
}
|
||||||
|
|
||||||
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(
|
|||||||
}
|
}
|
||||||
#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(
|
|||||||
} 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 */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user