From: Marcin Skarbek Date: Mon, 28 Aug 2017 15:39:50 +0000 (+0200) Subject: zfs tools fix for zpl_read/zpl_write removal X-Git-Tag: submit/tizen_4.0/20171018.110122~11^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4f444a527e0b42be5d5a324c91714e0000d37019;p=platform%2Fupstream%2Fbcc.git zfs tools fix for zpl_read/zpl_write removal --- diff --git a/tools/zfsdist.py b/tools/zfsdist.py index 2d9ae217..9c6d3e0a 100755 --- a/tools/zfsdist.py +++ b/tools/zfsdist.py @@ -133,12 +133,26 @@ if debug: b = BPF(text=bpf_text) # common file functions -b.attach_kprobe(event="zpl_read", fn_name="trace_entry") -b.attach_kprobe(event="zpl_write", fn_name="trace_entry") +if BPF.get_kprobe_functions('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'): + b.attach_kprobe(event="zpl_aio_read", fn_name="trace_entry") + b.attach_kprobe(event="zpl_aio_write", fn_name="trace_entry") +else: + b.attach_kprobe(event="zpl_read", fn_name="trace_entry") + 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") -b.attach_kretprobe(event="zpl_read", fn_name="trace_read_return") -b.attach_kretprobe(event="zpl_write", fn_name="trace_write_return") +if BPF.get_kprobe_functions('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'): + 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: + b.attach_kretprobe(event="zpl_read", fn_name="trace_read_return") + b.attach_kretprobe(event="zpl_write", fn_name="trace_write_return") b.attach_kretprobe(event="zpl_open", fn_name="trace_open_return") b.attach_kretprobe(event="zpl_fsync", fn_name="trace_fsync_return") diff --git a/tools/zfsslower.py b/tools/zfsslower.py index f5e8cbb4..1e61de74 100755 --- a/tools/zfsslower.py +++ b/tools/zfsslower.py @@ -276,12 +276,26 @@ def print_event(cpu, data, size): b = BPF(text=bpf_text) # common file functions -b.attach_kprobe(event="zpl_read", fn_name="trace_rw_entry") -b.attach_kprobe(event="zpl_write", fn_name="trace_rw_entry") +if BPF.get_kprobe_functions('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'): + 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: + b.attach_kprobe(event="zpl_read", fn_name="trace_rw_entry") + 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") -b.attach_kretprobe(event="zpl_read", fn_name="trace_read_return") -b.attach_kretprobe(event="zpl_write", fn_name="trace_write_return") +if BPF.get_kprobe_functions('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'): + 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: + b.attach_kretprobe(event="zpl_read", fn_name="trace_read_return") + b.attach_kretprobe(event="zpl_write", fn_name="trace_write_return") b.attach_kretprobe(event="zpl_open", fn_name="trace_open_return") b.attach_kretprobe(event="zpl_fsync", fn_name="trace_fsync_return")