Implement -e trace=%statfs option
linux/*/syscallent*.h part is modified automatically by: sed -i 's/TF\(,[[:space:]]*SEN.*[_"]statv\?fs\)/TF|TSF\1/' \ linux/*/syscallent*.h [ldv: rewritten trace_statfs.test using sched.test as a template] * sysent.h (TRACE_STATFS): New macro. * syscall.c: Alias TSF to TRACE_STATFS around syscallent.h inclusion. * qualify.c (lookup_class): Add SCHED_STATFS for "%statfs". * strace.1 (.SS Filtering): Add information about %statfs syscall class. * NEWS: Mention this change. * linux/64/syscallent.h (statfs): Add TSF flag. * linux/aarch64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/32/syscallent.h (statfs64): Likewise. * linux/arm/syscallent.h (statfs, statfs64): Likewise. * linux/avr32/syscallent.h: Likewise. * linux/bfin/syscallent.h: Likewise. * linux/crisv10/syscallent.h: Likewise. * linux/hppa/syscallent.h: Likewise. * linux/i386/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise. * linux/alpha/syscallent.h (osf_statfs, osf_statfs64, statfs): Likewise. * linux/mips/syscallent-compat.h (*_statfs, *_statvfs): Likewise. * tests/trace_statfs.test: New test. * tests/Makefile.am (DECODER_TESTS): Add it. * tests/ksysent.c (TSF): New macro, defined to 0. * tests/nsyscalls.c: Likewise.
This commit is contained in:
parent
0a13d2391c
commit
2fa95ae169
2
NEWS
2
NEWS
@ -10,6 +10,8 @@ Noteworthy changes in release ?.?? (????-??-??)
|
||||
* Enhanced decoding of sched_setattr syscall.
|
||||
* Added -e trace=%sched option for tracing sched_* syscalls.
|
||||
* Added -e trace=%clock option for tracing clock_* syscalls.
|
||||
* Added -e trace=%statfs option for tracing statfs, statfs64 and statvfs
|
||||
syscalls.
|
||||
* Implemented decoding of signal mask in rt_sigreturn syscall on alpha, arc,
|
||||
arm, avr32, bfin, cris, hppa, m68k, metag, microblaze, mips, nios2, or1k,
|
||||
powerpc, powerpc64, riscv, sh, sh64, sparc, sparc64, tile, x86, and xtensa
|
||||
|
@ -44,7 +44,7 @@
|
||||
[ 40] = { 5, TF, SEN(mount), "mount" },
|
||||
[ 41] = { 2, TF, SEN(pivotroot), "pivot_root" },
|
||||
[ 42] = { 3, 0, SEN(nfsservctl), "nfsservctl" },
|
||||
[ 43] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[ 43] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[ 44] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[ 45] = { 3, TF, SEN(truncate64), "truncate64" },
|
||||
[ 46] = { 3, TD, SEN(ftruncate64), "ftruncate64" },
|
||||
|
@ -41,7 +41,7 @@
|
||||
[ 40] = { 5, TF, SEN(mount), "mount" },
|
||||
[ 41] = { 2, TF, SEN(pivotroot), "pivot_root" },
|
||||
[ 42] = { 3, 0, SEN(nfsservctl), "nfsservctl" },
|
||||
[ 43] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[ 43] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[ 44] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[ 45] = { 2, TF, SEN(truncate), "truncate" },
|
||||
[ 46] = { 2, TD, SEN(ftruncate), "ftruncate" },
|
||||
|
@ -45,7 +45,7 @@
|
||||
[1053] = { 4, TD, SEN(fadvise64), "fadvise64" },
|
||||
[1054] = { 4, TD|TF, SEN(newfstatat), "newfstatat" },
|
||||
[1055] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[1056] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[1056] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[1057] = { 3, TD, SEN(lseek), "lseek" },
|
||||
[1058] = { 6, TD|TM|SI, SEN(mmap), "mmap" },
|
||||
[1059] = { 1, 0, SEN(alarm), "alarm" },
|
||||
|
@ -185,7 +185,7 @@
|
||||
[157] = { 5, 0, SEN(printargs), "osf_sigwaitprim" }, /* not implemented */
|
||||
[158] = { 5, 0, SEN(printargs), "osf_nfssvc" }, /* not implemented */
|
||||
[159] = { 4, 0, SEN(printargs), "osf_getdirentries" },
|
||||
[160] = { 3, TF, SEN(osf_statfs), "osf_statfs" },
|
||||
[160] = { 3, TF|TSF, SEN(osf_statfs), "osf_statfs" },
|
||||
[161] = { 3, TD, SEN(osf_fstatfs), "osf_fstatfs" },
|
||||
[162] = { },
|
||||
[163] = { 5, 0, SEN(printargs), "osf_asynch_daemon" }, /* not implemented */
|
||||
@ -230,7 +230,7 @@
|
||||
[224] = { 2, TF, SEN(printargs), "osf_stat" },
|
||||
[225] = { 2, TF, SEN(printargs), "osf_lstat" },
|
||||
[226] = { 2, TD, SEN(printargs), "osf_fstat" },
|
||||
[227] = { 3, TF, SEN(osf_statfs), "osf_statfs64" },
|
||||
[227] = { 3, TF|TSF, SEN(osf_statfs), "osf_statfs64" },
|
||||
[228] = { 3, TD, SEN(osf_fstatfs), "osf_fstatfs64" },
|
||||
[229 ... 232] = { },
|
||||
[233] = { 1, 0, SEN(getpgid), "getpgid" },
|
||||
@ -291,7 +291,7 @@
|
||||
[325] = { 1, NF, SEN(setfsuid), "setfsuid" },
|
||||
[326] = { 1, NF, SEN(setfsgid), "setfsgid" },
|
||||
[327] = { 2, 0, SEN(ustat), "ustat" },
|
||||
[328] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[328] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[329] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[330] = { 2, TSC, SEN(sched_setparam), "sched_setparam" },
|
||||
[331] = { 2, TSC, SEN(sched_getparam), "sched_getparam" },
|
||||
|
@ -125,7 +125,7 @@
|
||||
[ 96] = { 2, 0, SEN(getpriority), "getpriority" },
|
||||
[ 97] = { 3, 0, SEN(setpriority), "setpriority" },
|
||||
[ 98] = { 4, 0, SEN(profil), "profil" },
|
||||
[ 99] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[ 99] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[100] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[101] = { 3, 0, SEN(ioperm), "ioperm" },
|
||||
[102] = { 2, TD, SEN(socketcall), "socketcall" },
|
||||
@ -290,7 +290,7 @@
|
||||
[263] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
|
||||
[264] = { 2, TCL, SEN(clock_getres), "clock_getres" },
|
||||
[265] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
|
||||
[266] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[266] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[267] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[268] = { 3, TS, SEN(tgkill), "tgkill" },
|
||||
[269] = { 2, TF, SEN(utimes), "utimes" },
|
||||
|
@ -124,7 +124,7 @@
|
||||
[ 96] = { 2, 0, SEN(getpriority), "getpriority" },
|
||||
[ 97] = { 3, 0, SEN(setpriority), "setpriority" },
|
||||
[ 98] = { 4, TP, SEN(wait4), "wait4" },
|
||||
[ 99] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[ 99] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[100] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[101] = { 0, 0, SEN(vhangup), "vhangup" },
|
||||
[102] = { 2, TS, SEN(sigaltstack), "sigaltstack" },
|
||||
@ -244,7 +244,7 @@
|
||||
[216] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
|
||||
[217] = { 2, TCL, SEN(clock_getres), "clock_getres" },
|
||||
[218] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
|
||||
[219] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[219] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[220] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[221] = { 3, TS, SEN(tgkill), "tgkill" },
|
||||
[222] = { },
|
||||
|
@ -125,7 +125,7 @@
|
||||
[ 96] = { 2, 0, SEN(getpriority), "getpriority" },
|
||||
[ 97] = { 3, 0, SEN(setpriority), "setpriority" },
|
||||
[ 98] = { 4, 0, SEN(profil), "profil" },
|
||||
[ 99] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[ 99] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[100] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[101] = { 3, 0, SEN(ioperm), "ioperm" },
|
||||
[102] = { 2, TD, SEN(socketcall), "socketcall" },
|
||||
@ -294,7 +294,7 @@
|
||||
[266] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
|
||||
[267] = { 2, TCL, SEN(clock_getres), "clock_getres" },
|
||||
[268] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
|
||||
[269] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[269] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[270] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[271] = { 3, TS, SEN(tgkill), "tgkill" },
|
||||
[272] = { 2, TF, SEN(utimes), "utimes" },
|
||||
|
@ -97,7 +97,7 @@
|
||||
[ 96] = { 2, 0, SEN(getpriority), "getpriority" },
|
||||
[ 97] = { 3, 0, SEN(setpriority), "setpriority" },
|
||||
[ 98] = { 4, 0, SEN(profil), "profil" },
|
||||
[ 99] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[ 99] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[100] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[101] = { 3, 0, SEN(ioperm), "ioperm" },
|
||||
[102] = { 2, TD, SEN(socketcall), "socketcall" },
|
||||
@ -262,7 +262,7 @@
|
||||
[265] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
|
||||
[266] = { 2, TCL, SEN(clock_getres), "clock_getres" },
|
||||
[267] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
|
||||
[268] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[268] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[269] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[270] = { 3, TS, SEN(tgkill), "tgkill" },
|
||||
[271] = { 2, TF, SEN(utimes), "utimes" },
|
||||
|
@ -101,7 +101,7 @@
|
||||
[ 96] = { 2, 0, SEN(getpriority), "getpriority" },
|
||||
[ 97] = { 3, 0, SEN(setpriority), "setpriority" },
|
||||
[ 98] = { 4, TN, SEN(recv), "recv" },
|
||||
[ 99] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[ 99] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[100] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[101] = { 2, TF, SEN(stat64), "stat64" },
|
||||
[102] = { },
|
||||
@ -300,7 +300,7 @@
|
||||
[295] = { 6, TM, SEN(move_pages), "move_pages" },
|
||||
[296] = { 3, 0, SEN(getcpu), "getcpu" },
|
||||
[297] = { 6, TD, SEN(epoll_pwait), "epoll_pwait" },
|
||||
[298] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[298] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[299] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[300] = { 4, 0, SEN(kexec_load), "kexec_load" },
|
||||
[301] = { 4, TD|TF, SEN(utimensat), "utimensat" },
|
||||
|
@ -125,7 +125,7 @@
|
||||
[ 96] = { 2, 0, SEN(getpriority), "getpriority" },
|
||||
[ 97] = { 3, 0, SEN(setpriority), "setpriority" },
|
||||
[ 98] = { 4, 0, SEN(profil), "profil" },
|
||||
[ 99] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[ 99] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[100] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[101] = { 3, 0, SEN(ioperm), "ioperm" },
|
||||
[102] = { 2, TD, SEN(socketcall), "socketcall" },
|
||||
@ -293,7 +293,7 @@
|
||||
[265] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
|
||||
[266] = { 2, TCL, SEN(clock_getres), "clock_getres" },
|
||||
[267] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
|
||||
[268] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[268] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[269] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[270] = { 3, TS, SEN(tgkill), "tgkill" },
|
||||
[271] = { 2, TF, SEN(utimes), "utimes" },
|
||||
|
@ -120,7 +120,7 @@
|
||||
[1100] = { 3, TD, SEN(fchown), "fchown" },
|
||||
[1101] = { 2, 0, SEN(getpriority), "getpriority" },
|
||||
[1102] = { 3, 0, SEN(setpriority), "setpriority" },
|
||||
[1103] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[1103] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[1104] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[1105] = { 0, NF, SEN(gettid), "gettid" },
|
||||
[1106] = { 3, TI, SEN(semget), "semget" },
|
||||
@ -275,7 +275,7 @@
|
||||
[1255] = { 2, TCL, SEN(clock_getres), "clock_getres" },
|
||||
[1256] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
|
||||
[1257] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[1258] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[1258] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[1259] = { 6, TM, SEN(mbind), "mbind" },
|
||||
[1260] = { 5, TM, SEN(get_mempolicy), "get_mempolicy" },
|
||||
[1261] = { 3, TM, SEN(set_mempolicy), "set_mempolicy" },
|
||||
|
@ -125,7 +125,7 @@
|
||||
[ 96] = { 2, 0, SEN(getpriority), "getpriority" },
|
||||
[ 97] = { 3, 0, SEN(setpriority), "setpriority" },
|
||||
[ 98] = { 4, 0, SEN(profil), "profil" },
|
||||
[ 99] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[ 99] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[100] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[101] = { 3, 0, SEN(ioperm), "ioperm" },
|
||||
[102] = { 2, TD, SEN(socketcall), "socketcall" },
|
||||
@ -288,7 +288,7 @@
|
||||
[260] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
|
||||
[261] = { 2, TCL, SEN(clock_getres), "clock_getres" },
|
||||
[262] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
|
||||
[263] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[263] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[264] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[265] = { 3, TS, SEN(tgkill), "tgkill" },
|
||||
[266] = { 2, TF, SEN(utimes), "utimes" },
|
||||
|
@ -125,7 +125,7 @@
|
||||
[ 96] = { 2, 0, SEN(getpriority), "getpriority" },
|
||||
[ 97] = { 3, 0, SEN(setpriority), "setpriority" },
|
||||
[ 98] = { 4, 0, SEN(profil), "profil" },
|
||||
[ 99] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[ 99] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[100] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[101] = { 3, 0, SEN(ioperm), "ioperm" },
|
||||
[102] = { 2, TD, SEN(socketcall), "socketcall" },
|
||||
@ -293,7 +293,7 @@
|
||||
[265] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
|
||||
[266] = { 2, TCL, SEN(clock_getres), "clock_getres" },
|
||||
[267] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
|
||||
[268] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[268] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[269] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[270] = { 3, TS, SEN(tgkill), "tgkill" },
|
||||
[271] = { 2, TF, SEN(utimes), "utimes" },
|
||||
|
@ -33,7 +33,7 @@
|
||||
[ 32] = { 0, 0, SEN(printargs), "svr4_gtty" },
|
||||
[ 33] = { 0, 0, SEN(printargs), "svr4_access" },
|
||||
[ 34] = { 0, 0, SEN(printargs), "svr4_nice" },
|
||||
[ 35] = { 0, TF, SEN(printargs), "svr4_statfs" },
|
||||
[ 35] = { 0, TF|TSF, SEN(printargs), "svr4_statfs" },
|
||||
[ 36] = { 0, 0, SEN(printargs), "svr4_sync" },
|
||||
[ 37] = { 0, 0, SEN(printargs), "svr4_kill" },
|
||||
[ 38] = { 0, TD, SEN(printargs), "svr4_fstatfs" },
|
||||
@ -96,7 +96,7 @@
|
||||
[ 100] = { 0, 0, SEN(printargs), "svr4_setcontext" },
|
||||
[ 101] = { 0, 0, SEN(printargs), "svr4_evsys" },
|
||||
[ 102] = { 0, 0, SEN(printargs), "svr4_evtrapret" },
|
||||
[ 103] = { 0, TF, SEN(printargs), "svr4_statvfs" },
|
||||
[ 103] = { 0, TF|TSF, SEN(printargs), "svr4_statvfs" },
|
||||
[ 104] = { 0, TD, SEN(printargs), "svr4_fstatvfs" },
|
||||
[ 105] = { },
|
||||
[ 106] = { 0, 0, SEN(printargs), "svr4_nfssys" },
|
||||
@ -184,7 +184,7 @@
|
||||
[1032] = { 0, 0, SEN(printargs), "sysv_gtty" },
|
||||
[1033] = { 0, 0, SEN(printargs), "sysv_access" },
|
||||
[1034] = { 0, 0, SEN(printargs), "sysv_nice" },
|
||||
[1035] = { 0, TF, SEN(printargs), "sysv_statfs" },
|
||||
[1035] = { 0, TF|TSF, SEN(printargs), "sysv_statfs" },
|
||||
[1036] = { 0, 0, SEN(printargs), "sysv_sync" },
|
||||
[1037] = { 0, 0, SEN(printargs), "sysv_kill" },
|
||||
[1038] = { 0, TD, SEN(printargs), "sysv_fstatfs" },
|
||||
@ -318,7 +318,7 @@
|
||||
[1171] = { 0, 0, SEN(printargs), "sysv_sigstack" },
|
||||
[1172] = { 0, 0, SEN(printargs), "sysv_sigaltstack" },
|
||||
[1173] = { 0, 0, SEN(printargs), "sysv_sigsendset" },
|
||||
[1174] = { 0, TF, SEN(printargs), "sysv_statvfs" },
|
||||
[1174] = { 0, TF|TSF, SEN(printargs), "sysv_statvfs" },
|
||||
[1175] = { 0, TD, SEN(printargs), "sysv_fstatvfs" },
|
||||
[1176] = { 0, 0, SEN(printargs), "sysv_getpmsg" },
|
||||
[1177] = { 0, 0, SEN(printargs), "sysv_putpmsg" },
|
||||
@ -494,7 +494,7 @@
|
||||
[2157] = { 0, 0, SEN(printargs), "bsd43_nfs_mount" },
|
||||
[2158] = { 0, 0, SEN(printargs), "bsd43_nfs_svc" },
|
||||
[2159] = { 0, 0, SEN(printargs), "bsd43_getdirentries" },
|
||||
[2160] = { 0, TF, SEN(printargs), "bsd43_statfs" },
|
||||
[2160] = { 0, TF|TSF, SEN(printargs), "bsd43_statfs" },
|
||||
[2161] = { 0, TD, SEN(printargs), "bsd43_fstatfs" },
|
||||
[2162] = { 0, 0, SEN(printargs), "bsd43_unmount" },
|
||||
[2163] = { 0, 0, SEN(printargs), "bsd43_async_daemon" },
|
||||
@ -562,7 +562,7 @@
|
||||
[3032] = { 0, 0, SEN(printargs), "posix_gtty" },
|
||||
[3033] = { 0, 0, SEN(printargs), "posix_access" },
|
||||
[3034] = { 0, 0, SEN(printargs), "posix_nice" },
|
||||
[3035] = { 0, TF, SEN(printargs), "posix_statfs" },
|
||||
[3035] = { 0, TF|TSF, SEN(printargs), "posix_statfs" },
|
||||
[3036] = { 0, 0, SEN(printargs), "posix_sync" },
|
||||
[3037] = { 0, 0, SEN(printargs), "posix_kill" },
|
||||
[3038] = { 0, TD, SEN(printargs), "posix_fstatfs" },
|
||||
|
@ -134,7 +134,7 @@
|
||||
[6131] = { 3, TF, SEN(mknod), "mknod" },
|
||||
[6132] = { 1, NF, SEN(personality), "personality" },
|
||||
[6133] = { 2, 0, SEN(ustat), "ustat" },
|
||||
[6134] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[6134] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[6135] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[6136] = { 3, 0, SEN(sysfs), "sysfs" },
|
||||
[6137] = { 2, 0, SEN(getpriority), "getpriority" },
|
||||
@ -217,7 +217,7 @@
|
||||
[6214] = { 0, 0, SEN(restart_syscall), "restart_syscall" },
|
||||
[6215] = { 4, TI, SEN(semtimedop), "semtimedop" },
|
||||
[6216] = { 4, TD, SEN(fadvise64_64), "fadvise64" },
|
||||
[6217] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[6217] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[6218] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[6219] = { 4, TD|TN, SEN(sendfile64), "sendfile64" },
|
||||
[6220] = { 3, 0, SEN(timer_create), "timer_create" },
|
||||
|
@ -134,7 +134,7 @@
|
||||
[5131] = { 3, TF, SEN(mknod), "mknod" },
|
||||
[5132] = { 1, NF, SEN(personality), "personality" },
|
||||
[5133] = { 2, 0, SEN(ustat), "ustat" },
|
||||
[5134] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[5134] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[5135] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[5136] = { 3, 0, SEN(sysfs), "sysfs" },
|
||||
[5137] = { 2, 0, SEN(getpriority), "getpriority" },
|
||||
|
@ -99,7 +99,7 @@
|
||||
[4096] = { 2, 0, SEN(getpriority), "getpriority" },
|
||||
[4097] = { 3, 0, SEN(setpriority), "setpriority" },
|
||||
[4098] = { 0, 0, SEN(profil), "profil" },
|
||||
[4099] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[4099] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[4100] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[4101] = { 3, 0, SEN(ioperm), "ioperm" },
|
||||
[4102] = { 2, TD, SEN(socketcall), "socketcall" },
|
||||
@ -255,7 +255,7 @@
|
||||
[4252] = { 1, 0, SEN(set_tid_address), "set_tid_address" },
|
||||
[4253] = { 0, 0, SEN(restart_syscall), "restart_syscall" },
|
||||
[4254] = { 7, TD, SEN(fadvise64_64), "fadvise64" },
|
||||
[4255] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[4255] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[4256] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[4257] = { 3, 0, SEN(timer_create), "timer_create" },
|
||||
[4258] = { 4, 0, SEN(timer_settime), "timer_settime" },
|
||||
|
@ -125,7 +125,7 @@
|
||||
[ 96] = { 2, 0, SEN(getpriority), "getpriority" },
|
||||
[ 97] = { 3, 0, SEN(setpriority), "setpriority" },
|
||||
[ 98] = { 4, 0, SEN(profil), "profil" },
|
||||
[ 99] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[ 99] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[100] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[101] = { 3, 0, SEN(ioperm), "ioperm" },
|
||||
[102] = { 2, TD, SEN(socketcall), "socketcall" },
|
||||
@ -278,7 +278,7 @@
|
||||
[249] = { 2, 0, SEN(printargs), "swapcontext" },
|
||||
[250] = { 3, TS, SEN(tgkill), "tgkill" },
|
||||
[251] = { 2, TF, SEN(utimes), "utimes" },
|
||||
[252] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[252] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[253] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[254] = { 6, TD, SEN(fadvise64_64), "fadvise64_64" },
|
||||
[255] = { 1, 0, SEN(printargs), "rtas" },
|
||||
|
@ -125,7 +125,7 @@
|
||||
[ 96] = { 2, 0, SEN(getpriority), "getpriority" },
|
||||
[ 97] = { 3, 0, SEN(setpriority), "setpriority" },
|
||||
[ 98] = { 4, 0, SEN(profil), "profil" },
|
||||
[ 99] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[ 99] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[100] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[101] = { 3, 0, SEN(ioperm), "ioperm" },
|
||||
[102] = { 2, TD, SEN(socketcall), "socketcall" },
|
||||
@ -273,7 +273,7 @@
|
||||
[249] = { 2, 0, SEN(printargs), "swapcontext" },
|
||||
[250] = { 3, TS, SEN(tgkill), "tgkill" },
|
||||
[251] = { 2, TF, SEN(utimes), "utimes" },
|
||||
[252] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[252] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[253] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[254] = { },
|
||||
[255] = { 1, 0, SEN(printargs), "rtas" },
|
||||
|
@ -127,7 +127,7 @@
|
||||
[ 96] = { 2, 0, SEN(getpriority), "getpriority" },
|
||||
[ 97] = { 3, 0, SEN(setpriority), "setpriority" },
|
||||
[ 98] = { },
|
||||
[ 99] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[ 99] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[100] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[101] = { 3, 0, SEN(ioperm), "ioperm" },
|
||||
[102] = { 2, TD, SEN(socketcall), "socketcall" },
|
||||
@ -293,7 +293,7 @@
|
||||
[262] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
|
||||
[263] = { 5, 0, SEN(vserver), "vserver" },
|
||||
[264] = { 6, TD, SEN(fadvise64_64), "fadvise64_64" },
|
||||
[265] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[265] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[266] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[267] = { 5, TM|SI, SEN(remap_file_pages), "remap_file_pages" },
|
||||
[268] = { 6, TM, SEN(mbind), "mbind" },
|
||||
|
@ -121,7 +121,7 @@
|
||||
[ 96] = { 2, 0, SEN(getpriority), "getpriority" },
|
||||
[ 97] = { 3, 0, SEN(setpriority), "setpriority" },
|
||||
[ 98] = { },
|
||||
[ 99] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[ 99] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[100] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[101] = { },
|
||||
[102] = { 2, TD, SEN(socketcall), "socketcall" },
|
||||
@ -277,7 +277,7 @@
|
||||
[262] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
|
||||
[263] = { 5, 0, SEN(vserver), "vserver" },
|
||||
[264] = { },
|
||||
[265] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[265] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[266] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[267] = { 5, TM|SI, SEN(remap_file_pages), "remap_file_pages" },
|
||||
[268] = { 6, TM, SEN(mbind), "mbind" },
|
||||
|
@ -127,7 +127,7 @@
|
||||
[ 96] = { 2, 0, SEN(getpriority), "getpriority" },
|
||||
[ 97] = { 3, 0, SEN(setpriority), "setpriority" },
|
||||
[ 98] = { 4, 0, SEN(profil), "profil" },
|
||||
[ 99] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[ 99] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[100] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[101] = { 3, 0, SEN(ioperm), "ioperm" },
|
||||
[102] = { 2, TD, SEN(socketcall), "socketcall" },
|
||||
@ -293,7 +293,7 @@
|
||||
[265] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
|
||||
[266] = { 2, TCL, SEN(clock_getres), "clock_getres" },
|
||||
[267] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
|
||||
[268] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[268] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[269] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[270] = { 3, TS, SEN(tgkill), "tgkill" },
|
||||
[271] = { 2, TF, SEN(utimes), "utimes" },
|
||||
|
@ -125,7 +125,7 @@
|
||||
[ 96] = { 2, 0, SEN(getpriority), "getpriority" },
|
||||
[ 97] = { 3, 0, SEN(setpriority), "setpriority" },
|
||||
[ 98] = { 4, 0, SEN(profil), "profil" },
|
||||
[ 99] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[ 99] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[100] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[101] = { 3, 0, SEN(ioperm), "ioperm" },
|
||||
[102] = { 2, TD, SEN(socketcall), "socketcall" },
|
||||
@ -319,7 +319,7 @@
|
||||
[293] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
|
||||
[294] = { 2, TCL, SEN(clock_getres), "clock_getres" },
|
||||
[295] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
|
||||
[296] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[296] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[297] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[298] = { 3, TS, SEN(tgkill), "tgkill" },
|
||||
[299] = { 2, TF, SEN(utimes), "utimes" },
|
||||
|
@ -155,7 +155,7 @@
|
||||
[154] = { 3, TD, SEN(getdents64), "getdents64" },
|
||||
[155] = { 3, TD, SEN(fcntl64), "fcntl64" },
|
||||
[156] = { 2, TD, SEN(inotify_rm_watch), "inotify_rm_watch" },
|
||||
[157] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[157] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[158] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[159] = { 1, TF, SEN(umount), "umount" },
|
||||
[160] = { 3, TSC, SEN(sched_setaffinity), "sched_set_affinity" },
|
||||
@ -232,7 +232,7 @@
|
||||
[231] = { 1, 0, SEN(time), "time" },
|
||||
[232] = { 6, TD, SEN(splice), "splice" },
|
||||
[233] = { 1, 0, SEN(stime), "stime" },
|
||||
[234] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[234] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[235] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[236] = { 5, TD, SEN(llseek), "_llseek" },
|
||||
[237] = { 2, TM, SEN(mlock), "mlock" },
|
||||
|
@ -153,7 +153,7 @@
|
||||
[154] = { 3, TD, SEN(getdents64), "getdents64" },
|
||||
[155] = { },
|
||||
[156] = { 2, TD, SEN(inotify_rm_watch), "inotify_rm_watch" },
|
||||
[157] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[157] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[158] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[159] = { 1, TF, SEN(umount), "umount" },
|
||||
[160] = { 3, TSC, SEN(sched_setaffinity), "sched_set_affinity" },
|
||||
@ -230,7 +230,7 @@
|
||||
[231] = { },
|
||||
[232] = { 6, TD, SEN(splice), "splice" },
|
||||
[233] = { 1, 0, SEN(stime), "stime" },
|
||||
[234] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[234] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[235] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[236] = { 5, TD, SEN(llseek), "_llseek" },
|
||||
[237] = { 2, TM, SEN(mlock), "mlock" },
|
||||
|
@ -135,7 +135,7 @@
|
||||
[134] = { 1, TF, SEN(printargs), "64:uselib" },
|
||||
[135] = { 1, NF, SEN(personality), "personality" },
|
||||
[136] = { 2, 0, SEN(ustat), "ustat" },
|
||||
[137] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[137] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[138] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[139] = { 3, 0, SEN(sysfs), "sysfs" },
|
||||
[140] = { 2, 0, SEN(getpriority), "getpriority" },
|
||||
|
@ -135,7 +135,7 @@
|
||||
[134] = { 1, TF, SEN(uselib), "uselib" },
|
||||
[135] = { 1, NF, SEN(personality), "personality" },
|
||||
[136] = { 2, 0, SEN(ustat), "ustat" },
|
||||
[137] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[137] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[138] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[139] = { 3, 0, SEN(sysfs), "sysfs" },
|
||||
[140] = { 2, 0, SEN(getpriority), "getpriority" },
|
||||
|
@ -176,9 +176,9 @@
|
||||
[181] = { 1, NF, SEN(setfsgid), "setfsgid" },
|
||||
[182] = { 3, 0, SEN(sysfs), "sysfs" },
|
||||
[183] = { 2, 0, SEN(ustat), "ustat" },
|
||||
[184] = { 2, TF, SEN(statfs), "statfs" },
|
||||
[184] = { 2, TF|TSF, SEN(statfs), "statfs" },
|
||||
[185] = { 2, TD, SEN(fstatfs), "fstatfs" },
|
||||
[186] = { 3, TF, SEN(statfs64), "statfs64" },
|
||||
[186] = { 3, TF|TSF, SEN(statfs64), "statfs64" },
|
||||
[187] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
|
||||
[188] = { 2, 0, SEN(setrlimit), "setrlimit" },
|
||||
[189] = { 2, 0, SEN(getrlimit), "getrlimit" },
|
||||
|
@ -221,6 +221,7 @@ lookup_class(const char *s)
|
||||
{ "%network", TRACE_NETWORK },
|
||||
{ "%sched", TRACE_SCHED },
|
||||
{ "%clock", TRACE_CLOCK },
|
||||
{ "%statfs", TRACE_STATFS },
|
||||
};
|
||||
|
||||
unsigned int i;
|
||||
|
3
strace.1
3
strace.1
@ -432,6 +432,9 @@ Trace all scheduler-related (sched_*) system calls.
|
||||
.BR "\-e\ trace" = %clock
|
||||
Trace all clock-related (clock_*) system calls.
|
||||
.TP
|
||||
.BR "\-e\ trace" = %statfs
|
||||
Trace statfs, statfs64, and statvfs system calls.
|
||||
.TP
|
||||
\fB\-e\ abbrev\fR=\,\fIset\fR
|
||||
Abbreviate the output from printing each member of large structures.
|
||||
The default is
|
||||
|
@ -78,6 +78,7 @@
|
||||
#define TM TRACE_MEMORY
|
||||
#define TSC TRACE_SCHED
|
||||
#define TCL TRACE_CLOCK
|
||||
#define TSF TRACE_STATFS
|
||||
#define NF SYSCALL_NEVER_FAILS
|
||||
#define MA MAX_ARGS
|
||||
#define SI STACKTRACE_INVALIDATE_CACHE
|
||||
@ -115,6 +116,7 @@ static const struct_sysent sysent2[] = {
|
||||
#undef TM
|
||||
#undef TSC
|
||||
#undef TCL
|
||||
#undef TSF
|
||||
#undef NF
|
||||
#undef MA
|
||||
#undef SI
|
||||
|
1
sysent.h
1
sysent.h
@ -23,5 +23,6 @@ typedef struct sysent {
|
||||
#define COMPAT_SYSCALL_TYPES 04000 /* A compat syscall that uses compat types. */
|
||||
#define TRACE_SCHED 010000 /* Trace scheduler-related syscalls. */
|
||||
#define TRACE_CLOCK 020000 /* Trace clock-related syscalls. */
|
||||
#define TRACE_STATFS 040000 /* Trace statfs, statfs64, and statvfs syscalls. */
|
||||
|
||||
#endif /* !STRACE_SYSENT_H */
|
||||
|
@ -542,6 +542,7 @@ DECODER_TESTS = \
|
||||
sigaltstack.test \
|
||||
statfs.test \
|
||||
sun_path.test \
|
||||
trace_statfs.test \
|
||||
uio.test \
|
||||
umount.test \
|
||||
umount2.test \
|
||||
|
@ -42,6 +42,7 @@
|
||||
#define TM 0
|
||||
#define TSC 0
|
||||
#define TCL 0
|
||||
#define TSF 0
|
||||
#define NF 0
|
||||
#define MA 0
|
||||
#define SI 0
|
||||
|
@ -43,6 +43,7 @@
|
||||
#define TM 0
|
||||
#define TSC 0
|
||||
#define TCL 0
|
||||
#define TSF 0
|
||||
#define NF 0
|
||||
#define MA 0
|
||||
#define SI 0
|
||||
|
48
tests/trace_statfs.test
Executable file
48
tests/trace_statfs.test
Executable file
@ -0,0 +1,48 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Check -e trace=%statfs option.
|
||||
#
|
||||
# Copyright (c) 2017 The strace developers.
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
. "${srcdir=.}/init.sh"
|
||||
|
||||
while read w s; do {
|
||||
try_run_prog "../$s" || continue
|
||||
run_strace -a$w -e%statfs ../$s > "$EXP"
|
||||
match_diff "$LOG" "$EXP"
|
||||
} < /dev/null; done << EOF
|
||||
17 statfs
|
||||
23 statfs64
|
||||
EOF
|
||||
|
||||
grep -E -v '^(#|statfs)' \
|
||||
< "$srcdir/pure_executables.list" > negative.list
|
||||
|
||||
while read s; do {
|
||||
try_run_prog "../$s" || continue
|
||||
run_strace -qq -esignal=none -e%statfs ../$s > /dev/null
|
||||
match_diff "$LOG" /dev/null
|
||||
} < /dev/null; done < negative.list
|
Loading…
x
Reference in New Issue
Block a user