perf probe: Fix to show correct error string
authorMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Tue, 4 Oct 2011 10:45:04 +0000 (19:45 +0900)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 11 Nov 2011 17:35:53 +0000 (09:35 -0800)
commit 44a56040a0037a845d5fa218dffde464579f0cab upstream.

Fix perf probe to show correct error string when it
fails to delete an event. The write(2) returns -1
if failed, and errno stores real error number.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Ingo Molnar <mingo@elte.hu>
Link: http://lkml.kernel.org/r/20111004104504.14591.41266.stgit@fedora15
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
tools/perf/util/probe-event.c

index f0223166e76165cd1e25d86cade2d7bb8337c9c6..8c50da86885b8f63706ab34059f2298b5e3ae3db 100644 (file)
@@ -1869,8 +1869,10 @@ static int __del_trace_probe_event(int fd, struct str_node *ent)
 
        pr_debug("Writing event: %s\n", buf);
        ret = write(fd, buf, strlen(buf));
-       if (ret < 0)
+       if (ret < 0) {
+               ret = -errno;
                goto error;
+       }
 
        printf("Remove event: %s\n", ent->s);
        return 0;