File bcc-bsc1173299-fix-zfs-scripts-py3.patch of Package bcc.15681

From 3f2f109cd88f2437c9035bd72da3cd8d469c5885 Mon Sep 17 00:00:00 2001
From: Andreas Gerstmayr <andreas@gerstmayr.me>
Date: Tue, 29 May 2018 16:06:00 +0200
Subject: [PATCH 1/2] zfsdist: fix for python3

The BPF.get_kprobe_functions method tests if the passed argument
matches with a line of kallsyms, which is opened in binary mode.
Therefore the regex pattern must be bytes as well.

(cherry picked from commit 0d08989d4c14fbecfde8e4abf175adb24a5252e5)
---
 tools/zfsdist.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/zfsdist.py b/tools/zfsdist.py
index 9c6d3e0a..81670717 100755
--- a/tools/zfsdist.py
+++ b/tools/zfsdist.py
@@ -133,10 +133,10 @@ if debug:
 b = BPF(text=bpf_text)
 
 # common file functions
-if BPF.get_kprobe_functions('zpl_iter'):
+if BPF.get_kprobe_functions(b'zpl_iter'):
     b.attach_kprobe(event="zpl_iter_read", fn_name="trace_entry")
     b.attach_kprobe(event="zpl_iter_write", fn_name="trace_entry")
-elif BPF.get_kprobe_functions('zpl_aio'):
+elif BPF.get_kprobe_functions(b'zpl_aio'):
     b.attach_kprobe(event="zpl_aio_read", fn_name="trace_entry")
     b.attach_kprobe(event="zpl_aio_write", fn_name="trace_entry")
 else:
@@ -144,10 +144,10 @@ else:
     b.attach_kprobe(event="zpl_write", fn_name="trace_entry")
 b.attach_kprobe(event="zpl_open", fn_name="trace_entry")
 b.attach_kprobe(event="zpl_fsync", fn_name="trace_entry")
-if BPF.get_kprobe_functions('zpl_iter'):
+if BPF.get_kprobe_functions(b'zpl_iter'):
     b.attach_kretprobe(event="zpl_iter_read", fn_name="trace_read_return")
     b.attach_kretprobe(event="zpl_iter_write", fn_name="trace_write_return")
-elif BPF.get_kprobe_functions('zpl_aio'):
+elif BPF.get_kprobe_functions(b'zpl_aio'):
     b.attach_kretprobe(event="zpl_aio_read", fn_name="trace_read_return")
     b.attach_kretprobe(event="zpl_aio_write", fn_name="trace_write_return")
 else:
-- 
2.27.0


From 52864e3830f9ec167c8cdde7c29247c968348823 Mon Sep 17 00:00:00 2001
From: yonghong-song <ys114321@gmail.com>
Date: Wed, 13 Jun 2018 06:12:43 -0700
Subject: [PATCH 2/2] make tcpdrop and zfsslower python3 compatible (#1817)

Make the input string of get_kprobe_functions as
bytes literal in tcpdrop and zfsslower so the
tool can be python3 compatible.

Signed-off-by: Yonghong Song <yhs@fb.com>
(cherry picked from commit 3b86b565d3a416a250772bd6bf4ea282bd856fe9)

NOTE:
  * The fix for tools/tcpdrop.py is dropped since the script doesn't
    exist in 0.5.0.
---
 tools/zfsslower.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/zfsslower.py b/tools/zfsslower.py
index 1e61de74..e9f5b5bc 100755
--- a/tools/zfsslower.py
+++ b/tools/zfsslower.py
@@ -276,10 +276,10 @@ def print_event(cpu, data, size):
 b = BPF(text=bpf_text)
 
 # common file functions
-if BPF.get_kprobe_functions('zpl_iter'):
+if BPF.get_kprobe_functions(b'zpl_iter'):
     b.attach_kprobe(event="zpl_iter_read", fn_name="trace_rw_entry")
     b.attach_kprobe(event="zpl_iter_write", fn_name="trace_rw_entry")
-elif BPF.get_kprobe_functions('zpl_aio'):
+elif BPF.get_kprobe_functions(b'zpl_aio'):
     b.attach_kprobe(event="zpl_aio_read", fn_name="trace_rw_entry")
     b.attach_kprobe(event="zpl_aio_write", fn_name="trace_rw_entry")
 else:
@@ -287,10 +287,10 @@ else:
     b.attach_kprobe(event="zpl_write", fn_name="trace_rw_entry")
 b.attach_kprobe(event="zpl_open", fn_name="trace_open_entry")
 b.attach_kprobe(event="zpl_fsync", fn_name="trace_fsync_entry")
-if BPF.get_kprobe_functions('zpl_iter'):
+if BPF.get_kprobe_functions(b'zpl_iter'):
     b.attach_kretprobe(event="zpl_iter_read", fn_name="trace_read_return")
     b.attach_kretprobe(event="zpl_iter_write", fn_name="trace_write_return")
-elif BPF.get_kprobe_functions('zpl_aio'):
+elif BPF.get_kprobe_functions(b'zpl_aio'):
     b.attach_kretprobe(event="zpl_aio_read", fn_name="trace_read_return")
     b.attach_kretprobe(event="zpl_aio_write", fn_name="trace_write_return")
 else:
-- 
2.27.0

openSUSE Build Service is sponsored by