Resolves: rhbz2041526

move elevator.h to block/
This commit is contained in:
Martin Cermak 2022-01-17 17:53:06 +01:00
parent 2b680506d8
commit a391d0d7fb
2 changed files with 128 additions and 1 deletions

122
bz2041526.patch Normal file
View File

@ -0,0 +1,122 @@
commit efae8a3dc159248a877a9904aa408b2468d272f1
Author: Martin Cermak <mcermak@redhat.com>
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
+++ b/tapset/linux/ioscheduler.stp
@@ -11,7 +11,9 @@
// </tapsetdescription>
%{
#include <linux/blkdev.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5,14,0)
#include <linux/elevator.h>
+#endif
%}
/**
@@ -76,7 +78,8 @@ probe ioscheduler.elv_completed_request
elevator_name = kernel_string(
@choose_defined($q->elevator->type->elevator_name,
@choose_defined($q->elevator->elevator_type->elevator_name,
- $q->elevator->elevator_name)), "")
+ @choose_defined($q->elevator->elevator_name,
+ 0))), "")
if($rq == 0) {
disk_major = -1
disk_minor = -1
@@ -114,7 +117,8 @@ probe ioscheduler.elv_add_request.kp =
elevator_name = kernel_string(
@choose_defined($q->elevator->type->elevator_name,
@choose_defined($q->elevator->elevator_type->elevator_name,
- $q->elevator->elevator_name)), "")
+ @choose_defined($q->elevator->elevator_name,
+ 0))), "")
q = $q
if($rq == 0) {
disk_major = -1
@@ -152,7 +156,8 @@ probe ioscheduler.elv_add_request.tp = kernel.trace("block_rq_insert") ?
elevator_name = kernel_string(
@choose_defined($rq->q->elevator->type->elevator_name,
@choose_defined($rq->q->elevator->elevator_type->elevator_name,
- $rq->q->elevator->elevator_name)), "")
+ @choose_defined($rq->q->elevator->elevator_name,
+ 0))), "")
rq = $rq
if ($rq == 0 || $rq->rq_disk ==0) {
@@ -201,7 +206,8 @@ probe ioscheduler_trace.elv_completed_request
elevator_name = kernel_string(
@choose_defined($rq->q->elevator->type->elevator_name,
@choose_defined($rq->q->elevator->elevator_type->elevator_name,
- $rq->q->elevator->elevator_name)), "")
+ @choose_defined($rq->q->elevator->elevator_name,
+ 0))), "")
rq = $rq
@@ -237,7 +243,8 @@ probe ioscheduler_trace.elv_issue_request
elevator_name = kernel_string(
@choose_defined($rq->q->elevator->type->elevator_name,
@choose_defined($rq->q->elevator->elevator_type->elevator_name,
- $rq->q->elevator->elevator_name)), "")
+ @choose_defined($rq->q->elevator->elevator_name,
+ 0))), "")
rq = $rq
if ($rq == 0 || $rq->rq_disk ==0) {
@@ -272,7 +279,8 @@ probe ioscheduler_trace.elv_requeue_request
elevator_name = kernel_string(
@choose_defined($rq->q->elevator->type->elevator_name,
@choose_defined($rq->q->elevator->elevator_type->elevator_name,
- $rq->q->elevator->elevator_name)), "")
+ @choose_defined($rq->q->elevator->elevator_name,
+ 0))), "")
rq = $rq
if ($rq == 0 || $rq->rq_disk ==0) {
@@ -306,7 +314,8 @@ probe ioscheduler_trace.elv_abort_request
elevator_name = kernel_string(
@choose_defined($rq->q->elevator->type->elevator_name,
@choose_defined($rq->q->elevator->elevator_type->elevator_name,
- $rq->q->elevator->elevator_name)), "")
+ @choose_defined($rq->q->elevator->elevator_name,
+ 0))), "")
rq = $rq
if ($rq == 0 || $rq->rq_disk ==0) {
@@ -364,6 +373,9 @@ probe ioscheduler_trace.unplug_timer = kernel.trace("block_unplug_timer") ?
function disk_major_from_request:long(var_q:long)
%{ /* pure */
+#ifndef _ELEVATOR_H
+ STAP_ERROR ("unsupported (PR28634)");
+#else
struct request_queue *q = (struct request_queue *)((uintptr_t)STAP_ARG_var_q);
/* We need to make sure there isn't a deref hazard here when
@@ -382,10 +394,14 @@ function disk_major_from_request:long(var_q:long)
STAP_RETVALUE = kread(&(rq_disk->major));
}
CATCH_DEREF_FAULT();
+#endif
%}
function disk_minor_from_request:long(var_q:long)
%{ /* pure */
+#ifndef _ELEVATOR_H
+ STAP_ERROR ("unsupported (PR28634)");
+#else
struct request_queue *q = (struct request_queue *)((uintptr_t)STAP_ARG_var_q);
/* We need to make sure there isn't a deref hazard here when
@@ -404,4 +420,6 @@ function disk_minor_from_request:long(var_q:long)
STAP_RETVALUE = kread(&(rq_disk->first_minor));
}
CATCH_DEREF_FAULT();
+#endif
%}
+

View File

@ -118,7 +118,7 @@ m stapdev stapdev
Name: systemtap
Version: 4.6
Release: 5%{?release_override}%{?dist}
Release: 6%{?release_override}%{?dist}
# for version, see also configure.ac
@ -157,6 +157,7 @@ Source: ftp://sourceware.org/pub/systemtap/releases/systemtap-%{version}.tar.gz
Patch1: rhbz2025054python3.patch
Patch2: rhbz1972798.patch
Patch3: sdt-asm-glibc.patch
Patch4: bz2041526.patch
# Build*
BuildRequires: make
@ -581,6 +582,7 @@ systemtap-runtime-virthost machine to execute systemtap scripts.
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%build
@ -1277,6 +1279,9 @@ exit 0
# PRERELEASE
%changelog
* Mon Jan 17 2022 Martin Cermak <mcermak@redhat.com> - 4.6-6
- bz2041526/pr28634: move elevator.h to block/
* Tue Dec 07 2021 Stan Cox <scox@redhat.com> - 4.6.5
- sys/sdt.h remove aarch64 and s390 float constraints