Blame SOURCES/rhbz2085647.patch

c65db7
commit a0fa7bf0b68058d8f41a5fde608362172a2c3d77
c65db7
Author: Martin Cermak <mcermak@redhat.com>
c65db7
Date:   Wed May 11 22:22:00 2022 +0200
c65db7
c65db7
    Update examples/io/iostat-scsi.stp for modern rhel9 kernels.
c65db7
    
c65db7
    Update examples/io/iostat-scsi.stp for kernels having following
c65db7
    upstream kernel commit backported:
c65db7
    
c65db7
    commit f3fa33acca9f0058157214800f68b10d8e71ab7a
c65db7
    Author: Christoph Hellwig <hch@lst.de>
c65db7
    Date:   Fri Nov 26 13:18:00 2021 +0100
c65db7
    
c65db7
        block: remove the ->rq_disk field in struct request
c65db7
    
c65db7
        Just use the disk attached to the request_queue instead.
c65db7
    
c65db7
    [ ... stuff deleted ... ]
c65db7
c65db7
diff --git a/testsuite/systemtap.examples/io/iostat-scsi.stp b/testsuite/systemtap.examples/io/iostat-scsi.stp
c65db7
index 3faf32fe9..aa0238a7b 100755
c65db7
--- a/testsuite/systemtap.examples/io/iostat-scsi.stp
c65db7
+++ b/testsuite/systemtap.examples/io/iostat-scsi.stp
c65db7
@@ -2,12 +2,18 @@
c65db7
 
c65db7
 global devices, reads, writes
c65db7
 
c65db7
+/* kernel commit f3fa33acca9f0058157214800f68b10d8e71ab7a */
c65db7
+@define __disk_name(__request)
c65db7
+%(
c65db7
+    ( @choose_defined(@__request->rq_disk->disk_name, @__request->q->disk->disk_name ) )
c65db7
+%)
c65db7
+
c65db7
 /* data collection: SCSI disk */
c65db7
 %(kernel_v < "2.6.24" %?
c65db7
 probe module("sd_mod").function("sd_init_command") !,
c65db7
       kernel.function("sd_init_command")
c65db7
 {
c65db7
-  device = kernel_string($SCpnt->request->rq_disk->disk_name)
c65db7
+  device = kernel_string(@__disk_name($SCpnt->request))
c65db7
   sector_size = $SCpnt->device->sector_size
c65db7
   nr_sectors = $SCpnt->request->nr_sectors
c65db7
   devices[device] = 1
c65db7
@@ -38,7 +44,7 @@ function get_nr_sectors:long(rq:long)
c65db7
 probe sd_prep_fn = module("sd_mod").function("sd_prep_fn") !,
c65db7
 		   kernel.function("sd_prep_fn")
c65db7
 {
c65db7
-  device = kernel_string($rq->rq_disk->disk_name)
c65db7
+  device = kernel_string(@__disk_name($rq))
c65db7
   sector_size = @cast($q->queuedata, "scsi_device", "kernel<scsi/scsi_device.h>")->sector_size
c65db7
 %(kernel_v>="2.6.31" %?
c65db7
   nr_sectors = get_nr_sectors($rq)
c65db7
@@ -58,11 +64,11 @@ probe sd_init_command = module("sd_mod").function("sd_init_command") !,
c65db7
     sector_size = @choose_defined($cmd, $SCpnt)->device->sector_size
c65db7
     # Kernel commits aa8e25e5006aac52c943c84e9056ab488630ee19 2266a2def97ce11ec979b6c58a1b637a16eca7dd
c65db7
     if (@defined(@choose_defined($cmd, $SCpnt)->request)) {
c65db7
-      device = kernel_string(@choose_defined($cmd, $SCpnt)->request->rq_disk->disk_name)
c65db7
+      device = kernel_string(@__disk_name(@choose_defined($cmd, $SCpnt)->request))
c65db7
       nr_sectors = get_nr_sectors(@choose_defined($cmd, $SCpnt)->request)
c65db7
       _cmd_flags = @choose_defined($cmd, $SCpnt)->request->cmd_flags
c65db7
     } else {
c65db7
-      device = kernel_string(@cast(scsi_cmd_to_rq(@choose_defined($cmd, $SCpnt)), "request", "kernel")->rq_disk->disk_name)
c65db7
+      device = kernel_string(@__disk_name(@cast(scsi_cmd_to_rq(@choose_defined($cmd, $SCpnt)), "request", "kernel")))
c65db7
       nr_sectors = get_nr_sectors(scsi_cmd_to_rq(@choose_defined($cmd, $SCpnt)))
c65db7
       _cmd_flags = @cast(scsi_cmd_to_rq(@choose_defined($cmd, $SCpnt)), "request", "kernel")->cmd_flags
c65db7
   }