ANDROID: Replace spaces by '_' for some android filesystem tracepoints.
authorMohan Srinivasan <srmohan@google.com>
Sat, 11 Mar 2017 00:08:30 +0000 (16:08 -0800)
committerAmit Pundir <amit.pundir@linaro.org>
Mon, 10 Apr 2017 07:42:16 +0000 (13:12 +0530)
Andoid files frequently have spaces in them, as do cmdline strings.
Replace these spaces with '_', so tools that parse these tracepoints
don't get terribly confused.

Change-Id: I1cbbedf5c803aa6a58d9b8b7836e9125683c49d1
Signed-off-by: Mohan Srinivasan <srmohan@google.com>
(cherry picked from commit 5035d5f0933758dd515327d038e5bef7e40dbaa7)

include/trace/events/android_fs_template.h

index 4e61ffe7a814851136b0674a93139f13169af429..b23d17b56c634359f7d1312969f5ef97b47aa781 100644 (file)
@@ -18,11 +18,18 @@ DECLARE_EVENT_CLASS(android_fs_data_start_template,
        ),
        TP_fast_assign(
                {
+                       /*
+                        * Replace the spaces in filenames and cmdlines
+                        * because this screws up the tooling that parses
+                        * the traces.
+                        */
                        __assign_str(pathbuf, pathname);
+                       (void)strreplace(__get_str(pathbuf), ' ', '_');
                        __entry->offset         = offset;
                        __entry->bytes          = bytes;
                        __entry->i_size         = i_size_read(inode);
                        __assign_str(cmdline, command);
+                       (void)strreplace(__get_str(cmdline), ' ', '_');
                        __entry->pid            = pid;
                        __entry->ino            = inode->i_ino;
                }