xfs
[Top] [All Lists]

[PATCH 05/12] xfs: clean up log ticket overrun debug output

To: xfs@xxxxxxxxxxx
Subject: [PATCH 05/12] xfs: clean up log ticket overrun debug output
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Tue, 18 May 2010 09:24:21 +1000
In-reply-to: <1274138668-1662-1-git-send-email-david@xxxxxxxxxxxxx>
References: <1274138668-1662-1-git-send-email-david@xxxxxxxxxxxxx>
From: Dave Chinner <dchinner@xxxxxxxxxx>

Push the error message output when a ticket overrun is detected
into the ticket printing functions. Also remove the debug version
of the code as the production version will still panic just as
effectively on a debug kernel via the panic mask being set.

Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
Reviewed-by: Christoph Hellwig <hch@xxxxxx>
---
 fs/xfs/xfs_error.c |    2 +-
 fs/xfs/xfs_log.c   |   19 +++++--------------
 2 files changed, 6 insertions(+), 15 deletions(-)

diff --git a/fs/xfs/xfs_error.c b/fs/xfs/xfs_error.c
index ef96175..047b8a8 100644
--- a/fs/xfs/xfs_error.c
+++ b/fs/xfs/xfs_error.c
@@ -170,7 +170,7 @@ xfs_cmn_err(int panic_tag, int level, xfs_mount_t *mp, char 
*fmt, ...)
        va_list ap;
 
 #ifdef DEBUG
-       xfs_panic_mask |= XFS_PTAG_SHUTDOWN_CORRUPT;
+       xfs_panic_mask |= (XFS_PTAG_SHUTDOWN_CORRUPT | XFS_PTAG_LOGRES);
 #endif
 
        if (xfs_panic_mask && (xfs_panic_mask & panic_tag)
diff --git a/fs/xfs/xfs_log.c b/fs/xfs/xfs_log.c
index 83be6a6..1efb303 100644
--- a/fs/xfs/xfs_log.c
+++ b/fs/xfs/xfs_log.c
@@ -1645,6 +1645,10 @@ xlog_print_tic_res(xfs_mount_t *mp, xlog_ticket_t 
*ticket)
                            "bad-rtype" : res_type_str[r_type-1]),
                            ticket->t_res_arr[i].r_len);
        }
+
+       xfs_cmn_err(XFS_PTAG_LOGRES, CE_ALERT, mp,
+               "xfs_log_write: reservation ran out. Need to up reservation");
+       xfs_force_shutdown(mp, SHUTDOWN_CORRUPT_INCORE);
 }
 
 /*
@@ -1897,21 +1901,8 @@ xlog_write(
        *start_lsn = 0;
 
        len = xlog_write_calc_vec_length(ticket, log_vector);
-       if (ticket->t_curr_res < len) {
+       if (ticket->t_curr_res < len)
                xlog_print_tic_res(log->l_mp, ticket);
-#ifdef DEBUG
-               xlog_panic(
-       "xfs_log_write: reservation ran out. Need to up reservation");
-#else
-               /* Customer configurable panic */
-               xfs_cmn_err(XFS_PTAG_LOGRES, CE_ALERT, log->l_mp,
-       "xfs_log_write: reservation ran out. Need to up reservation");
-
-               /* If we did not panic, shutdown the filesystem */
-               xfs_force_shutdown(log->l_mp, SHUTDOWN_CORRUPT_INCORE);
-#endif
-       }
-
        ticket->t_curr_res -= len;
 
        index = 0;
-- 
1.5.6.5

<Prev in Thread] Current Thread [Next in Thread>