This is sources Bugzilla
Bugzilla Version 2.17.5
Bugzilla Bug 10703
  compilation error of ext4 tracepoint on 2.6.32 Last modified: 2009-11-11 04:56:12
     Query page      Enter new bug
Bug#: 10703   Hardware:   Reporter: Wenji Huang <wenji.huang@oracle.com>
Host: Target: Build:
Product:     Add CC:
Component:   Version:   CC:
Remove selected CCs
Status: RESOLVED   Priority:  
Resolution: FIXED   Severity:  
Assigned To: Unassigned <systemtap@sources.redhat.com>   Target Milestone:  
Summary:
Keywords:

Attachment Description Type Created Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 10703 depends on: Show dependency tree
Show dependency graph
Bug 10703 blocks:

Additional Comments:


Leave as RESOLVED FIXED
Reopen bug
Mark bug as VERIFIED

View Bug Activity   |   Format For Printing


Description:   Last confirmed: 0000-00-00 00:00 Opened: 2009-09-29 06:57
$ 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

------- Additional Comment #1 From Wenji Huang 2009-09-29 07:01 -------
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.

------- Additional Comment #2 From Frank Ch. Eigler 2009-09-29 12:12 -------
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().


------- Additional Comment #3 From Josh Stone 2009-09-29 19:21 -------
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.

------- Additional Comment #4 From Wenji Huang 2009-11-11 04:56 -------
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.

     Query page      Enter new bug
Actions: New | Query | bug # | Reports | Requests   New Account | Log In