2.6.33 NFS server header reorg breaks existing systemtap scripts.

Frank Ch. Eigler fche@redhat.com
Sun Dec 20 00:31:00 GMT 2009


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



More information about the Systemtap mailing list