This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: 2.6.33 NFS server header reorg breaks existing systemtap scripts.
- From: "Frank Ch. Eigler" <fche at redhat dot com>
- To: Steve Dickson <SteveD at redhat dot com>
- Cc: systemtap at sources dot redhat dot com
- Date: Sat, 19 Dec 2009 19:31:27 -0500
- Subject: Re: 2.6.33 NFS server header reorg breaks existing systemtap scripts.
- References: <4B2CF5AB.9040000@RedHat.com> <y0mmy1e9asl.fsf@fche.csb> <4B2D120C.1040202@RedHat.com>
Hi -
> > Sigh. Well, nfsd.stp can probably adapt to avoid using those headers,
> > and rewrite __get_fh etc. to rely on @cast() instead of embedded-C.
>
> If you can point me at some examples on how to use @cast(), I'll
> take a stab at the rewrite...
Sure, something like this:
function __get_fh(argp,index) {
if (index==3) return (& @cast(argp, "nfsd_readargs", "nfsd")->fh);
/* else ... */
}
Actually, it would make sense to inline the appropriate @cast at the
points where __get_fh() is currently called and forget __get_fh().
> > Yes, it's a problem. This is harder to work around for tracepoints,
> > which systemtap finds by parsing kernel-devel header files (instead of
> > searching debuginfo or whatnot). Perhaps we should lobby kernel-devel
> > to include all .h files from the kernel build trees, even subsystem
> > internal .h files.
>
> I think we are going to have to... Starting with rhel6...
OK, I'll open some rhbz's.
- FChE