-
Bug
-
Resolution: Unresolved
-
Normal
-
rhel-9.7
-
systemtap-5.3-3.el9
-
Yes
-
Moderate
-
1
-
rhel-pt-perf-tools
-
ssg_platform_tools
-
16
-
18
-
2
-
False
-
False
-
-
No
-
Red Hat Enterprise Linux
-
PT PerfDebug 2025 S08
-
Pass
-
Not Needed
-
Automated
-
Unspecified Release Note Type - Unknown
-
Unspecified
-
Unspecified
-
Unspecified
-
-
All
The upcoming RHEL9.7 include a number of backports of Linux 6.14 block layer. These changes break the systemtap dev.stp tapset bdevname function checks to determine how to get information. The dev.stp tapset checks the kernel version to determine how to access the needed data. Need to adjust the tapset to check the available fields of the data struct to determine how to get the needed information. The problem can be replicated with:
sudo dnf install "systemtap*" -y
sudo stap-prep
sudo stap -vk --example disktop.stp
Rather than the example successfully running error messages are printed out:
Pass 1: parsed user script and 519 library scripts using 600112virt/541188res/16128shr/533188data kb, in 1170usr/270sys/1469real ms.
semantic error: unable to find member 'bd_part' for struct block_device (alternatives: bd_dev, bd_disk, bd_stamp, bd_stats, __bd_flags, bd_inode, bd_openers, bd_queue, bd_device, bd_holder, bd_holders, bd_writers, bd_claiming, bd_start_sect, bd_meta_info, bd_holder_dir, bd_size_lock, bd_holder_ops, bd_nr_sectors, bd_holder_lock, bd_fsfreeze_sb, bd_fsfreeze_count, bd_fsfreeze_mutex): operator '->' at /usr/share/systemtap/tapset/linux/dev.stp:92:15
source: else if (bdev->bd_part)
^semantic error: unable to find member 'bd_part' for struct block_device (alternatives: bd_dev, bd_disk, bd_stamp, bd_stats, __bd_flags, bd_inode, bd_openers, bd_queue, bd_device, bd_holder, bd_holders, bd_writers, bd_claiming, bd_start_sect, bd_meta_info, bd_holder_dir, bd_size_lock, bd_holder_ops, bd_nr_sectors, bd_holder_lock, bd_fsfreeze_sb, bd_fsfreeze_count, bd_fsfreeze_mutex): operator '->' at :93:16
source: partno = bdev->bd_part->partno
^Pass 2: analyzed script: 6 probes, 46 functions, 8 embeds, 36 globals using 887216virt/830012res/17884shr/820292data kb, in 2180usr/200sys/2449real ms.
Pass 2: analysis failed. [man error::pass2]
Keeping temporary directory "/tmp/stap6IEJS3"
- links to
-
RHBA-2025:149396 systemtap bug fix and enhancement update