perf trace beauty fcntl: Beautify F_GETLEASE and F_SETLEASE arg/return
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: 65dfa1e7799edd114fbd3949f2783f4e69fd0305 Gitweb: http://git.kernel.org/tip/65dfa1e7799edd114fbd3949f2783f4e69fd0305 Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Mon, 17 Jul 2017 10:46:13 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Tue, 18 Jul 2017 23:14:23 -0300
perf trace beauty fcntl: Beautify F_GETLEASE and F_SETLEASE arg/return
One more looking prettier.
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]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/trace/beauty/fcntl.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-)
tools/perf/trace/beauty/fcntl.c +21 -1
@@ -20,6 +20,19 @@ static size_t syscall_arg__scnprintf_fcntl_getfd(char *bf, size_t size, struct sreturn fcntl__scnprintf_getfd (arg->val, bf, size); } +static size_t fcntl__scnprintf_getlease (unsigned long val,char *bf,size_t size) +{ +static const char *fcntl_setlease[] = {"RDLCK" ,"WRLCK" ,"UNLCK" , }; +static DEFINE_STRARRAY (fcntl_setlease); + +return strarray__scnprintf (&strarray__fcntl_setlease, bf, size,"%x" , val); +} + +static size_t syscall_arg__scnprintf_fcntl_getlease (char *bf,size_t size,struct syscall_arg *arg) +{ +return fcntl__scnprintf_getlease (arg->val, bf, size); +} +size_t syscall_arg__scnprintf_fcntl_cmd (char *bf,size_t size,struct syscall_arg *arg) {if (arg->val ==F_GETFL ) {
@@ -38,11 +51,15 @@ size_t syscall_arg__scnprintf_fcntl_cmd(char *bf, size_t size, struct syscall_arsyscall_arg__set_ret_scnprintf (arg, syscall_arg__scnprintf_pid); goto mask_arg; } +if (arg->val ==F_GETLEASE ) { +syscall_arg__set_ret_scnprintf (arg, syscall_arg__scnprintf_fcntl_getlease); + goto mask_arg; + }/* * Some commands ignore the third fcntl argument, "arg", so mask it */ if (arg->val ==F_GET_SEALS || - arg->val ==F_GETLEASE || arg->val ==F_GETSIG ) { + arg->val ==F_GETSIG ) { mask_arg: arg->mask |= (1 <<2 ); }
@@ -62,6 +79,9 @@ size_t syscall_arg__scnprintf_fcntl_arg(char *bf, size_t size, struct syscall_arif (cmd ==F_SETOWN )return syscall_arg__scnprintf_pid (bf, size, arg); + +if (cmd ==F_SETLEASE ) +return fcntl__scnprintf_getlease (arg->val, bf, size);/* * We still don't grab the contents of pointers on entry or exit, * so just print them as hex numbers