xfs: print transaction log reservation on overrun
authorBrian Foster <bfoster@redhat.com>
Mon, 8 Jan 2018 18:41:35 +0000 (10:41 -0800)
committerDarrick J. Wong <darrick.wong@oracle.com>
Mon, 8 Jan 2018 18:41:35 +0000 (10:41 -0800)
The transaction dump code displays the content and reservation
consumption of a particular transaction in the event of an overrun.
It currently displays the reservation associated with the
transaction ticket, but not the original reservation attached to the
transaction.

The latter value reflects the original transaction reservation
calculation before additional reservation overhead is assigned, such
as for the CIL context header and potential split region headers.

Update xlog_print_trans() to also print the original transaction
reservation in the event of overrun. This provides a reference point
to identify how much reservation overhead was added to a particular
ticket by xfs_log_calc_unit_res().

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
fs/xfs/xfs_log.c

index a503af96d780ecf9fd15f6c6d579bc9822abac6f..047df85528b0f1f01b51eaaf422969095c00820f 100644 (file)
@@ -2117,7 +2117,9 @@ xlog_print_trans(
 
        /* dump core transaction and ticket info */
        xfs_warn(mp, "transaction summary:");
-       xfs_warn(mp, "  flags   = 0x%x", tp->t_flags);
+       xfs_warn(mp, "  log res   = %d", tp->t_log_res);
+       xfs_warn(mp, "  log count = %d", tp->t_log_count);
+       xfs_warn(mp, "  flags     = 0x%x", tp->t_flags);
 
        xlog_print_tic_res(mp, tp->t_ticket);