tracing: Create seq_buf layer in trace_seq
[cascardo/linux.git] / kernel / trace / trace_events.c
index ef06ce7..4d0067d 100644 (file)
@@ -918,7 +918,7 @@ static int f_show(struct seq_file *m, void *v)
        case FORMAT_HEADER:
                seq_printf(m, "name: %s\n", ftrace_event_name(call));
                seq_printf(m, "ID: %d\n", call->event.type);
-               seq_printf(m, "format:\n");
+               seq_puts(m, "format:\n");
                return 0;
 
        case FORMAT_FIELD_SEPERATOR:
@@ -1044,7 +1044,7 @@ event_filter_read(struct file *filp, char __user *ubuf, size_t cnt,
        mutex_unlock(&event_mutex);
 
        if (file)
-               r = simple_read_from_buffer(ubuf, cnt, ppos, s->buffer, s->len);
+               r = simple_read_from_buffer(ubuf, cnt, ppos, s->buffer, s->seq.len);
 
        kfree(s);
 
@@ -1210,7 +1210,7 @@ subsystem_filter_read(struct file *filp, char __user *ubuf, size_t cnt,
        trace_seq_init(s);
 
        print_subsystem_event_filter(system, s);
-       r = simple_read_from_buffer(ubuf, cnt, ppos, s->buffer, s->len);
+       r = simple_read_from_buffer(ubuf, cnt, ppos, s->buffer, s->seq.len);
 
        kfree(s);
 
@@ -1265,7 +1265,7 @@ show_header(struct file *filp, char __user *ubuf, size_t cnt, loff_t *ppos)
        trace_seq_init(s);
 
        func(s);
-       r = simple_read_from_buffer(ubuf, cnt, ppos, s->buffer, s->len);
+       r = simple_read_from_buffer(ubuf, cnt, ppos, s->buffer, s->seq.len);
 
        kfree(s);
 
@@ -1988,7 +1988,7 @@ event_enable_print(struct seq_file *m, unsigned long ip,
                   ftrace_event_name(data->file->event_call));
 
        if (data->count == -1)
-               seq_printf(m, ":unlimited\n");
+               seq_puts(m, ":unlimited\n");
        else
                seq_printf(m, ":count=%ld\n", data->count);
 
@@ -2513,8 +2513,11 @@ static __init int event_test_thread(void *unused)
        kfree(test_malloc);
 
        set_current_state(TASK_INTERRUPTIBLE);
-       while (!kthread_should_stop())
+       while (!kthread_should_stop()) {
                schedule();
+               set_current_state(TASK_INTERRUPTIBLE);
+       }
+       __set_current_state(TASK_RUNNING);
 
        return 0;
 }