diff --git a/rhbz2041526.patch b/rhbz2041526.patch index 8d591a8..c387e01 100644 --- a/rhbz2041526.patch +++ b/rhbz2041526.patch @@ -1,9 +1,3 @@ -commit efae8a3dc159248a877a9904aa408b2468d272f1 -Author: Martin Cermak -Date: Mon Dec 13 17:47:54 2021 +0100 - - PR28634: Update ioscheduler.stp for kernel-5.16 - diff --git a/tapset/linux/ioscheduler.stp b/tapset/linux/ioscheduler.stp index abb24dac9..3096a73ea 100644 --- a/tapset/linux/ioscheduler.stp @@ -120,3 +114,54 @@ index abb24dac9..3096a73ea 100644 +#endif %} + +diff --git a/testsuite/systemtap.examples/io/iostat-scsi.stp b/testsuite/systemtap.examples/io/iostat-scsi.stp +index 6b1bf19ea..3faf32fe9 100755 +--- a/testsuite/systemtap.examples/io/iostat-scsi.stp ++++ b/testsuite/systemtap.examples/io/iostat-scsi.stp +@@ -26,6 +26,7 @@ probe module("sd_mod").function("sd_init_command") !, + %(kernel_v >= "2.6.31" %? + %{ + #include ++#include + %} + + function get_nr_sectors:long(rq:long) +@@ -47,13 +48,24 @@ probe sd_prep_fn = module("sd_mod").function("sd_prep_fn") !, + _cmd_flags = $rq->cmd_flags + } + ++function scsi_cmd_to_rq(scmd) { ++ return scmd - @cast_module_sizeof("kernel", "request") ++} ++ + probe sd_init_command = module("sd_mod").function("sd_init_command") !, + kernel.function("sd_init_command") + { +- device = kernel_string(@choose_defined($cmd, $SCpnt)->request->rq_disk->disk_name) +- sector_size = @choose_defined($cmd, $SCpnt)->device->sector_size +- nr_sectors = get_nr_sectors(@choose_defined($cmd, $SCpnt)->request) +- _cmd_flags = @choose_defined($cmd, $SCpnt)->request->cmd_flags ++ sector_size = @choose_defined($cmd, $SCpnt)->device->sector_size ++ # Kernel commits aa8e25e5006aac52c943c84e9056ab488630ee19 2266a2def97ce11ec979b6c58a1b637a16eca7dd ++ if (@defined(@choose_defined($cmd, $SCpnt)->request)) { ++ device = kernel_string(@choose_defined($cmd, $SCpnt)->request->rq_disk->disk_name) ++ nr_sectors = get_nr_sectors(@choose_defined($cmd, $SCpnt)->request) ++ _cmd_flags = @choose_defined($cmd, $SCpnt)->request->cmd_flags ++ } else { ++ device = kernel_string(@cast(scsi_cmd_to_rq(@choose_defined($cmd, $SCpnt)), "request", "kernel")->rq_disk->disk_name) ++ nr_sectors = get_nr_sectors(scsi_cmd_to_rq(@choose_defined($cmd, $SCpnt))) ++ _cmd_flags = @cast(scsi_cmd_to_rq(@choose_defined($cmd, $SCpnt)), "request", "kernel")->cmd_flags ++ } + } + + probe sd_prep_fn !, sd_init_command +@@ -71,7 +83,8 @@ probe sd_prep_fn !, sd_init_command + probe module("st").function("st_do_scsi").call !, + kernel.function("st_do_scsi").call + { +- device = kernel_string($STp->disk->disk_name) ++ # Kernel commit 45938335d0a9773d65a82a7ca722bb76e4b997a8 ++ device = kernel_string(@choose_defined($STp->disk->disk_name, $STp->name)) + devices[device] = 1 + if ($direction) + writes[device] <<< $bytes diff --git a/systemtap.spec b/systemtap.spec index abd31a0..324cbbe 100644 --- a/systemtap.spec +++ b/systemtap.spec @@ -118,7 +118,7 @@ m stapdev stapdev Name: systemtap Version: 4.6 -Release: 8%{?release_override}%{?dist} +Release: 9%{?release_override}%{?dist} # for version, see also configure.ac @@ -1281,8 +1281,9 @@ exit 0 # PRERELEASE %changelog -* Fri Jan 21 2022 Martin Cermak - 4.6-8 +* Fri Jan 21 2022 Martin Cermak - 4.6-9 - rhbz2027683: python tapset regression +- rhbz2027683: systemtap.examples/io/iostat-scsi.stp PR28633 * Mon Jan 17 2022 Martin Cermak - 4.6-6 - rhbz2041526/pr28634: move elevator.h to block/