Commit-ID: 89e8524abe1c584942e6b05744946877e87dd478 Gitweb: http://git.kernel.org/tip/89e8524abe1c584942e6b05744946877e87dd478 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Fri, 14 Jul 2017 12:14:20 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Tue, 18 Jul 2017 23:13:59 -0300
perf trace beauty fcntl: Beautify F_GETFL return value The return for fcntl(fd, F_GETFL) is the fd file flags, so reuse the one for the open syscall flags parameter: 997.992 (0.002 ms): Chrome_IOThrea/19863 fcntl(fd: 144</dev/shm/.com.google.Chrome.OhA8YL>, cmd: GETFL) = RDWR|LARGEFILE Cc: Adrian Hunter <[email protected]> Cc: David Ahern <[email protected]> Cc: Jiri Olsa <[email protected]> Cc: Namhyung Kim <[email protected]> Cc: Wang Nan <[email protected]> Link: http://lkml.kernel.org/n/[email protected] Signed-off-by: Arnaldo Carvalho de Melo <[email protected]> --- tools/perf/trace/beauty/fcntl.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tools/perf/trace/beauty/fcntl.c b/tools/perf/trace/beauty/fcntl.c index 8a5f58d..8dcbc30 100644 --- a/tools/perf/trace/beauty/fcntl.c +++ b/tools/perf/trace/beauty/fcntl.c @@ -11,13 +11,19 @@ size_t syscall_arg__scnprintf_fcntl_cmd(char *bf, size_t size, struct syscall_arg *arg) { + if (arg->val == F_GETFL) { + syscall_arg__set_ret_scnprintf(arg, open__scnprintf_flags); + goto mask_arg; + } /* * Some commands ignore the third fcntl argument, "arg", so mask it */ - if (arg->val == F_GETFD || arg->val == F_GETFL || + if (arg->val == F_GETFD || arg->val == F_GETOWN || arg->val == F_GET_SEALS || - arg->val == F_GETLEASE || arg->val == F_GETSIG) + arg->val == F_GETLEASE || arg->val == F_GETSIG) { +mask_arg: arg->mask |= (1 << 2); + } return syscall_arg__scnprintf_strarrays(bf, size, arg); }

