[PATCH v7] Implement -e trace=%statfs option to trace and group statfs, statfs64, statvfs syscalls

Abhishek Tiwari erabhishektiwarics at gmail.com
Sat Apr 1 05:05:38 UTC 2017


On Sat, Apr 1, 2017 at 1:51 AM, Dmitry V. Levin <ldv at altlinux.org> wrote:
> On Sat, Apr 01, 2017 at 01:02:33AM +0530, Abhishek Tiwari wrote:
>> while grouping I found that osf_statfs has following entries
>>
>>   linux/alpha/syscallent.h:188:[160] = { 3,   TF|TSF,
>> SEN(osf_statfs),        "osf_statfs"        },
>>   linux/alpha/syscallent.h:233:[227] = { 3,   TF|TSF,
>> SEN(osf_statfs),        "osf_statfs64"      },
>>
>> Should the second entry be
>>  linux/alpha/syscallent.h:233:[227] = { 3,   TF|TSF,
>> SEN(osf_statfs64),        "osf_statfs64"      },
>>
>> and not
>> linux/alpha/syscallent.h:233:[227] = { 3,   TF|TSF,
>> SEN(osf_statfs),        "osf_statfs64"      },
>
> No, I don't think so.  There is a single parser for both syscalls:
>
> $ grep osf_statfs alpha.c
> SYS_FUNC(osf_statfs)
>
> This is a dumb parser, it doesn't decode neither struct osf_statfs
> nor struct osf_statfs64.
>
>> and then grouped under statfs64 ?
>>
>> If entry is correct what group should I put for this file statfs or statfs64 ?
>
> Why do you want to separate statfs and statfs64?

For commit message, you suggested to rewrite ordering of file according to
syscall it contains i.e. statfs, statfs64 and statvfs

>From previous reply

>>"In some of these files, there is just statfs, in some others it's just
>>statfs64, in a few more you change both statfs and statfs64, and statvfs
>>is a very rare beast found only in one file.
>>
>>Let's reorder the list of changed syscallent files into these groups so
>>the changes being made would have more correct descriptions."

Please verify if following commit message is fine..

Implement -e trace=%statfs option to trace and group statfs, statfs64,
statvfs syscalls

linux/*/syscallent* part is modified automatically by:

    git grep -Fl 'stat' linux/*/syscallent* | xargs sed -i \
      's/TF\(,[[:space:]]*SEN.*\((\|_\)statv\?fs\)\)/TF|TSF\1/'

* sysent.h (TRACE_STATFS): New definition.
* syscall.c: Alias TSF to TRACE_STATFS around syscallent.h inclusion.
* linux/64/syscallent.h: Add TSF flag to trace statfs syscall.
* 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: Add TSF flag to trace statfs64 sycall.
* linux/mips/syscallent-compat.h: Add TSF flag to trace statfs and
statvfs syscalls.
* linux/alpha/syscallent.h: Add TSF flag to trace statfs and statfs64
syscalls.
* linux/arm/syscallent.h: 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.
* qualify.c (lookup_class): Add SCHED_STATFS for "%statfs"
* strace.1 (.SS Filtering): Add information about %statfs syscall class.
* tests/Makefile.am (DECODER_TESTS): Add trace_statfs.test.
* tests/ksysent.c: Define TSF to 0.
* tests/nsyscalls.c: Likewise.
* tests/trace_statfs.test: New test.
* NEWS: Mention this change.

>
> --
> ldv
>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> Strace-devel mailing list
> Strace-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/strace-devel
>



-- 
Abhishek Tiwari
M.Tech (CS),
IIT Kharagpur.




More information about the Strace-devel mailing list