[ltt-dev] [PATCH 12/13] enable text output for ltt-relay
Lai Jiangshan
laijs at cn.fujitsu.com
Tue Jan 13 04:09:46 EST 2009
all done, enable text output for ltt-relay
Signed-off-by: Lai Jiangshan <laijs at cn.fujitsu.com>
---
ltt-relay.c | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/ltt/ltt-relay.c b/ltt/ltt-relay.c
index 6d222c6..806558f
--- a/ltt/ltt-relay.c
+++ b/ltt/ltt-relay.c
@@ -699,6 +717,7 @@ static void ltt_relay_print_buffer_errors(struct ltt_channel_struct *ltt_chan,
static void ltt_relay_remove_dirs(struct ltt_trace_struct *trace)
{
+ ltt_txt_remove_dir(trace);
debugfs_remove(trace->dentry.trace_root);
}
@@ -819,9 +838,16 @@ static int ltt_relay_create_channel(const char *trace_name,
goto relay_open_error;
}
+ ltt_chan->buf_access_ops = <t_channel_buf_accesser;
+ ltt_chan->txt_entry = ltt_txt_create(trace, ltt_chan);
+ if (!ltt_chan->txt_entry)
+ goto relay_txt_error;
+
err = 0;
goto end;
+relay_txt_error:
+ ltt_relay_close(ltt_chan->trans_channel_data);
relay_open_error:
percpu_free(ltt_chan->buf);
ltt_percpu_alloc_error:
@@ -833,11 +859,15 @@ end:
static int ltt_relay_create_dirs(struct ltt_trace_struct *new_trace)
{
+ if (ltt_txt_create_dir(new_trace))
+ return EEXIST;
+
new_trace->dentry.trace_root = debugfs_create_dir(new_trace->trace_name,
get_ltt_root());
if (new_trace->dentry.trace_root == NULL) {
printk(KERN_ERR "LTT : Trace directory name %s already taken\n",
new_trace->trace_name);
+ ltt_txt_remove_dir(new_trace);
return EEXIST;
}
@@ -901,6 +931,7 @@ static void ltt_relay_remove_channel(struct ltt_channel_struct *channel)
{
struct rchan *rchan = channel->trans_channel_data;
+ ltt_txt_remove(channel, channel->txt_entry);
ltt_relay_close(rchan);
kref_put(&channel->kref, ltt_relay_release_channel);
}
@@ -1316,6 +1347,10 @@ static notrace int ltt_relay_reserve_slot(struct ltt_trace_struct *trace,
local_inc(<t_buf->events_lost);
return -EPERM;
}
+
+ if (atomic_read(<t_channel->channel_disabled))
+ return -EBUSY;
+
do {
if (ltt_relay_try_reserve(ltt_channel, ltt_buf,
rchan, buf, &offsets, data_size, tsc, rflags,
More information about the lttng-dev
mailing list