From 430411789c9c9540a8260bedc76d86fdf6053713 Mon Sep 17 00:00:00 2001 From: David Smith Date: Wed, 23 Sep 2009 11:11:07 -0500 Subject: Forward-ported staplog.c crash support (PR 10644). * staplog.c (get_rchan): Separated original relayfs code and current relayfs code. (get_rchan_buf): Ditto. (output_cpu_logs): Ditto. (get_rchan_addr): Handles original relayfs code detection. (setup_global_data): Looks for '_stp_relay_data' structure instead of '_stp_utt' structure. (open_output_file): Improved error message. * runtime/transport/relay_v2.c: Rearranged struct _stp_relay_data_type to make things a bit easier for staplog.c. * runtime/transport/relayfs.c: Ditto --- runtime/transport/relay_v2.c | 4 +++- runtime/transport/relayfs.c | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'runtime') diff --git a/runtime/transport/relay_v2.c b/runtime/transport/relay_v2.c index 65e9c59b..104b14eb 100644 --- a/runtime/transport/relay_v2.c +++ b/runtime/transport/relay_v2.c @@ -38,9 +38,11 @@ #define STP_RELAY_TIMER_INTERVAL ((HZ + 99) / 100) #endif +/* Note: if struct _stp_relay_data_type changes, staplog.c might need + * to be changed. */ struct _stp_relay_data_type { - enum _stp_transport_state transport_state; struct rchan *rchan; + enum _stp_transport_state transport_state; struct dentry *dropped_file; atomic_t dropped; atomic_t wakeup; diff --git a/runtime/transport/relayfs.c b/runtime/transport/relayfs.c index 338b2771..f9dec029 100644 --- a/runtime/transport/relayfs.c +++ b/runtime/transport/relayfs.c @@ -2,7 +2,7 @@ * relayfs.c - relayfs transport functions * * Copyright (C) IBM Corporation, 2005, 2006 - * Copyright (C) 2005-2008 Red Hat Inc. + * Copyright (C) 2005-2009 Red Hat Inc. * * This file is part of systemtap, and is free software. You can * redistribute it and/or modify it under the terms of the GNU General @@ -23,9 +23,11 @@ #include #include +/* Note: if struct _stp_relay_data_type changes, staplog.c might need + * to be changed. */ struct _stp_relay_data_type { - enum _stp_transport_state transport_state; struct rchan *rchan; + enum _stp_transport_state transport_state; int flushing; }; struct _stp_relay_data_type _stp_relay_data; -- cgit