$ sudo runtest systemtap.base/tracepoints.exp --tool_opts install WARNING: Couldn't find the global config file. WARNING: No tool specified Test Run By root on Tue Sep 29 10:15:57 2009 Native configuration is x86_64-redhat-linux-gnu === tests === Schedule of variations: unix Running target unix Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target. Using /usr/share/dejagnu/config/unix.exp as generic interface file for target. Using ./config/unix.exp as tool-and-target-specific interface file. kernel location: kernel version: 2.6.32-rc1 systemtap location: /usr/local/bin/stap systemtap version: version 1.0/0.141 commit release-1.0-29-g7459222 + changes gcc location: /usr/bin/gcc gcc version: gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-44) Host: Linux dhcp-beijing-cdc-10-182-121-43.cn.oracle.com 2.6.32-rc1 #1 SMP Mon Sep 28 05:24:36 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux Snapshot: version 1.0/0.141 commit release-1.0-29-g7459222 + changes GCC: 4.1.2 [gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-44)] Distro: Enterprise Linux Enterprise Linux Server release 5.2 (Carthage) Running ./systemtap.base/tracepoints.exp ... FAIL: tracepoints cc1: warnings being treated as errors In file included from /tmp/stapW1R0gz/stap_b762bf6cb939d6c7cb884fddb0772bed_17767.c:6436: include/trace/events/ext4.h:263: warning: ‘struct mpage_da_data’ declared inside parameter list include/trace/events/ext4.h:263: warning: its scope is only this definition or declaration, which is probably not what you want include/trace/events/ext4.h:263: warning: ‘struct mpage_da_data’ declared inside parameter list include/trace/events/ext4.h:263: warning: ‘struct mpage_da_data’ declared inside parameter list /tmp/stapW1R0gz/stap_b762bf6cb939d6c7cb884fddb0772bed_17767.c:9087: warning: ‘struct mpage_da_data’ declared inside parameter list /tmp/stapW1R0gz/stap_b762bf6cb939d6c7cb884fddb0772bed_17767.c: In function ‘register_tracepoint_probe_22’: /tmp/stapW1R0gz/stap_b762bf6cb939d6c7cb884fddb0772bed_17767.c:9200: warning: passing argument 1 of ‘register_trace_ext4_da_write_pages’ from incompatible pointer type /tmp/stapW1R0gz/stap_b762bf6cb939d6c7cb884fddb0772bed_17767.c: In function ‘unregister_tracepoint_probe_22’: /tmp/stapW1R0gz/stap_b762bf6cb939d6c7cb884fddb0772bed_17767.c:9203: warning: passing argument 1 of ‘unregister_trace_ext4_da_write_pages’ from incompatible pointer type make[1]: *** [/tmp/stapW1R0gz/stap_b762bf6cb939d6c7cb884fddb0772bed_17767.o] Error 1 make: *** [_module_/tmp/stapW1R0gz] Error 2 Pass 4: compilation failed. Try again with another '--vp 0001' option. FAIL: ./systemtap.base/tracepoints.stp
This is introduced by ext4: Add new tracepoint: trace_ext4_da_write_pages() author Theodore Ts'o <tytso@mit.edu> Tue, 1 Sep 2009 03:13:11 +0000 (23:13 -0400) committer Theodore Ts'o <tytso@mit.edu> Tue, 1 Sep 2009 03:13:11 +0000 (23:13 -0400) commit b3a3ca8ca0c3c29abc5b2bfe94bb14f3f4590df9 tree 1006f780d43ec8ff90ed11b1eb0d5ed961c9f613 tree | snapshot parent de89de6e0cf4b1eb13f27137cf2aa40d287aabdf commit | diff ext4: Add new tracepoint: trace_ext4_da_write_pages() Add a new tracepoint which shows the pages that will be written using write_cache_pages() by ext4_da_writepages(). Seems fs/ext4/ext4.h should be included into the generated C file, but searching path is a problem since ext4.h isn't packaged up as a part of a distribution kernel's header files.
If trace/events/ext4.h forward-declared "struct mpage_da_data", then stap would be able to use the tracepoint's mpd argument with a @cast().
It turns out that before we were catching this earlier because of the missing #includes. In this case, in pass-2 we get the warning about "declared inside parameter list", but it's allowed to pass anyway. I've added -Werror to that step now so we can catch the problem sooner and filter those out. So once again, ext4 tracepoints will be unavailable until a decl for mpage_da_data is added.
Found the patch in mainline. ext4: Add a stub for mpage_da_data in the trace header author Josh Stone <jistone@redhat.com> Wed, 30 Sep 2009 04:51:22 +0000 (00:51 -0400) committer Theodore Ts'o <tytso@mit.edu> Wed, 30 Sep 2009 04:51:22 +0000 (00:51 -0400) commit 0ef122494020521309be855bfdeeb41f34bf8c94 Close the bug.