newer kernel+systemtap & nfs.fop.open

Daire Byrne daire@dneg.com
Mon Apr 4 11:21:05 GMT 2022


Serhei/David,

Thanks for the suggestions and explanation. I get the same result with
"fullpath_struct_file(task_current(), $filp)" using the v5.16 kernel
and systemtap 4.7pre.

As Serhei said, it seems like the mnt_parent is completely missing.

But then I realised I had completely forgotten that I manually patched
systemtap according to this just so I could get my script to compile
at all:

https://sourceware.org/bugzilla/show_bug.cgi?id=26184#c5

And now it also looks like a recent commit has been made to fix that
particular issue so I'll try to pull the latest systemtap and try
again.

https://sourceware.org/git/?p=systemtap.git;a=commit;h=3739d47c4cc427ce4818d884f429a3efa85c38ae

Daire


On Fri, 1 Apr 2022 at 21:13, Serhei Makarov <me@serhei.io> wrote:
>
>
>
> On Fri, Apr 1, 2022, at 10:55 AM, Serhei Makarov wrote:
> > In this case the last commit
> > to tapsets/linux/dentry.stp was in 2020
> > so it looks like we may have some catching up to the kernel
> > to do. I'll investigate more (i.e. delve into kernel git history)
> > and get back to you.
> I'm got a 'read fault' running your example on Fedora 5.15.4-201.fc35.x86_64,
> which indicates even further divergence later on.
> Which kernel version were you running the example on?
>
> Looks like "struct mount" no longer defines the "mnt_parent" member
> used by task_dentry_path() tapset function in /usr/share/systemtap/tapset/linux/dentry.stp
> which is strange as the upstream Linux kernel code still uses that member
> in the equivalent fs/d_path.c __prepend_path code.
>
> sutap -ve 'probe begin { if (@type_member_defined("mount", mnt_parent)) { print("foo") } else { print("bar") } exit() }'
>
> Very strange, as even checking the debugsource doesn't show any downstream changes
> as found by
>
> $ debuginfod-find source /boot/vmlinuz-5.15.4-201.fc35.x86_64 /usr/src/debug/kernel-5.15.4/linux-5.15.4-201.fc35.x86_64/fs/d_path.c
>
> I'm also confused and will continue investigating until I become unconfused.


More information about the Systemtap mailing list