Dmitry V. Levin
67c2f67410
Fix decoders of fstatfs, fstatfs64, statfs, and statfs64 syscalls by rewriting them using mpers infrastructure. * fetch_struct_statfs.c: New file. * fstatfs.c: Likewise. * fstatfs64.c: Likewise. * print_statfs.c: Likewise. * statfs.h: Likewise. * statfs64.c: Likewise. * statfs.c: Remove everything except SYS_FUNC(statfs). * configure.ac: Remove the check for struct statfs64 in <sys/vfs.h>. Add checks for struct statfs and struct statfs64 in <asm/statfs.h>. Add checks for f_frsize and f_flags members of these structures. * defs.h (struct strace_statfs): New forward declaration. (print_struct_statfs, print_struct_statfs64): New prototypes. * Makefile.am (libstrace_a_SOURCES): Add fstatfs.c, fstatfs64.c, statfs.c, and statfs64.c. (strace_SOURCES): Add fetch_struct_statfs.c, print_statfs.c, and statfs.h. * NEWS: Mention this fix. * tests/fstatfs.c: New file. * tests/fstatfs64.c: Likewise. * tests/statfs64.c: Likewise. * tests/xstatfs.c: Likewise. * tests/xstatfs64.c: Likewise. * tests/xstatfsx.c: Likewise. * tests/fstatfs.test: New test. * tests/fstatfs64.test: Likewise. * tests/statfs64.test: Likewise. * tests/statfs.c: Rewrite using xstatfs.c. * tests/statfs.test: Update. * tests/.gitignore: Add fstatfs, fstatfs64, and statfs64. * tests/Makefile.am (check_PROGRAMS): Likewise. (DECODER_TESTS): Add fstatfs.test, fstatfs64.test, and statfs64.test. (EXTRA_DIST): Add xstatfs.c, xstatfs64.c, and xstatfsx.c.
15 lines
244 B
C
15 lines
244 B
C
#include "defs.h"
|
|
|
|
SYS_FUNC(statfs64)
|
|
{
|
|
const unsigned long size = tcp->u_arg[1];
|
|
|
|
if (entering(tcp)) {
|
|
printpath(tcp, tcp->u_arg[0]);
|
|
tprintf(", %lu, ", size);
|
|
} else {
|
|
print_struct_statfs64(tcp, tcp->u_arg[2], size);
|
|
}
|
|
return 0;
|
|
}
|