This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

S390x Systemtap testing on RHEL5 RC


Here is the results from todays testing on S390 with RHEL5 RC. This test is based on the systemtap included in the RC.

--
David Wilder
IBM Linux Technology Center
Beaverton, Oregon, USA dwilder@us.ibm.com
(503)578-3789


Test Run By root on Thu Feb  8 12:03:45 2007
Native configuration is s390x-redhat-linux-gnu

		=== systemtap tests ===

Schedule of variations:
    unix

Running target unix
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap/notest.exp ...
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/add.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/add.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/add.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/add.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/array_size.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/array_size.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/array_size.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/array_size.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/be_order.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/be_order.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/be_order.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/be_order.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.exp ...
PASS: bench (15)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/cache.exp ...
PASS: BASIC1 wasn't cached
PASS: BASIC2 was cached
PASS: OPTION1 wasn't cached
PASS: OPTION2 was cached
PASS: BULK1 wasn't cached
PASS: BULK2 was cached
PASS: MERGE1 wasn't cached
PASS: MERGE2 was cached
PASS: RUNTIME1 wasn't cached
PASS: RUNTIME2 was cached
PASS: DISABLED1 wasn't cached
PASS: DISABLED2 wasn't cached
PASS: MODNAM1 wasn't cached
PASS: MODNAM2 wasn't cached
PASS: ERROR1 wasn't cached
PASS: ERROR2 wasn't cached
PASS: BASIC3 wasn't cached
PASS: BASIC4 was cached
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/deref.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/deref.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/deref.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/deref.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/equal.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/equal.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/equal.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/equal.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/finloop2.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/finloop2.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/finloop2.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/finloop2.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/global_init.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/global_init.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/global_init.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/global_init.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/if.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/if.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/if.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/if.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/inc.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/inc.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/inc.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/inc.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kfunct.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kfunct.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kfunct.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kfunct.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kmodule.exp ...
FAIL: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kmodule.stp startup (eof)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/logical_and.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/logical_and.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/logical_and.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/logical_and.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/maxactive.exp ...
PASS: MAXACTIVE01 startup
PASS: MAXACTIVE01 load generation
PASS: MAXACTIVE01 shutdown and output
PASS: MAXACTIVE02 startup
PASS: MAXACTIVE02 load generation
PASS: MAXACTIVE02 shutdown and output
PASS: MAXACTIVE03 (0 skipped probes <= 12 skipped probes)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/not.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/not.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/not.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/not.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/probefunc.exp ...
FAIL: probefunc:kernel.statement(0x000000000002f084) compilation
PASS: probefunc:kernel.function("scheduler_tick") startup
PASS: probefunc:kernel.function("scheduler_tick") load generation
PASS: probefunc:kernel.function("scheduler_tick") shutdown and output
PASS: probefunc:kernel.inline("context_switch") startup
PASS: probefunc:kernel.inline("context_switch") load generation
PASS: probefunc:kernel.inline("context_switch") shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/simple.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/simple.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/simple.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timeofday.exp ...
PASS: timeofday test startup
PASS: timeofday test load generation
PASS: timeofday test shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timers.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timers.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timers.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timers.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/tri.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/tri.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/tri.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/tri.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.exp ...
PASS: absentstats
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_fail.exp ...
PASS: foreach_fail correctly failed to compile
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_foreach.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_foreach.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_limit.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_limit.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ii.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ii.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/iiiiii.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/iiiiii.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/is.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/is.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear.exp ...
PASS: ix_clear passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear2.exp ...
PASS: ix_clear2 passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear3.exp ...
PASS: ix_clear3 passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_hist.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_hist.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp ...
ERROR: tcl error sourcing /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp.
ERROR: spawn_id: spawn id exp8 not open
    while executing
"close"
    (file "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp" line 26)
    invoked from within
"source /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 source /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp"
    invoked from within
"catch "uplevel #0 source $test_file_name""
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/si.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/si.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ss.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ss.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/buildko.exp ...
XFAIL: buildko/one.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/buildok.exp ...
PASS: buildok/array_size.stp
PASS: buildok/cmdline01.stp
PASS: buildok/context_test.stp
PASS: buildok/delete.stp
PASS: buildok/eight.stp
PASS: buildok/eighteen.stp
PASS: buildok/eleven.stp
PASS: buildok/fifteen.stp
PASS: buildok/five.stp
PASS: buildok/four.stp
PASS: buildok/fourteen-plus.stp
PASS: buildok/fourteen.stp
PASS: buildok/histogram_operator_in.stp
PASS: buildok/indent.stp
PASS: buildok/ioblock_test.stp
PASS: buildok/ioscheduler.stp
PASS: buildok/iterate_histogram_buckets.stp
PASS: buildok/lket.stp
PASS: buildok/marker.stp
PASS: buildok/maxactive01.stp
PASS: buildok/memory.stp
PASS: buildok/networking.stp
PASS: buildok/nine.stp
PASS: buildok/nineteen.stp
PASS: buildok/one.stp
KFAIL: buildok/perfmon01.stp (PRMS: 9999)
PASS: buildok/pmap_foreach.stp
PASS: buildok/print_histogram_entry.stp
PASS: buildok/print_histograms.stp
PASS: buildok/printf.stp
PASS: buildok/probefunc.stp
PASS: buildok/probemod.stp
KFAIL: buildok/process_test.stp (PRMS: 9999)
KFAIL: buildok/sched_test.stp (PRMS: 1155)
FAIL: buildok/scsi.stp
KPASS: buildok/seven.stp (PRMS 9999)
FAIL: buildok/seventeen.stp
PASS: buildok/six.stp
PASS: buildok/sixteen.stp
PASS: buildok/stat_extract.stp
PASS: buildok/stat_insert.stp
KFAIL: buildok/syscall.stp (PRMS: 9999)
PASS: buildok/task_test.stp
PASS: buildok/tcp_test.stp
PASS: buildok/ten.stp
PASS: buildok/thirteen.stp
PASS: buildok/three.stp
PASS: buildok/timestamp.stp
PASS: buildok/twelve.stp
FAIL: buildok/twenty.stp
PASS: buildok/twentyfive.stp
PASS: buildok/twentyfour.stp
PASS: buildok/twentyone.stp
FAIL: buildok/twentythree.stp
PASS: buildok/twentytwo.stp
PASS: buildok/two.stp
PASS: buildok/udp_test.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/parseko.exp ...
XFAIL: parseko/array01.stp
XFAIL: parseko/array02.stp
XFAIL: parseko/array03.stp
XFAIL: parseko/array04.stp
ERROR: verbose: illegal argument: -M option is valid only for bulk (relayfs) mode.
XFAIL: parseko/cmdline01.stp
XFAIL: parseko/cmdline02.stp
XFAIL: parseko/cmdline03.stp
XFAIL: parseko/cmdline04.stp
XFAIL: parseko/cmdline05.stp
XFAIL: parseko/cmdline06.stp
XFAIL: parseko/cmdlinearg01.stp
XFAIL: parseko/cmdlinearg02.stp
XFAIL: parseko/eight.stp
XFAIL: parseko/eighteen.stp
XFAIL: parseko/eleven.stp
XFAIL: parseko/fifteen.stp
XFAIL: parseko/five.stp
XFAIL: parseko/foreachstmt01.stp
XFAIL: parseko/foreachstmt02.stp
XFAIL: parseko/foreachstmt03.stp
XFAIL: parseko/foreachstmt04.stp
XFAIL: parseko/foreachstmt05.stp
XFAIL: parseko/foreachstmt06.stp
XFAIL: parseko/foreachstmt07.stp
XFAIL: parseko/forstmt01.stp
XFAIL: parseko/forstmt02.stp
XFAIL: parseko/forstmt03.stp
XFAIL: parseko/forstmt04.stp
XFAIL: parseko/four.stp
XFAIL: parseko/fourteen.stp
XFAIL: parseko/functiondecl01.stp
XFAIL: parseko/functiondecl02.stp
XFAIL: parseko/functiondecl03.stp
XFAIL: parseko/functiondecl04.stp
XFAIL: parseko/functiondecl05.stp
XFAIL: parseko/functiondecl06.stp
XFAIL: parseko/functiondecl07.stp
XFAIL: parseko/ifstmt01.stp
XFAIL: parseko/ifstmt02.stp
XFAIL: parseko/maxactive01.stp
XFAIL: parseko/maxactive02.stp
XFAIL: parseko/maxactive03.stp
XFAIL: parseko/maxactive04.stp
XFAIL: parseko/nine.stp
XFAIL: parseko/nineteen.stp
XFAIL: parseko/one.stp
XFAIL: parseko/preprocess01.stp
XFAIL: parseko/preprocess02.stp
XFAIL: parseko/preprocess03.stp
XFAIL: parseko/preprocess04.stp
XFAIL: parseko/preprocess05.stp
XFAIL: parseko/preprocess06.stp
XFAIL: parseko/preprocess07.stp
XFAIL: parseko/preprocess08.stp
XFAIL: parseko/preprocess09.stp
XFAIL: parseko/probepoint01.stp
XFAIL: parseko/probepoint02.stp
XFAIL: parseko/probepoint03.stp
XFAIL: parseko/seven.stp
XFAIL: parseko/seventeen.stp
XFAIL: parseko/six.stp
XFAIL: parseko/sixteen.stp
XFAIL: parseko/ten.stp
XFAIL: parseko/ternarystmt01.stp
XFAIL: parseko/thirteen.stp
XFAIL: parseko/three.stp
XFAIL: parseko/twelve.stp
XFAIL: parseko/twenty.stp
XFAIL: parseko/twentyone.stp
XFAIL: parseko/twentythree.stp
XFAIL: parseko/twentytwo.stp
XFAIL: parseko/two.stp
XFAIL: parseko/whilestmt01.stp
XFAIL: parseko/whilestmt02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/parseok.exp ...
PASS: parseok/cmdline01.stp
PASS: parseok/cmdline02.stp
PASS: parseok/eight.stp
PASS: parseok/eighteen.stp
PASS: parseok/eleven.stp
PASS: parseok/fifteen.stp
PASS: parseok/five.stp
PASS: parseok/foreachstmt01.stp
PASS: parseok/four.stp
PASS: parseok/fourteen.stp
PASS: parseok/nine.stp
PASS: parseok/one.stp
PASS: parseok/semko.stp
PASS: parseok/seven.stp
PASS: parseok/seventeen.stp
PASS: parseok/six.stp
PASS: parseok/sixteen.stp
PASS: parseok/ten.stp
PASS: parseok/thirteen.stp
PASS: parseok/three.stp
PASS: parseok/twelve.stp
PASS: parseok/two.stp
PASS: parseok/unparser.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/semko.exp ...
XFAIL: semko/eight.stp
XFAIL: semko/eighteen.stp
XFAIL: semko/eleven.stp
XFAIL: semko/fifteen.stp
XFAIL: semko/five.stp
XFAIL: semko/foreachstmt01.stp
XFAIL: semko/foreachstmt02.stp
XFAIL: semko/four.stp
XFAIL: semko/fourteen.stp
XFAIL: semko/maxactive01.stp
XFAIL: semko/maxactive02.stp
XFAIL: semko/maxactive03.stp
XFAIL: semko/nine.stp
XFAIL: semko/nineteen.stp
XFAIL: semko/one.stp
XFAIL: semko/return01.stp
XFAIL: semko/return02.stp
XFAIL: semko/seven.stp
XFAIL: semko/seventeen.stp
XFAIL: semko/six.stp
XFAIL: semko/sixteen.stp
XFAIL: semko/ten.stp
XFAIL: semko/thirteen.stp
XFAIL: semko/thirty.stp
XFAIL: semko/thirtyfive.stp
XFAIL: semko/thirtyfour.stp
XFAIL: semko/thirtyone.stp
XFAIL: semko/thirtysix.stp
XFAIL: semko/thirtythree.stp
XFAIL: semko/thirtytwo.stp
XFAIL: semko/three.stp
XFAIL: semko/twelve.stp
XFAIL: semko/twenty.stp
XFAIL: semko/twentyeight.stp
XFAIL: semko/twentyfive.stp
XFAIL: semko/twentyfour.stp
XFAIL: semko/twentynine.stp
XFAIL: semko/twentyone.stp
XFAIL: semko/twentyseven.stp
XFAIL: semko/twentysix.stp
XFAIL: semko/twentythree.stp
XFAIL: semko/twentytwo.stp
XFAIL: semko/two.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/semok.exp ...
PASS: semok/args.stp
PASS: semok/beginend.stp
PASS: semok/eight.stp
PASS: semok/eighteen.stp
PASS: semok/eleven.stp
PASS: semok/fifteen.stp
PASS: semok/five.stp
PASS: semok/four.stp
PASS: semok/fourteen.stp
PASS: semok/nine.stp
PASS: semok/nineteen.stp
PASS: semok/one.stp
PASS: semok/optimize.stp
PASS: semok/seven.stp
PASS: semok/seventeen.stp
PASS: semok/six.stp
PASS: semok/sixteen.stp
PASS: semok/ten.stp
PASS: semok/thirteen.stp
PASS: semok/three.stp
PASS: semok/transko.stp
PASS: semok/twelve.stp
PASS: semok/twenty.stp
PASS: semok/twentyfour.stp
PASS: semok/twentyone.stp
PASS: semok/twentythree.stp
PASS: semok/twentytwo.stp
PASS: semok/two.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/transko.exp ...
XFAIL: transko/array01.stp
XFAIL: transko/one.stp
XFAIL: transko/three.stp
XFAIL: transko/two.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/transok.exp ...
PASS: transok/buildko.stp
PASS: transok/eight.stp
PASS: transok/five.stp
PASS: transok/four.stp
PASS: transok/nine.stp
PASS: transok/one.stp
PASS: transok/seven.stp
PASS: transok/six.stp
PASS: transok/ten.stp
PASS: transok/three.stp
PASS: transok/tval-opt.stp
PASS: transok/two.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic1.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic1.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic2.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic2.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic3.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic3.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic4.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic4.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic5.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/basic5.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin1.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin1.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin2.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin2.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin3.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin3.stp passed
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin3a.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin4.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin4.stp passed
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin4a.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin5.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin5.stp passed
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/bin5a.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/int1.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/int1.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/oct.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/oct.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/ptr.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/ptr.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/string1.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/string1.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/string2.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.printf/string2.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/args.exp ...
PASS: args search for staprun (/usr/local/bin/staprun)
PASS: args compile
PASS: args search for tmpdir (/tmp/stapHuQm9d)
PASS: args search for probe module (/tmp/stapHuQm9d/args_3770.ko)
PASS: args run 1
PASS: args run 2
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/arith.exp ...
PASS: arith
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/arith_limits.exp ...
PASS: arith
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/control_limits.exp ...
PASS: control_limits MAXNESTING (1)
PASS: control_limits MAXACTION (1)
PASS: control_limits MAXSTRINGLEN small (1)
PASS: control_limits MAXSTRINGLEN large (1)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/ioblocktest.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/ioblocktest.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/ioblocktest.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/ioblocktest.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/lket.exp ...
FAIL: systemtap.samples/lket(pass1)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/pfaults.exp ...
PASS: pfaults (2)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/poll_map.exp ...
PASS: poll_map (1)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/primes.exp ...
PASS: primes
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/profile.exp ...
PASS: profile (25)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/queue_demo.exp ...
PASS: queue_demo
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/symbols.exp ...
PASS: symbols (11)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/syscalls1.exp ...
PASS: syscalls-count (280)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/syscalls2.exp ...
PASS: syscalls-run (101)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/sysopen.exp ...
PASS: sysopen (3)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/tcptest.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/tcptest.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/tcptest.stp load generation
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/tcptest.stp shutdown and output
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.samples/transport.exp ...
PASS: transport normal - procfs (1)
PASS: transport normal - relayfs (1)
PASS: transport fill staging buffer - procfs (1)
PASS: transport fill staging buffer - relayfs (1)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.stress/all_kernel_functions.exp ...
UNTESTED: all_kernel_functions is disabled
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.stress/current.exp ...
FAIL: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.stress/current.stp compilation
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.stress/whitelist.exp ...
UNTESTED: whitelist is disabled
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/isinstr.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/isinstr.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/strlen.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/strlen.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/substr.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/substr.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/text_str.exp ...
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.string/text_str.stp passed
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.syscall/test.exp ...
FAIL: access
FAIL: acct
FAIL: alarm
FAIL: chmod
FAIL: clock
FAIL: dir
FAIL: forkwait
FAIL: itimer
FAIL: link
FAIL: mmap
FAIL: mount
FAIL: net1
FAIL: openclose
FAIL: readwrite
FAIL: rt_signal
FAIL: sendfile
FAIL: signal
FAIL: stat
FAIL: statfs
FAIL: swap
FAIL: sync
FAIL: timer
FAIL: trunc
FAIL: uid
UNSUPPORTED: uid16 not supported on this arch
FAIL: umask
FAIL: unlink

		=== systemtap Summary ===

# of expected passes		260
# of unexpected failures	34
# of expected failures		122
# of unknown successes		1
# of known failures		4
# of untested testcases		2
# of unsupported tests		1
Test Run By root on Thu Feb  8 12:03:45 2007
Native configuration is s390x-redhat-linux-gnu

		=== systemtap tests ===

Schedule of variations:
    unix

Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
WARNING: Couldn't find tool config file for unix, using default.
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap/notest.exp ...
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap/notest.exp completed in 0 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/add.exp ...
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/590real ms.
Pass 2: analyzed script: 2 probe(s), 1 function(s), 0 embed(s), 3 global(s) in 10usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapWT9beS/stap_8aa29e1dd95d12726aaffac5840f1f99_458.c" in 0usr/0sys/2real ms.
Pass 4: compiled C into "stap_8aa29e1dd95d12726aaffac5840f1f99_458.ko" in 3400usr/270sys/3527real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/add.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/add.stp load generation
systemtap ending probe
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/add.stp shutdown and output
Pass 5: run completed in 250usr/1200sys/1466real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/add.stp 	560	10	590	10	0	9	0	0	2	3400	270	3527	250	1200	1466
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/add.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/array_size.exp ...
Pass 1: parsed user script and 52 library script(s) in 580usr/10sys/598real ms.
Pass 2: analyzed script: 4 probe(s), 1 function(s), 0 embed(s), 1 global(s) in 10usr/0sys/10real ms.
Pass 3: translated to C into "/tmp/stap0kjIho/stap_b9e7473d5e7c893a670bcccc880a9570_686.c" in 0usr/0sys/3real ms.
Pass 4: compiled C into "stap_b9e7473d5e7c893a670bcccc880a9570_686.ko" in 4070usr/290sys/4200real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/array_size.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/array_size.stp load generation
systemtap ending probe
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/array_size.stp shutdown and output
Pass 5: run completed in 250usr/1180sys/1464real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/array_size.stp 	580	10	598	10	0	10	0	0	3	4070	290	4200	250	1180	1464
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/array_size.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/be_order.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/590real ms.
Pass 2: analyzed script: 14 probe(s), 1 function(s), 0 embed(s), 2 global(s) in 10usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stap281dOJ/stap_acc63253d94d8847c6c4c4b95398541e_1025.c" in 0usr/0sys/4real ms.
Pass 4: compiled C into "stap_acc63253d94d8847c6c4c4b95398541e_1025.ko" in 3720usr/290sys/3860real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/be_order.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/be_order.stp load generation
systemtap ending probe
systemtap test success
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/be_order.stp shutdown and output
Pass 5: run completed in 270usr/1180sys/1454real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/be_order.stp 	570	10	590	10	0	9	0	0	4	3720	290	3860	270	1180	1454
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/be_order.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.exp ...
probe test.null (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:12:45), hits: 40, cycles: 128min/129avg/144max
probe test.intassmt (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:13:45), hits: 40, cycles: 128min/148avg/400max
probe test.gintassmt (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:14:45), hits: 40, cycles: 208min/234avg/528max
probe test.intincr (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:15:45), hits: 40, cycles: 128min/141avg/160max
probe test.gintincr (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:16:45), hits: 40, cycles: 224min/230avg/256max
probe test.strassmt (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:18:45), hits: 40, cycles: 272min/289avg/304max
probe test.gstrassmt (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:19:45), hits: 40, cycles: 352min/375avg/896max
probe test.forloop (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:21:52), hits: 40, cycles: 304min/326avg/576max
probe test.ifgint (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:22:52), hits: 40, cycles: 224min/241avg/544max
probe test.next (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:23:52), hits: 40, cycles: 128min/184avg/2160max
probe test.stataccum (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:25:52), hits: 40, cycles: 256min/284avg/640max
probe test.statcount (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:26:52), hits: 40, cycles: 608min/639avg/1472max
probe test.nnarrassmt (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:28:53), hits: 40, cycles: 320min/386avg/2256max
probe test.ssarrassmt (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:29:53), hits: 40, cycles: 800min/872avg/3232max
probe begin(9999) (/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.stp:31:1), hits: 1, cycles: 240min/240avg/240max
PASS: bench (15)
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/bench.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/cache.exp ...
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/589real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapOudLnW/stap_eca6aa2c29574d6c91e9f2598fe19206_130.c" in 0usr/0sys/0real ms.
Pass 4: compiled C into "stap_eca6aa2c29574d6c91e9f2598fe19206_130.ko" in 3170usr/270sys/3302real ms.
PASS: BASIC1 wasn't cached
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/589real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/9real ms.
Pass 3: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/ec/stap_eca6aa2c29574d6c91e9f2598fe19206_130.c
Pass 4: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/ec/stap_eca6aa2c29574d6c91e9f2598fe19206_130.ko
PASS: BASIC2 was cached
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/583real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/8real ms.
Pass 3: translated to C into "/tmp/stappEEHko/stap_b75576bac310f0c009b5009c14a1f874_135.c" in 0usr/0sys/0real ms.
Pass 4: compiled C into "stap_b75576bac310f0c009b5009c14a1f874_135.ko" in 3170usr/270sys/3315real ms.
PASS: OPTION1 wasn't cached
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/590real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 0usr/0sys/9real ms.
Pass 3: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/b7/stap_b75576bac310f0c009b5009c14a1f874_135.c
Pass 4: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/b7/stap_b75576bac310f0c009b5009c14a1f874_135.ko
PASS: OPTION2 was cached
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/586real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stap1nhhq2/stap_799627f5832e3262347130b0f00e68e5_130.c" in 0usr/0sys/0real ms.
Pass 4: compiled C into "stap_799627f5832e3262347130b0f00e68e5_130.ko" in 3340usr/280sys/3473real ms.
PASS: BULK1 wasn't cached
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/588real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 0usr/0sys/9real ms.
Pass 3: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/79/stap_799627f5832e3262347130b0f00e68e5_130.c
Pass 4: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/79/stap_799627f5832e3262347130b0f00e68e5_130.ko
PASS: BULK2 was cached
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/587real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 0usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapaFQGZK/stap_a9fd03e2744c057b6e09553ed4a392e8_130.c" in 0usr/0sys/0real ms.
Pass 4: compiled C into "stap_a9fd03e2744c057b6e09553ed4a392e8_130.ko" in 3340usr/270sys/3471real ms.
PASS: MERGE1 wasn't cached
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/591real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/9real ms.
Pass 3: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/a9/stap_a9fd03e2744c057b6e09553ed4a392e8_130.c
Pass 4: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/a9/stap_a9fd03e2744c057b6e09553ed4a392e8_130.ko
PASS: MERGE2 was cached
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/595real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/8real ms.
Pass 3: translated to C into "/tmp/stap52QVMr/stap_d15f64806c21d8d9440e126f0a0cc40e_166.c" in 0usr/0sys/0real ms.
Pass 4: compiled C into "stap_d15f64806c21d8d9440e126f0a0cc40e_166.ko" in 3160usr/270sys/3298real ms.
PASS: RUNTIME1 wasn't cached
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/590real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/9real ms.
Pass 3: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/d1/stap_d15f64806c21d8d9440e126f0a0cc40e_166.c
Pass 4: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/d1/stap_d15f64806c21d8d9440e126f0a0cc40e_166.ko
PASS: RUNTIME2 was cached
Warning: failed to create systemtap data directory ("/dev/null"): Not a directory
Disabling cache support.
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/587real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/8real ms.
Pass 3: translated to C into "/tmp/stapxOXv15/stap_4679.c" in 0usr/0sys/0real ms.
Pass 4: compiled C into "stap_4679.ko" in 3170usr/270sys/3307real ms.
PASS: DISABLED1 wasn't cached
Warning: failed to create systemtap data directory ("/dev/null"): Not a directory
Disabling cache support.
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/587real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapzrFavY/stap_4763.c" in 0usr/0sys/0real ms.
Pass 4: compiled C into "stap_4763.ko" in 3180usr/270sys/3306real ms.
PASS: DISABLED2 wasn't cached
Warning: using '-m' disables cache support.
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/588real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/8real ms.
Pass 3: translated to C into "/tmp/stapjlUpgT/modnam.c" in 0usr/0sys/0real ms.
Pass 4: compiled C into "modnam.ko" in 3160usr/270sys/3294real ms.
PASS: MODNAM1 wasn't cached
Warning: using '-m' disables cache support.
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/590real ms.
Pass 2: analyzed script: 1 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/8real ms.
Pass 3: translated to C into "/tmp/stapBSeSnP/modnam.c" in 0usr/0sys/0real ms.
Pass 4: compiled C into "modnam.ko" in 3170usr/270sys/3295real ms.
PASS: MODNAM2 wasn't cached
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/588real ms.
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point XbeginX
Pass 2: analyzed script: 0 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/10real ms.
Pass 2: analysis failed.  Try again with more '-v' (verbose) options.
PASS: ERROR1 wasn't cached
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/586real ms.
semantic error: probe point mismatch at position 0 (alternatives: _addevent _lket_internal _signal addevent begin begin(number) end end(number) generic ioblock ioscheduler kernel lket_internal module(string) netdev never nfs nfsd perfmon process register_event scheduler scsi signal sunrpc syscall tcp timer udp vfs vm) while resolving probe point XbeginX
Pass 2: analyzed script: 0 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/10real ms.
Pass 2: analysis failed.  Try again with more '-v' (verbose) options.
PASS: ERROR2 wasn't cached
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/589real ms.
Pass 2: analyzed script: 2 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapAM3mxY/stap_0f7ece07d1219edd30642ac9e72ac676_138.c" in 0usr/0sys/0real ms.
Pass 4: compiled C into "stap_0f7ece07d1219edd30642ac9e72ac676_138.ko" in 3170usr/270sys/3310real ms.
PASS: BASIC3 wasn't cached
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/587real ms.
Pass 2: analyzed script: 2 probe(s), 0 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/9real ms.
Pass 3: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/0f/stap_0f7ece07d1219edd30642ac9e72ac676_138.c
Pass 4: using cached /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/.cache_test/cache/0f/stap_0f7ece07d1219edd30642ac9e72ac676_138.ko
PASS: BASIC4 was cached
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/cache.exp completed in 45 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/deref.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/588real ms.
Pass 2: analyzed script: 3 probe(s), 3 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/10real ms.
Pass 3: translated to C into "/tmp/stapi7Suzt/stap_33244c5f4fc26f8334d709add99702d2_1298.c" in 0usr/0sys/2real ms.
Pass 4: compiled C into "stap_33244c5f4fc26f8334d709add99702d2_1298.ko" in 3400usr/280sys/3560real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/deref.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/deref.stp load generation
systemtap ending probe
systemtap test success
systemtap test success
systemtap test success
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/deref.stp shutdown and output
Pass 5: run completed in 260usr/1170sys/1452real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/deref.stp 	570	10	588	10	0	10	0	0	2	3400	280	3560	260	1170	1452
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/deref.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/591real ms.
Pass 2: analyzed script: 2 probe(s), 1 function(s), 0 embed(s), 3 global(s) in 0usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapBNdjsf/stap_a8df9cbcffd3bd07f6c265b129425b12_461.c" in 0usr/0sys/2real ms.
Pass 4: compiled C into "stap_a8df9cbcffd3bd07f6c265b129425b12_461.ko" in 3410usr/290sys/3562real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.stp load generation
systemtap ending probe
ERROR: division by 0 near operator '/' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.stp:21:10
WARNING: Number of errors: 1, skipped probes: 0
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.stp shutdown and output
Pass 5: run completed in 250usr/1180sys/1450real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.stp 	570	10	591	0	0	9	0	0	2	3410	290	3562	250	1180	1450
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/div0.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/equal.exp ...
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/593real ms.
Pass 2: analyzed script: 3 probe(s), 1 function(s), 0 embed(s), 2 global(s) in 390usr/60sys/451real ms.
Pass 3: translated to C into "/tmp/stapr2UATP/stap_a442274744d7a16eec61020d246acc6a_646.c" in 0usr/0sys/3real ms.
Pass 4: compiled C into "stap_a442274744d7a16eec61020d246acc6a_646.ko" in 3690usr/290sys/3827real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/equal.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/equal.stp load generation
systemtap ending probe
count = 11
count2 = 11
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/equal.stp shutdown and output
Pass 5: run completed in 260usr/1180sys/1544real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/equal.stp 	560	10	593	390	60	451	0	0	3	3690	290	3827	260	1180	1544
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/equal.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/finloop2.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/588real ms.
Pass 2: analyzed script: 3 probe(s), 1 function(s), 0 embed(s), 2 global(s) in 390usr/60sys/454real ms.
Pass 3: translated to C into "/tmp/stapi2SZJb/stap_264eb69b8fe9fc6cdee6d3fdf8ab39e3_657.c" in 0usr/0sys/3real ms.
Pass 4: compiled C into "stap_264eb69b8fe9fc6cdee6d3fdf8ab39e3_657.ko" in 3700usr/290sys/3837real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/finloop2.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/finloop2.stp load generation
systemtap ending probe
count = 10
loop_count = 100
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/finloop2.stp shutdown and output
Pass 5: run completed in 250usr/1190sys/1486real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/finloop2.stp 	570	10	588	390	60	454	0	0	3	3700	290	3837	250	1190	1486
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/finloop2.exp completed in 8 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/global_init.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/590real ms.
Pass 2: analyzed script: 4 probe(s), 1 function(s), 0 embed(s), 4 global(s) in 10usr/0sys/10real ms.
Pass 3: translated to C into "/tmp/stapg6GDID/stap_41ca4f6db53553e25a50af4634f70841_717.c" in 0usr/0sys/2real ms.
Pass 4: compiled C into "stap_41ca4f6db53553e25a50af4634f70841_717.ko" in 3440usr/290sys/3576real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/global_init.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/global_init.stp load generation
systemtap ending probe
systemtap test success
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/global_init.stp shutdown and output
Pass 5: run completed in 250usr/1180sys/1464real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/global_init.stp 	570	10	590	10	0	10	0	0	2	3440	290	3576	250	1180	1464
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/global_init.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/if.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/588real ms.
Pass 2: analyzed script: 2 probe(s), 1 function(s), 0 embed(s), 0 global(s) in 10usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapuoOuyd/stap_26085f03cbaf9ba43e3220858383fcad_447.c" in 0usr/0sys/2real ms.
Pass 4: compiled C into "stap_26085f03cbaf9ba43e3220858383fcad_447.ko" in 3270usr/270sys/3408real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/if.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/if.stp load generation
systemtap ending probe
systemtap test success
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/if.stp shutdown and output
Pass 5: run completed in 250usr/1190sys/1454real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/if.stp 	570	10	588	10	0	9	0	0	2	3270	270	3408	250	1190	1454
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/if.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/inc.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/589real ms.
Pass 2: analyzed script: 2 probe(s), 1 function(s), 0 embed(s), 1 global(s) in 10usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapzgkz6L/stap_180002c8638715505ca482767b126f76_418.c" in 0usr/0sys/1real ms.
Pass 4: compiled C into "stap_180002c8638715505ca482767b126f76_418.ko" in 3330usr/280sys/3476real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/inc.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/inc.stp load generation
systemtap ending probe
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/inc.stp shutdown and output
Pass 5: run completed in 260usr/1180sys/1454real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/inc.stp 	570	10	589	10	0	9	0	0	1	3330	280	3476	260	1180	1454
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/inc.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kfunct.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/589real ms.
Pass 2: analyzed script: 3 probe(s), 1 function(s), 0 embed(s), 1 global(s) in 390usr/60sys/451real ms.
Pass 3: translated to C into "/tmp/stapC9muQf/stap_5f42a3fb95519eaa3a58ece14776b6b7_400.c" in 0usr/0sys/1real ms.
Pass 4: compiled C into "stap_5f42a3fb95519eaa3a58ece14776b6b7_400.ko" in 3530usr/280sys/3662real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kfunct.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kfunct.stp load generation
systemtap ending probe
count = 11
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kfunct.stp shutdown and output
Pass 5: run completed in 250usr/1200sys/1502real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kfunct.stp 	570	10	589	390	60	451	0	0	1	3530	280	3662	250	1200	1502
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kfunct.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kmodule.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/588real ms.
FAIL: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kmodule.stp startup (eof)
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/kmodule.exp completed in 1 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/logical_and.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/588real ms.
Pass 2: analyzed script: 2 probe(s), 1 function(s), 0 embed(s), 4 global(s) in 10usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapXxZ8jc/stap_8fdcd7a226a941fa058dcae9e0318059_787.c" in 0usr/0sys/3real ms.
Pass 4: compiled C into "stap_8fdcd7a226a941fa058dcae9e0318059_787.ko" in 3620usr/280sys/3751real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/logical_and.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/logical_and.stp load generation
systemtap ending probe
systemtap test success
systemtap test success
systemtap test success
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/logical_and.stp shutdown and output
Pass 5: run completed in 250usr/1190sys/1449real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/logical_and.stp 	570	10	588	10	0	9	0	0	3	3620	280	3751	250	1190	1449
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/logical_and.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/maxactive.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/592real ms.
Pass 2: analyzed script: 5 probe(s), 2 function(s), 0 embed(s), 0 global(s) in 390usr/60sys/450real ms.
Pass 3: translated to C into "/tmp/stapYM0NR6/stap_6d7b35f8d21a3dcf65761e1219bb3424_521.c" in 0usr/0sys/2real ms.
Pass 4: compiled C into "stap_6d7b35f8d21a3dcf65761e1219bb3424_521.ko" in 3610usr/280sys/3756real ms.
Pass 5: starting run.
systemtap starting probe
PASS: MAXACTIVE01 startup
PASS: MAXACTIVE01 load generation
systemtap ending probe
PASS: MAXACTIVE01 shutdown and output
Pass 5: run completed in 260usr/1190sys/6539real ms.
metric:	MAXACTIVE01 	570	10	592	390	60	450	0	0	2	3610	280	3756	260	1190	6539
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/593real ms.
Pass 2: analyzed script: 5 probe(s), 2 function(s), 0 embed(s), 0 global(s) in 380usr/60sys/449real ms.
Pass 3: translated to C into "/tmp/stapI0ea0m/stap_4821cb146a11fd244a235e1cde9de30b_547.c" in 0usr/0sys/2real ms.
Pass 4: compiled C into "stap_4821cb146a11fd244a235e1cde9de30b_547.ko" in 3610usr/290sys/3755real ms.
Pass 5: starting run.
systemtap starting probe
PASS: MAXACTIVE02 startup
PASS: MAXACTIVE02 load generation
systemtap ending probe
PASS: MAXACTIVE02 shutdown and output
WARNING: Number of errors: 0, skipped probes: 12
PASS: MAXACTIVE03 (0 skipped probes <= 12 skipped probes)
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/maxactive.exp completed in 25 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/not.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/591real ms.
Pass 2: analyzed script: 2 probe(s), 1 function(s), 0 embed(s), 2 global(s) in 0usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stap3VEX5L/stap_f2f757369605bb8e05b899a37af9bf0b_463.c" in 0usr/0sys/1real ms.
Pass 4: compiled C into "stap_f2f757369605bb8e05b899a37af9bf0b_463.ko" in 3340usr/280sys/3486real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/not.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/not.stp load generation
systemtap ending probe
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/not.stp shutdown and output
Pass 5: run completed in 260usr/1180sys/1448real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/not.stp 	570	10	591	0	0	9	0	0	1	3340	280	3486	260	1180	1448
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/not.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/probefunc.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/593real ms.
semantic error: no match for probe point while resolving probe point kernel.statement(192644)
FAIL: probefunc:kernel.statement(0x000000000002f084) compilation
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/593real ms.
Pass 2: analyzed script: 3 probe(s), 2 function(s), 0 embed(s), 1 global(s) in 390usr/60sys/447real ms.
Pass 3: translated to C into "/tmp/stapR5xZb3/stap_5fed63eb9e196e4c0b42dce1a2b08e74_1288.c" in 0usr/0sys/1real ms.
Pass 4: compiled C into "stap_5fed63eb9e196e4c0b42dce1a2b08e74_1288.ko" in 3560usr/280sys/3697real ms.
Pass 5: starting run.
systemtap starting probe
PASS: probefunc:kernel.function("scheduler_tick") startup
PASS: probefunc:kernel.function("scheduler_tick") load generation
systemtap ending probe
scheduler_tick
PASS: probefunc:kernel.function("scheduler_tick") shutdown and output
Pass 5: run completed in 250usr/1190sys/2514real ms.
metric:	probefunc:kernel.function("scheduler_tick") 	570	10	593	390	60	447	0	0	1	3560	280	3697	250	1190	2514
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/592real ms.
Pass 2: analyzed script: 3 probe(s), 2 function(s), 0 embed(s), 1 global(s) in 400usr/60sys/454real ms.
Pass 3: translated to C into "/tmp/stapjTyjAd/stap_7bbff6a3708d556cf52ae10fca10d81c_1286.c" in 0usr/0sys/1real ms.
Pass 4: compiled C into "stap_7bbff6a3708d556cf52ae10fca10d81c_1286.ko" in 3550usr/290sys/3711real ms.
Pass 5: starting run.
systemtap starting probe
PASS: probefunc:kernel.inline("context_switch") startup
PASS: probefunc:kernel.inline("context_switch") load generation
systemtap ending probe
context_switch
PASS: probefunc:kernel.inline("context_switch") shutdown and output
Pass 5: run completed in 260usr/1200sys/2521real ms.
metric:	probefunc:kernel.inline("context_switch") 	570	10	592	400	60	454	0	0	1	3550	290	3711	260	1200	2521
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/probefunc.exp completed in 17 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/simple.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/588real ms.
Pass 2: analyzed script: 2 probe(s), 1 function(s), 0 embed(s), 0 global(s) in 0usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapcmxbqB/stap_3608e3a0f994dcba85c49111443aebdb_277.c" in 0usr/0sys/1real ms.
Pass 4: compiled C into "stap_3608e3a0f994dcba85c49111443aebdb_277.ko" in 3210usr/280sys/3356real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/simple.stp startup
systemtap ending probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/simple.stp shutdown and output
Pass 5: run completed in 260usr/1190sys/1460real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/simple.stp 	570	10	588	0	0	9	0	0	1	3210	280	3356	260	1190	1460
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/simple.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timeofday.exp ...
Pass 1: parsed user script and 52 library script(s) in 580usr/10sys/601real ms.
Pass 2: analyzed script: 3 probe(s), 3 function(s), 1 embed(s), 1 global(s) in 390usr/60sys/452real ms.
Pass 3: translated to C into "/tmp/stapF4IXG4/stap_4f1a2f1fecb1006b8b48bf9c8227f38e_760.c" in 0usr/0sys/2real ms.
Pass 4: compiled C into "stap_4f1a2f1fecb1006b8b48bf9c8227f38e_760.ko" in 3570usr/290sys/3826real ms.
Pass 5: starting run.
systemtap starting probe
PASS: timeofday test startup
PASS: timeofday test load generation
systemtap ending probe
1170965223152175
PASS: timeofday test shutdown and output
Pass 5: run completed in 260usr/1180sys/2498real ms.
metric:	timeofday test 	580	10	601	390	60	452	0	0	2	3570	290	3826	260	1180	2498
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timeofday.exp completed in 9 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timers.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/590real ms.
Pass 2: analyzed script: 9 probe(s), 0 function(s), 0 embed(s), 7 global(s) in 10usr/0sys/9real ms.
Pass 3: translated to C into "/tmp/stapv1If6p/stap_8358a8f31e337023a80e79aa0c20eac2_1397.c" in 0usr/0sys/6real ms.
Pass 4: compiled C into "stap_8358a8f31e337023a80e79aa0c20eac2_1397.ko" in 4190usr/300sys/4327real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timers.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timers.stp load generation
systemtap ending probe
p = 4007
j1 = 1001
j2 = 500
jmax = 0
ms1 = 1001
ms500 = 20
msmax = 0
systemtap test success
systemtap test success
systemtap test success
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timers.stp shutdown and output
Pass 5: run completed in 250usr/1180sys/11491real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timers.stp 	570	10	590	10	0	9	0	0	6	4190	300	4327	250	1180	11491
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/timers.exp completed in 17 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/tri.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/20sys/597real ms.
Pass 2: analyzed script: 2 probe(s), 1 function(s), 0 embed(s), 6 global(s) in 10usr/0sys/10real ms.
Pass 3: translated to C into "/tmp/stap3jwriW/stap_41de8f35bf27e004e244fc0d9dd017ef_747.c" in 0usr/0sys/3real ms.
Pass 4: compiled C into "stap_41de8f35bf27e004e244fc0d9dd017ef_747.ko" in 3690usr/300sys/3846real ms.
Pass 5: starting run.
systemtap starting probe
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/tri.stp startup
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/tri.stp load generation
systemtap ending probe
systemtap test success
systemtap test success
systemtap test success
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/tri.stp shutdown and output
Pass 5: run completed in 260usr/1180sys/1459real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/tri.stp 	570	20	597	10	0	10	0	0	3	3690	300	3846	260	1180	1459
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.base/tri.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.exp ...
0
ERROR: empty aggregate near identifier 'sc' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:5:26
ERROR: empty aggregate near identifier 'sc' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:6:26
ERROR: empty aggregate near identifier 'sc' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:7:26
ERROR: empty aggregate near identifier 'sc' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:8:26
ERROR: empty aggregate near identifier 'print' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:9:15
ERROR: empty aggregate near identifier '@hist_log' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:10:17
0
ERROR: empty aggregate near identifier 'ry' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:14:26
ERROR: empty aggregate near identifier 'ry' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:15:26
ERROR: empty aggregate near identifier 'ry' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:16:26
ERROR: empty aggregate near identifier 'ry' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:17:26
ERROR: empty aggregate near identifier 'print' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:18:15
ERROR: empty aggregate near identifier '@hist_log' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.stp:19:17
WARNING: Number of errors: 12, skipped probes: 0
PASS: absentstats
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/absentstats.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_fail.exp ...
semantic error: variable 'foo' modified during 'foreach' iteration: identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_fail.stp:13:4
Pass 2: analysis failed.  Try again with more '-v' (verbose) options.
PASS: foreach_fail correctly failed to compile
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_fail.exp completed in 1 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_foreach.exp ...
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/591real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 2 global(s) in 0usr/0sys/10real ms.
Pass 3: translated to C into "/tmp/staplraQPI/stap_b54d2afeb9cb55200fcca5e9acf350f7_895.c" in 0usr/0sys/4real ms.
Pass 4: compiled C into "stap_b54d2afeb9cb55200fcca5e9acf350f7_895.ko" in 4370usr/310sys/4532real ms.
Pass 5: starting run.
foo[1] = 1
foo[2] = 4
foo[3] = 9
foo[4] = 16
foo[5] = 25
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = 81
foo[10] = 100

bar[1] = 1
bar[2] = 8
bar[3] = 27
bar[4] = 64
bar[5] = 125
bar[6] = 216
bar[7] = 343
bar[8] = 512
bar[9] = 729
bar[10] = 1000

foo[1] = 1
bar[1] = 1
foo[2] = 4
bar[2] = 8
foo[3] = 9
bar[3] = 27
foo[4] = 16
bar[4] = 64
foo[5] = 25
bar[5] = 125
foo[6] = 36
bar[6] = 216
foo[7] = 49
bar[7] = 343
foo[8] = 64
bar[8] = 512
foo[9] = 81
bar[9] = 729
foo[10] = 100
bar[10] = 1000

bar[20] = 8000
bar[21] = 9261
bar[22] = 10648
bar[23] = 12167
bar[24] = 13824
foo[1] = 1
bar[20] = 8000
bar[21] = 9261
bar[22] = 10648
bar[23] = 12167
bar[24] = 13824
foo[2] = 4
bar[20] = 8000
bar[21] = 9261
bar[22] = 10648
bar[23] = 12167
bar[24] = 13824
foo[3] = 9
bar[20] = 8000
bar[21] = 9261
bar[22] = 10648
bar[23] = 12167
bar[24] = 13824
foo[4] = 16
bar[20] = 8000
bar[21] = 9261
bar[22] = 10648
bar[23] = 12167
bar[24] = 13824
foo[5] = 25
bar[20] = 8000
bar[21] = 9261
bar[22] = 10648
bar[23] = 12167
bar[24] = 13824
foo[6] = 36
bar[20] = 8000
bar[21] = 9261
bar[22] = 10648
bar[23] = 12167
bar[24] = 13824
foo[7] = 49
bar[20] = 8000
bar[21] = 9261
bar[22] = 10648
bar[23] = 12167
bar[24] = 13824
foo[8] = 64
bar[20] = 8000
bar[21] = 9261
bar[22] = 10648
bar[23] = 12167
bar[24] = 13824
foo[9] = 81
bar[20] = 8000
bar[21] = 9261
bar[22] = 10648
bar[23] = 12167
bar[24] = 13824
foo[10] = 100
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_foreach.stp passed
Pass 5: run completed in 260usr/1190sys/1466real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_foreach.stp 	560	10	591	0	0	10	0	0	4	4370	310	4532	260	1190	1466
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_foreach.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_limit.exp ...
Pass 1: parsed user script and 52 library script(s) in 580usr/10sys/597real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 2 global(s) in 10usr/10sys/12real ms.
Pass 3: translated to C into "/tmp/stapD21QTi/stap_33a57fa2a55d19d170e69c0a84a8ba3d_2746.c" in 0usr/0sys/15real ms.
Pass 4: compiled C into "stap_33a57fa2a55d19d170e69c0a84a8ba3d_2746.ko" in 5650usr/330sys/5802real ms.
Pass 5: starting run.

Arrays:
unsorted:
key 9, value 18
key 1, value 2
key 8, value 16
key 2, value 4
key 7, value 14
key 3, value 6
key 6, value 12
key 5, value 10
key 4, value 8
key 10, value 20

unsorted limit 5:
key 9, value 18
key 1, value 2
key 8, value 16
key 2, value 4
key 7, value 14
loop had 5 iterations

sorted limit 5:
key 1, value 2
key 2, value 4
key 3, value 6
key 4, value 8
key 5, value 10
loop had 5 iterations

sorted limit x (3):
key 1, value 2
key 2, value 4
key 3, value 6
loop had 3 iterations

sorted limit x * 2 (6):
key 1, value 2
key 2, value 4
key 3, value 6
key 4, value 8
key 5, value 10
key 6, value 12
loop had 6 iterations

sorted limit ++x:
key 1, value 2
key 2, value 4
key 3, value 6
key 4, value 8
loop had 4 iterations
x ended up as 4

sorted limit x++:
key 1, value 2
key 2, value 4
key 3, value 6
key 4, value 8
loop had 4 iterations
x ended up as 5

Aggregates:
64 total aggregate entries

aggregate limit 5:
bucket 0: 0
bucket 1: 0
bucket 2: 1
bucket 3: 4
bucket 4: 11
loop had 5 iterations

Done.
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_limit.stp passed
Pass 5: run completed in 260usr/1200sys/1465real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_limit.stp 	580	10	597	10	10	12	0	0	15	5650	330	5802	260	1200	1465
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/foreach_limit.exp completed in 8 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ii.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/593real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 1 global(s) in 10usr/0sys/11real ms.
Pass 3: translated to C into "/tmp/stapWkmT4a/stap_97c6a3715886905a753071709e3ac969_1132.c" in 10usr/10sys/7real ms.
Pass 4: compiled C into "stap_97c6a3715886905a753071709e3ac969_1132.ko" in 4630usr/320sys/4790real ms.
Pass 5: starting run.
foo[1] = 1
foo[2] = 4
foo[3] = 9
foo[4] = 16
foo[5] = 25
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = 81
foo[10] = 100

foo[1] = 1
foo[2] = 4
foo[3] = 9
foo[4] = 16
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = 81
foo[10] = 100

foo[2] = 4
foo[3] = 9
foo[4] = 16
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = 81

foo[2] = 4
foo[3] = 900
foo[4] = -16
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = -81

foo[2] = 4
foo[3] = 900
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = -81


foo[1] = 1
foo[2] = 5
foo[3] = 14
foo[4] = 30
foo[5] = 55
foo[6] = 91
foo[7] = 140
foo[8] = 204
foo[9] = 285
foo[10] = 385
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ii.stp passed
Pass 5: run completed in 260usr/1190sys/1465real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ii.stp 	570	10	593	10	0	11	10	10	7	4630	320	4790	260	1190	1465
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ii.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/iiiiii.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/595real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 1 global(s) in 10usr/0sys/11real ms.
Pass 3: translated to C into "/tmp/stapjkDrKf/stap_de2429c57741a06938a97ccb14f7b842_878.c" in 10usr/0sys/4real ms.
Pass 4: compiled C into "stap_de2429c57741a06938a97ccb14f7b842_878.ko" in 4350usr/310sys/4486real ms.
Pass 5: starting run.
foo[0,0,0,0,1] = 1
foo[0,0,0,1,0] = 1
foo[0,0,0,1,1] = 2
foo[0,0,1,0,0] = 1
foo[0,0,1,0,1] = 2
foo[0,0,1,1,0] = 2
foo[0,0,1,1,1] = 3
foo[0,1,0,0,0] = 1
foo[0,1,0,0,1] = 2
foo[0,1,0,1,0] = 2
foo[0,1,0,1,1] = 3
foo[0,1,1,0,0] = 2
foo[0,1,1,0,1] = 3
foo[0,1,1,1,0] = 3
foo[0,1,1,1,1] = 4
foo[1,0,0,0,0] = 1
foo[1,0,0,0,1] = 2
foo[1,0,0,1,0] = 2
foo[1,0,0,1,1] = 3
foo[1,0,1,0,0] = 2
foo[1,0,1,0,1] = 3
foo[1,0,1,1,0] = 3
foo[1,0,1,1,1] = 4
foo[1,1,0,0,0] = 2
foo[1,1,0,0,1] = 3
foo[1,1,0,1,0] = 3
foo[1,1,0,1,1] = 4
foo[1,1,1,0,0] = 3
foo[1,1,1,0,1] = 4
foo[1,1,1,1,0] = 4
foo[1,1,1,1,1] = 5

foo[0,0,0,0,1] = 1
foo[0,0,0,1,0] = 1
foo[0,0,0,1,1] = 2
foo[0,0,1,0,0] = 1
foo[0,0,1,0,1] = 2
foo[0,0,1,1,0] = 2
foo[0,1,0,0,0] = 1
foo[0,1,0,0,1] = 2
foo[0,1,0,1,0] = 2
foo[0,1,0,1,1] = 3
foo[0,1,1,0,0] = 2
foo[0,1,1,0,1] = 3
foo[0,1,1,1,0] = 3
foo[0,1,1,1,1] = 4
foo[1,0,0,0,0] = 1
foo[1,0,0,0,1] = 2
foo[1,0,0,1,0] = 2
foo[1,0,0,1,1] = 3
foo[1,0,1,0,0] = 2
foo[1,0,1,0,1] = 3
foo[1,0,1,1,0] = 3
foo[1,0,1,1,1] = 4
foo[1,1,0,0,0] = 2
foo[1,1,0,0,1] = 3
foo[1,1,0,1,0] = 3
foo[1,1,0,1,1] = 4
foo[1,1,1,0,0] = 3
foo[1,1,1,0,1] = 4
foo[1,1,1,1,0] = 4
foo[1,1,1,1,1] = 5
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/iiiiii.stp passed
Pass 5: run completed in 250usr/1180sys/1458real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/iiiiii.stp 	570	10	595	10	0	11	10	0	4	4350	310	4486	250	1180	1458
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/iiiiii.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/is.exp ...
Pass 1: parsed user script and 52 library script(s) in 560usr/10sys/595real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 1 global(s) in 20usr/10sys/11real ms.
Pass 3: translated to C into "/tmp/stapf6WcOJ/stap_e75acce9e88b4a12b6f30b52f8396ac7_1198.c" in 0usr/0sys/7real ms.
Pass 4: compiled C into "stap_e75acce9e88b4a12b6f30b52f8396ac7_1198.ko" in 4720usr/320sys/4859real ms.
Pass 5: starting run.
foo[0] = The Result is 0
foo[1] = The Result is 1
foo[2] = The Result is 4
foo[3] = The Result is 9
foo[4] = The Result is 16
foo[5] = The Result is 25
foo[6] = The Result is 36
foo[7] = The Result is 49
foo[8] = The Result is 64
foo[9] = The Result is 81
foo[10] = The Result is 100

foo[0] = The Result is 0
foo[1] = The Result is 1
foo[2] = The Result is 4
foo[3] = The Result is 9
foo[4] = The Result is 16
foo[6] = The Result is 36
foo[7] = The Result is 49
foo[8] = The Result is 64
foo[9] = The Result is 81
foo[10] = The Result is 100

foo[1] = The Result is 1
foo[2] = The Result is 4
foo[3] = The Result is 9
foo[4] = The Result is 16
foo[6] = The Result is 36
foo[7] = The Result is 49
foo[8] = The Result is 64
foo[9] = The Result is 81

foo[1] = The Result is 1
foo[2] = The Result is 4
foo[3] = The Result is 4<------
foo[4] = The Result is 16(CHANGED)
foo[6] = The Result is 36
foo[7] = The Result is 49
foo[8] = The Result is 64
foo[9] = New result is -81

foo[1] = The Result is 1
foo[2] = The Result is 4
foo[3] = The Result is 4<------
foo[6] = The Result is 36
foo[7] = The Result is 49
foo[8] = The Result is 64
foo[9] = New result is -81


foo[0] = # 0
foo[1] = # 1
foo[2] = # 4
foo[3] = # 9
foo[4] = # 16
foo[5] = # 25
foo[6] = # 36
foo[7] = # 49
foo[8] = # 64
foo[9] = # 81
foo[10] = # 100
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/is.stp passed
Pass 5: run completed in 260usr/1200sys/1475real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/is.stp 	560	10	595	20	10	11	0	0	7	4720	320	4859	260	1200	1475
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/is.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/594real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 1 global(s) in 10usr/0sys/11real ms.
Pass 3: translated to C into "/tmp/stapHehYUK/stap_b4eba4208411cd542c93c98dd243b157_1227.c" in 0usr/0sys/7real ms.
Pass 4: compiled C into "stap_b4eba4208411cd542c93c98dd243b157_1227.ko" in 4910usr/330sys/5031real ms.
Pass 5: starting run.
foo[0]: count:3  sum:98  avg:32  min:-2  max:100
foo[1]: count:3  sum:99  avg:33  min:-2  max:100
foo[2]: count:3  sum:100  avg:33  min:-2  max:100
foo[3]: count:3  sum:101  avg:33  min:-2  max:100
foo[4]: count:3  sum:102  avg:34  min:-2  max:100
foo[5]: count:3  sum:103  avg:34  min:-2  max:100
foo[6]: count:3  sum:104  avg:34  min:-2  max:100
foo[7]: count:3  sum:105  avg:35  min:-2  max:100
foo[8]: count:3  sum:106  avg:35  min:-2  max:100
foo[9]: count:3  sum:107  avg:35  min:-2  max:100
foo[10]: count:3  sum:108  avg:36  min:-2  max:100

Now reverse order...
foo[10]: count:3  sum:108  avg:36  min:-2  max:100
foo[9]: count:3  sum:107  avg:35  min:-2  max:100
foo[8]: count:3  sum:106  avg:35  min:-2  max:100
foo[7]: count:3  sum:105  avg:35  min:-2  max:100
foo[6]: count:3  sum:104  avg:34  min:-2  max:100
foo[5]: count:3  sum:103  avg:34  min:-2  max:100
foo[4]: count:3  sum:102  avg:34  min:-2  max:100
foo[3]: count:3  sum:101  avg:33  min:-2  max:100
foo[2]: count:3  sum:100  avg:33  min:-2  max:100
foo[1]: count:3  sum:99  avg:33  min:-2  max:100
foo[0]: count:3  sum:98  avg:32  min:-2  max:100

Now adding 10 to each...
foo[0]: count:4  sum:108  avg:27  min:-2  max:100
foo[1]: count:4  sum:109  avg:27  min:-2  max:100
foo[2]: count:4  sum:110  avg:27  min:-2  max:100
foo[3]: count:4  sum:111  avg:27  min:-2  max:100
foo[4]: count:4  sum:112  avg:28  min:-2  max:100
foo[5]: count:4  sum:113  avg:28  min:-2  max:100
foo[6]: count:4  sum:114  avg:28  min:-2  max:100
foo[7]: count:4  sum:115  avg:28  min:-2  max:100
foo[8]: count:4  sum:116  avg:29  min:-2  max:100
foo[9]: count:4  sum:117  avg:29  min:-2  max:100
foo[10]: count:4  sum:118  avg:29  min:-2  max:100

Run a quick foreach without sorting...
complete sum of foo:1243
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix.stp passed
Pass 5: run completed in 250usr/1190sys/1468real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix.stp 	570	10	594	10	0	11	0	0	7	4910	330	5031	250	1190	1468
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear.exp ...
foo[1] = 1 1
ERROR: empty aggregate near identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear.stp:9:50
ERROR: probe  registration error (rc 1)
PASS: ix_clear passed
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear2.exp ...
foo[1] = 1 1
ERROR: empty aggregate near identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear2.stp:9:50
ERROR: probe  registration error (rc 1)
PASS: ix_clear2 passed
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear2.exp completed in 6 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear3.exp ...
ERROR: empty aggregate near identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear3.stp:7:50
ERROR: probe  registration error (rc 1)
PASS: ix_clear3 passed
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_clear3.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_hist.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/595real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 1 global(s) in 10usr/0sys/10real ms.
Pass 3: translated to C into "/tmp/staps8WZ1S/stap_7f4ab6d738606d519f1edd27d567a61f_470.c" in 0usr/10sys/2real ms.
Pass 4: compiled C into "stap_7f4ab6d738606d519f1edd27d567a61f_470.ko" in 4450usr/310sys/4577real ms.
Pass 5: starting run.
value |-------------------------------------------------- count
    0 |                                                    1
    1 |                                                    1
    2 |@                                                   2
    4 |@@                                                  4
    8 |@@@@                                                8
   16 |@@@@@@@@                                           16
   32 |@@@@@@@@@@@@@@@@                                   32
   64 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                   64
  128 |                                                    0
  256 |                                                    0

value |-------------------------------------------------- count
    0 |                                                     1
    1 |                                                     0
    2 |                                                     1
    4 |                                                     2
    8 |@                                                    4
   16 |@@                                                   8
   32 |@@@@@                                               16
   64 |@@@@@@@@@@                                          32
  128 |@@@@@@@@@@@@@@@@@@@@@                               64
  256 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@         128
  512 |                                                     0
 1024 |                                                     0

value |-------------------------------------------------- count
    0 |                                                     1
    1 |                                                     0
    2 |                                                     1
    4 |                                                     1
    8 |                                                     3
   16 |@                                                    5
   32 |@@                                                  11
   64 |@@@@@                                               21
  128 |@@@@@@@@@@                                          43
  256 |@@@@@@@@@@@@@@@@@@@@@                               85
  512 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@         171
 1024 |@@@@@@@@@@                                          42
 2048 |                                                     0
 4096 |                                                     0

value |-------------------------------------------------- count
    0 |                                                     1
    1 |                                                     0
    2 |                                                     0
    4 |                                                     1
    8 |                                                     2
   16 |                                                     4
   32 |@                                                    8
   64 |@@                                                  16
  128 |@@@@@                                               32
  256 |@@@@@@@@@@                                          64
  512 |@@@@@@@@@@@@@@@@@@@@@                              128
 1024 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@         256
 2048 |                                                     0
 4096 |                                                     0

PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_hist.stp passed
Pass 5: run completed in 250usr/1200sys/1477real ms.
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ix_hist.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp ...
ERROR: Array overflow, check MAXMAPENTRIES near identifier 'stat' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.stp:17:5
ERROR: Array overflow, check MAXMAPENTRIES near identifier 'stat' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.stp:17:5
ERROR: aggregation overflow in global_stat near keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.stp:22:5
WARNING: Number of errors: 3, skipped probes: 0
ERROR: tcl error sourcing /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp.
ERROR: spawn_id: spawn id exp8 not open
    while executing
"close"
    (file "/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp" line 26)
    invoked from within
"source /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp"
    ("uplevel" body line 1)
    invoked from within
"uplevel #0 source /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp"
    invoked from within
"catch "uplevel #0 source $test_file_name""
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/pmap_agg_overflow.exp completed in 28 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/si.exp ...
Pass 1: parsed user script and 52 library script(s) in 580usr/10sys/608real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 1 global(s) in 0usr/0sys/11real ms.
Pass 3: translated to C into "/tmp/stapxu6E2K/stap_66398a2c66a4fd616e6dca937f1da846_1198.c" in 0usr/0sys/7real ms.
Pass 4: compiled C into "stap_66398a2c66a4fd616e6dca937f1da846_1198.ko" in 4680usr/310sys/4823real ms.
Pass 5: starting run.
foo[1] = 1
foo[2] = 4
foo[3] = 9
foo[4] = 16
foo[5] = 25
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = 81
foo[10] = 100

foo[1] = 1
foo[2] = 4
foo[3] = 9
foo[4] = 16
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = 81
foo[10] = 100

foo[2] = 4
foo[3] = 9
foo[4] = 16
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = 81

foo[2] = 4
foo[3] = 900
foo[4] = -16
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = -81

foo[2] = 4
foo[3] = 900
foo[6] = 36
foo[7] = 49
foo[8] = 64
foo[9] = -81


foo[1] = 1
foo[2] = 5
foo[3] = 14
foo[4] = 30
foo[5] = 55
foo[6] = 91
foo[7] = 140
foo[8] = 204
foo[9] = 285
foo[10] = 385
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/si.stp passed
Pass 5: run completed in 260usr/1190sys/1463real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/si.stp 	580	10	608	0	0	11	0	0	7	4680	310	4823	260	1190	1463
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/si.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ss.exp ...
Pass 1: parsed user script and 52 library script(s) in 570usr/10sys/596real ms.
Pass 2: analyzed script: 1 probe(s), 1 function(s), 0 embed(s), 1 global(s) in 10usr/10sys/11real ms.
Pass 3: translated to C into "/tmp/stapnlyy9E/stap_e01568831847747ee91ad1e3548b85d9_1297.c" in 10usr/0sys/7real ms.
Pass 4: compiled C into "stap_e01568831847747ee91ad1e3548b85d9_1297.ko" in 4780usr/320sys/4928real ms.
Pass 5: starting run.
foo[0] = The Result is 0
foo[1] = The Result is 1
foo[2] = The Result is 4
foo[3] = The Result is 9
foo[4] = The Result is 16
foo[5] = The Result is 25
foo[6] = The Result is 36
foo[7] = The Result is 49
foo[8] = The Result is 64
foo[9] = The Result is 81
foo[10] = The Result is 100

foo[0] = The Result is 0
foo[1] = The Result is 1
foo[2] = The Result is 4
foo[3] = The Result is 9
foo[4] = The Result is 16
foo[6] = The Result is 36
foo[7] = The Result is 49
foo[8] = The Result is 64
foo[9] = The Result is 81
foo[10] = The Result is 100

foo[1] = The Result is 1
foo[2] = The Result is 4
foo[3] = The Result is 9
foo[4] = The Result is 16
foo[6] = The Result is 36
foo[7] = The Result is 49
foo[8] = The Result is 64
foo[9] = The Result is 81

foo[1] = The Result is 1
foo[2] = The Result is 4
foo[3] = The Result is 4<------
foo[4] = The Result is 16(CHANGED)
foo[6] = The Result is 36
foo[7] = The Result is 49
foo[8] = The Result is 64
foo[9] = New result is -81

foo[1] = The Result is 1
foo[2] = The Result is 4
foo[3] = The Result is 4<------
foo[6] = The Result is 36
foo[7] = The Result is 49
foo[8] = The Result is 64
foo[9] = New result is -81


foo[0] = # 0
foo[1] = # 1
foo[2] = # 4
foo[3] = # 9
foo[4] = # 16
foo[5] = # 25
foo[6] = # 36
foo[7] = # 49
foo[8] = # 64
foo[9] = # 81
foo[10] = # 100
PASS: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ss.stp passed
Pass 5: run completed in 260usr/1190sys/1463real ms.
metric:	/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ss.stp 	570	10	596	10	10	11	10	0	7	4780	320	4928	260	1190	1463
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.maps/ss.exp completed in 7 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/buildko.exp ...
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildko/one.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildko/one.stp
Pass 4: compilation failed.  Try again with more '-v' (verbose) options.
Pass 4: compilation failed.  Try again with more '-v' (verbose) options.
wait results: 8576 exp9 0 1
XFAIL: buildko/one.stp
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/buildko.exp completed in 1 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/buildok.exp ...
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/array_size.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/array_size.stp
wait results: 8637 exp9 0 0
PASS: buildok/array_size.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/cmdline01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/cmdline01.stp
wait results: 8723 exp9 0 0
PASS: buildok/cmdline01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/context_test.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/context_test.stp
wait results: 8808 exp9 0 0
PASS: buildok/context_test.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/delete.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/delete.stp
wait results: 8892 exp9 0 0
PASS: buildok/delete.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/eight.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/eight.stp
wait results: 8976 exp9 0 0
PASS: buildok/eight.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/eighteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/eighteen.stp
wait results: 9060 exp9 0 0
PASS: buildok/eighteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/eleven.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/eleven.stp
wait results: 9144 exp9 0 0
PASS: buildok/eleven.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/fifteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/fifteen.stp
wait results: 9228 exp9 0 0
PASS: buildok/fifteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/five.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/five.stp
wait results: 9312 exp9 0 0
PASS: buildok/five.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/four.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/four.stp
wait results: 9396 exp9 0 0 CHILDKILLED SIGSEGV {segmentation violation}
PASS: buildok/four.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/fourteen-plus.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/fourteen-plus.stp
wait results: 9399 exp9 0 0
PASS: buildok/fourteen-plus.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/fourteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/fourteen.stp
wait results: 9483 exp9 0 0
PASS: buildok/fourteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/histogram_operator_in.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/histogram_operator_in.stp
wait results: 9567 exp9 0 0
PASS: buildok/histogram_operator_in.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/indent.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/indent.stp
wait results: 9651 exp9 0 0
PASS: buildok/indent.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/ioblock_test.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/ioblock_test.stp
wait results: 9735 exp9 0 0
PASS: buildok/ioblock_test.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/ioscheduler.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/ioscheduler.stp
wait results: 9819 exp9 0 0
PASS: buildok/ioscheduler.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/iterate_histogram_buckets.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/iterate_histogram_buckets.stp
wait results: 9903 exp9 0 0
PASS: buildok/iterate_histogram_buckets.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/lket.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/lket.stp
wait results: 9989 exp9 0 0 CHILDKILLED SIGSEGV {segmentation violation}
PASS: buildok/lket.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/marker.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/marker.stp
wait results: 9992 exp9 0 0
PASS: buildok/marker.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/maxactive01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/maxactive01.stp
wait results: 10082 exp9 0 0
PASS: buildok/maxactive01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/memory.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/memory.stp
wait results: 10166 exp9 0 0
PASS: buildok/memory.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/networking.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/networking.stp
wait results: 10250 exp9 0 0
PASS: buildok/networking.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/nine.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/nine.stp
# probes
begin
# probes

begin
wait results: 10334 exp9 0 0
PASS: buildok/nine.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/nineteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/nineteen.stp
wait results: 10338 exp9 0 0
PASS: buildok/nineteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/one.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/one.stp
wait results: 10422 exp9 0 0
PASS: buildok/one.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/perfmon01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/perfmon01.stp
semantic error: incomplete: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/perfmon01.stp:12:1
semantic error: incomplete: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/perfmon01.stp:12:1
semantic error: cannot expand unknown type

semantic error: cannot expand unknown type
Pass 3: translation failed.  Try again with more '-v' (verbose) options.

Pass 3: translation failed.  Try again with more '-v' (verbose) options.
wait results: 10506 exp9 0 1
KFAIL: buildok/perfmon01.stp (PRMS: 9999)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/pmap_foreach.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/pmap_foreach.stp
wait results: 10510 exp9 0 0
PASS: buildok/pmap_foreach.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/print_histogram_entry.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/print_histogram_entry.stp
wait results: 10594 exp9 0 0
PASS: buildok/print_histogram_entry.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/print_histograms.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/print_histograms.stp
wait results: 10678 exp9 0 0
PASS: buildok/print_histograms.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/printf.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/printf.stp
wait results: 10762 exp9 0 0
PASS: buildok/printf.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/probefunc.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/probefunc.stp
wait results: 10846 exp9 0 0
PASS: buildok/probefunc.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/probemod.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/probemod.stp
wait results: 10930 exp9 0 0
PASS: buildok/probemod.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/process_test.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/process_test.stp
semantic error: no match for probe point while resolving probe point signal.handle
semantic error: no match for probe point while resolving probe point signal.handle
Pass 2: analysis failed.  Try again with more '-v' (verbose) options.

Pass 2: analysis failed.  Try again with more '-v' (verbose) options.
wait results: 11014 exp9 0 1
KFAIL: buildok/process_test.stp (PRMS: 9999)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/sched_test.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/sched_test.stp
semantic error: no match for probe point while resolving probe point kernel.inline("finish_task_switch")
semantic error: no match for probe point while resolving probe point scheduler.cpu_on
semantic error: no match for probe point while resolving probe point kernel.inline("finish_task_switch")

semantic error: no match for probe point while resolving probe point scheduler.cpu_on
semantic error: no match for probe point while resolving probe point scheduler.balance

semantic error: no match for probe point while resolving probe point scheduler.balance
semantic error: no match for probe point while resolving probe point kernel.function("__switch_to")

semantic error: no match for probe point while resolving probe point kernel.function("__switch_to")
semantic error: no match for probe point while resolving probe point scheduler.ctxswitch
Pass 2: analysis failed.  Try again with more '-v' (verbose) options.

semantic error: no match for probe point while resolving probe point scheduler.ctxswitch

Pass 2: analysis failed.  Try again with more '-v' (verbose) options.
wait results: 11018 exp9 0 1
KFAIL: buildok/sched_test.stp (PRMS: 1155)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/scsi.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/scsi.stp
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/scsi.stp: line 43: 11026 Segmentation fault      ./stap -p4 -  <<EOF
probe scsi.ioentry
{
	printf("ppname: %s, %d, %d, %d\n", probefunc(),
		disk_major, disk_minor, device_state)
}

probe scsi.iodispatching
{
	printf("ppname: %s, %d, %d, %d, %d, %d, %d, %p, %d\n", probefunc(), 
		host_no, channel, lun, dev_id, device_state, data_direction, 
		request_buffer, req_bufflen)
}


probe scsi.iodone
{
	printf("ppname: %s, %d, %d, %d, %d, %d, %d, %d\n", probefunc(), 
		host_no, channel, lun, dev_id, device_state, data_direction, 
		scsi_timer_pending)
}

probe scsi.iocompleted
{
	printf("ppname: %s, %d, %d, %d, %d, %d, %d, %d\n", probefunc(), 
		host_no, channel, lun, dev_id, device_state, data_direction, 
		goodbytes)
}
EOF

/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/scsi.stp: line 43: 11026 Segmentation fault      ./stap -p4 -  <<EOF

probe scsi.ioentry

{

	printf("ppname: %s, %d, %d, %d\n", probefunc(),

		disk_major, disk_minor, device_state)

}



probe scsi.iodispatching

{

	printf("ppname: %s, %d, %d, %d, %d, %d, %d, %p, %d\n", probefunc(), 

		host_no, channel, lun, dev_id, device_state, data_direction, 

		request_buffer, req_bufflen)

}





probe scsi.iodone

{

	printf("ppname: %s, %d, %d, %d, %d, %d, %d, %d\n", probefunc(), 

		host_no, channel, lun, dev_id, device_state, data_direction, 

		scsi_timer_pending)

}



probe scsi.iocompleted

{

	printf("ppname: %s, %d, %d, %d, %d, %d, %d, %d\n", probefunc(), 

		host_no, channel, lun, dev_id, device_state, data_direction, 

		goodbytes)

}

EOF


wait results: 11022 exp9 0 139
FAIL: buildok/scsi.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/seven.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/seven.stp
wait results: 11027 exp9 0 0
KPASS: buildok/seven.stp (PRMS 9999)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/seventeen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/seventeen.stp
semantic error: libdwfl failure (dwfl_addrmodule): Operation not permitted: identifier '$write_fifo_fops' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/seventeen.stp:8:19
Pass 2: analysis failed.  Try again with more '-v' (verbose) options.
semantic error: libdwfl failure (dwfl_addrmodule): Operation not permitted: identifier '$write_fifo_fops' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/seventeen.stp:8:19

Pass 2: analysis failed.  Try again with more '-v' (verbose) options.
wait results: 11111 exp9 0 1
FAIL: buildok/seventeen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/six.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/six.stp
wait results: 11115 exp9 0 0
PASS: buildok/six.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/sixteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/sixteen.stp
wait results: 11200 exp9 0 0
PASS: buildok/sixteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/stat_extract.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/stat_extract.stp
wait results: 11285 exp9 0 0
PASS: buildok/stat_extract.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/stat_insert.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/stat_insert.stp
wait results: 11369 exp9 0 0
PASS: buildok/stat_insert.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/syscall.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/syscall.stp
semantic error: no match for probe point while resolving probe point kernel.function("sys_sgetmask")
semantic error: no match for probe point while resolving probe point kernel.function("sys_sgetmask")
semantic error: no match for probe point while resolving probe point kernel.function("sys_ssetmask")

semantic error: no match for probe point while resolving probe point kernel.function("sys_ssetmask")
semantic error: no match for probe point while resolving probe point kernel.function("sys_stime")

semantic error: no match for probe point while resolving probe point kernel.function("sys_stime")
semantic error: no match for probe point while resolving probe point kernel.function("sys_time")

semantic error: no match for probe point while resolving probe point kernel.function("sys_time")
semantic error: no match for probe point while resolving probe point kernel.function("sys_sgetmask").return

semantic error: no match for probe point while resolving probe point kernel.function("sys_sgetmask").return
semantic error: no match for probe point while resolving probe point kernel.function("sys_ssetmask").return

semantic error: no match for probe point while resolving probe point kernel.function("sys_ssetmask").return
semantic error: no match for probe point while resolving probe point kernel.function("sys_stime").return

semantic error: no match for probe point while resolving probe point kernel.function("sys_stime").return
semantic error: no match for probe point while resolving probe point kernel.function("sys_time").return

semantic error: no match for probe point while resolving probe point kernel.function("sys_time").return
Pass 2: analysis failed.  Try again with more '-v' (verbose) options.

Pass 2: analysis failed.  Try again with more '-v' (verbose) options.
wait results: 11453 exp9 0 1
KFAIL: buildok/syscall.stp (PRMS: 9999)
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/task_test.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/task_test.stp
wait results: 11457 exp9 0 0
PASS: buildok/task_test.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/tcp_test.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/tcp_test.stp
wait results: 11541 exp9 0 0
PASS: buildok/tcp_test.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/ten.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/ten.stp
wait results: 11625 exp9 0 0
PASS: buildok/ten.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/thirteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/thirteen.stp
wait results: 11709 exp9 0 0
PASS: buildok/thirteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/three.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/three.stp
wait results: 11793 exp9 0 0
PASS: buildok/three.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/timestamp.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/timestamp.stp
wait results: 11877 exp9 0 0
PASS: buildok/timestamp.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twelve.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twelve.stp
wait results: 11961 exp9 0 0
PASS: buildok/twelve.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twenty.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twenty.stp
Pass 4: compilation failed.  Try again with more '-v' (verbose) options.
Pass 4: compilation failed.  Try again with more '-v' (verbose) options.
wait results: 12045 exp9 0 1
FAIL: buildok/twenty.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twentyfive.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twentyfive.stp
wait results: 12105 exp9 0 0 CHILDKILLED SIGSEGV {segmentation violation}
PASS: buildok/twentyfive.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twentyfour.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twentyfour.stp
wait results: 12108 exp9 0 0
PASS: buildok/twentyfour.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twentyone.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twentyone.stp
wait results: 12192 exp9 0 0
PASS: buildok/twentyone.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twentythree.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twentythree.stp
Pass 4: compilation failed.  Try again with more '-v' (verbose) options.
Pass 4: compilation failed.  Try again with more '-v' (verbose) options.
wait results: 12276 exp9 0 1
FAIL: buildok/twentythree.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twentytwo.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/twentytwo.stp
wait results: 12336 exp9 0 0
PASS: buildok/twentytwo.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/two.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/two.stp
wait results: 12420 exp9 0 0
PASS: buildok/two.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/udp_test.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/buildok/udp_test.stp
wait results: 12505 exp9 0 0
PASS: buildok/udp_test.stp
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/buildok.exp completed in 231 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/parseko.exp ...
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array01.stp
parse error: array size out of range
parse error: array size out of range
	saw: number '0' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array01.stp:4:10

	saw: number '0' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array01.stp:4:10
1 parse error(s).

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12591 exp9 0 1
XFAIL: parseko/array01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array02.stp
parse error: array size out of range
	saw: number 'parse error: array size out of range
1000000000' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array02.stp:4:10
1 parse error(s).

	saw: number '1000000000' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array02.stp:4:10

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12595 exp9 0 1
XFAIL: parseko/array02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array03.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array03.stp
parse error: only scalar globals can be initialized
	saw: operator 'parse error: only scalar globals can be initialized
=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array03.stp:4:14
1 parse error(s).

	saw: operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array03.stp:4:14

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12599 exp9 0 1
XFAIL: parseko/array03.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array04.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array04.stp
parse error: only scalar globals can be initialized
	saw: operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array04.stpparse error: only scalar globals can be initialized
:4:14
1 parse error(s).

	saw: operator '=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/array04.stp:4:14

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12603 exp9 0 1
XFAIL: parseko/array04.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline01.stp
-M option is valid only for bulk (relayfs) mode.
ERROR: verbose: illegal argument: -M option is valid only for bulk (relayfs) mode.
SystemTap translator/driver (version 0.5.12 built 2007-02-08)

SystemTap translator/driver (version 0.5.12 built 2007-02-08)
(Using Red Hat elfutils 0.124 libraries.)

(Using Red Hat elfutils 0.124 libraries.)
Copyright (C) 2005-2006 Red Hat, Inc. and others

Copyright (C) 2005-2006 Red Hat, Inc. and others
This is free software; see the source for copying conditions.

This is free software; see the source for copying conditions.



Usage: stap [options] FILE         Run script in file.

Usage: stap [options] FILE         Run script in file.
   or: stap [options] -            Run script on stdin.

   or: stap [options] -            Run script on stdin.
   or: stap [options] -e SCRIPT    Run given script.

   or: stap [options] -e SCRIPT    Run given script.



Options:

Options:
   --         no more options after this

   --         no more options after this
   -v         increase verbosity [0]

   -v         increase verbosity [0]
   -h         show help

   -h         show help
   -V         show version

   -V         show version
   -k         keep temporary directory

   -k         keep temporary directory
   -u         unoptimized translation

   -u         unoptimized translation
   -g         guru mode

   -g         guru mode
   -b         bulk (relayfs) mode

   -b         bulk (relayfs) mode
   -M         Don't merge per-cpu files for bulk (relayfs) mode [set]

   -M         Don't merge per-cpu files for bulk (relayfs) mode [set]
   -s NUM     buffer size in megabytes, instead of 0

   -s NUM     buffer size in megabytes, instead of 0
   -p NUM     stop after pass NUM 1-5, instead of 1

   -p NUM     stop after pass NUM 1-5, instead of 1
              (parse, elaborate, translate, compile, run)

              (parse, elaborate, translate, compile, run)
   -I DIR     look in DIR for additional .stp script files, in addition to

   -I DIR     look in DIR for additional .stp script files, in addition to
              /usr/local/share/systemtap/tapset

              /usr/local/share/systemtap/tapset
              /usr/local/share/systemtap/tapset/LKET

              /usr/local/share/systemtap/tapset/LKET
   -D NM=VAL  emit macro definition into generated C code

   -D NM=VAL  emit macro definition into generated C code
   -R DIR     look in DIR for runtime, instead of

   -R DIR     look in DIR for runtime, instead of
              /usr/local/share/systemtap/runtime

              /usr/local/share/systemtap/runtime
   -r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5

   -r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5
   -m MODULE  set probe module name, instead of stap_12610

   -m MODULE  set probe module name, instead of stap_12610
   -o FILE    send output to file, instead of stdout

   -o FILE    send output to file, instead of stdout
   -c CMD     start the probes, run CMD, and exit when it finishes

   -c CMD     start the probes, run CMD, and exit when it finishes
   -x PID     sets target() to PID

   -x PID     sets target() to PID
   -t         benchmarking timing information generated

   -t         benchmarking timing information generated
wait results: 12607 exp9 0 1
XFAIL: parseko/cmdline01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline02.stp
Invalid buffer size (should be 1-64).
Invalid buffer size (should be 1-64).
SystemTap translator/driver (version 0.5.12 built 2007-02-08)

SystemTap translator/driver (version 0.5.12 built 2007-02-08)
(Using Red Hat elfutils 0.124 libraries.)

(Using Red Hat elfutils 0.124 libraries.)
Copyright (C) 2005-2006 Red Hat, Inc. and others

Copyright (C) 2005-2006 Red Hat, Inc. and others
This is free software; see the source for copying conditions.

This is free software; see the source for copying conditions.



Usage: stap [options] FILE         Run script in file.

Usage: stap [options] FILE         Run script in file.
   or: stap [options] -            Run script on stdin.

   or: stap [options] -            Run script on stdin.
   or: stap [options] -e SCRIPT    Run given script.

   or: stap [options] -e SCRIPT    Run given script.



Options:

Options:
   --         no more options after this

   --         no more options after this
   -v         increase verbosity [0]

   -v         increase verbosity [0]
   -h         show help

   -h         show help
   -V         show version

   -V         show version
   -k         keep temporary directory

   -k         keep temporary directory
   -u         unoptimized translation

   -u         unoptimized translation
   -g         guru mode

   -g         guru mode
   -b         bulk (relayfs) mode

   -b         bulk (relayfs) mode
   -M         Don't merge per-cpu files for bulk (relayfs) mode

   -M         Don't merge per-cpu files for bulk (relayfs) mode
   -s NUM     buffer size in megabytes, instead of 0

   -s NUM     buffer size in megabytes, instead of 0
   -p NUM     stop after pass NUM 1-5, instead of 1

   -p NUM     stop after pass NUM 1-5, instead of 1
              (parse, elaborate, translate, compile, run)

              (parse, elaborate, translate, compile, run)
   -I DIR     look in DIR for additional .stp script files, in addition to

   -I DIR     look in DIR for additional .stp script files, in addition to
              /usr/local/share/systemtap/tapset

              /usr/local/share/systemtap/tapset
              /usr/local/share/systemtap/tapset/LKET

              /usr/local/share/systemtap/tapset/LKET
   -D NM=VAL  emit macro definition into generated C code

   -D NM=VAL  emit macro definition into generated C code
   -R DIR     look in DIR for runtime, instead of

   -R DIR     look in DIR for runtime, instead of
              /usr/local/share/systemtap/runtime

              /usr/local/share/systemtap/runtime
   -r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5

   -r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5
   -m MODULE  set probe module name, instead of stap_12614

   -m MODULE  set probe module name, instead of stap_12614
   -o FILE    send output to file, instead of stdout

   -o FILE    send output to file, instead of stdout
   -c CMD     start the probes, run CMD, and exit when it finishes

   -c CMD     start the probes, run CMD, and exit when it finishes
   -x PID     sets target() to PID

   -x PID     sets target() to PID
   -t         benchmarking timing information generated

   -t         benchmarking timing information generated
wait results: 12611 exp9 0 1
XFAIL: parseko/cmdline02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline03.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline03.stp
Invalid pass number (should be 1-5).
SystemTap translator/driver (version 0.5.12 built 2007-02-08)
(Using Red Hat elfutils 0.124 libraries.)
Copyright (C) 2005-2006 Red Hat, Inc. and others
This is free software; see the source for copying conditions.

Usage: stap [options] FILE         Run script in file.
   or: stap [options] -            Run script on stdin.
   or: stap [options] -e SCRIPT    Run given script.

Options:
   --         no more options after this
   -v         increase verbosity [Invalid pass number (should be 1-5).

SystemTap translator/driver (version 0.5.12 built 2007-02-08)

(Using Red Hat elfutils 0.124 libraries.)

Copyright (C) 2005-2006 Red Hat, Inc. and others

This is free software; see the source for copying conditions.



Usage: stap [options] FILE         Run script in file.

   or: stap [options] -            Run script on stdin.

   or: stap [options] -e SCRIPT    Run given script.



Options:

   --         no more options after this
0]
   -h         show help
   -V         show version
   -k         keep temporary directory
   -u         unoptimized translation
   -g         guru mode
   -b         bulk (relayfs) mode
   -M         Don't merge per-cpu files for bulk (relayfs) mode
   -s NUM     buffer size in megabytes, instead of 0
   -p NUM     stop after pass NUM 1-5, instead of 0
              (parse, elaborate, translate, compile, run)
   -I DIR     look in DIR for additional .stp script files, in addition to
              /usr/local/share/systemtap/tapset
              /usr/local/share/systemtap/tapset/LKET
   -D NM=VAL  emit macro definition into generated C code
   -R DIR     look in DIR for runtime, instead of
              /usr/local/share/systemtap/runtime
   -r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5
   -m MODULE  set probe module name, instead of stap_12618
   -o FILE    send output to file, instead of stdout
   -c CMD     start the probes, run CMD, and exit when it finishes
   -x PID     sets target() to PID
   -t         benchmarking timing information generated

   -v         increase verbosity [0]

   -h         show help

   -V         show version

   -k         keep temporary directory

   -u         unoptimized translation

   -g         guru mode

   -b         bulk (relayfs) mode

   -M         Don't merge per-cpu files for bulk (relayfs) mode

   -s NUM     buffer size in megabytes, instead of 0

   -p NUM     stop after pass NUM 1-5, instead of 0

              (parse, elaborate, translate, compile, run)

   -I DIR     look in DIR for additional .stp script files, in addition to

              /usr/local/share/systemtap/tapset

              /usr/local/share/systemtap/tapset/LKET

   -D NM=VAL  emit macro definition into generated C code

   -R DIR     look in DIR for runtime, instead of

              /usr/local/share/systemtap/runtime

   -r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5

   -m MODULE  set probe module name, instead of stap_12618

   -o FILE    send output to file, instead of stdout

   -c CMD     start the probes, run CMD, and exit when it finishes

   -x PID     sets target() to PID

   -t         benchmarking timing information generated
wait results: 12615 exp9 0 1
XFAIL: parseko/cmdline03.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline04.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline04.stp
Only one script can be given on the command line.
SystemTap translator/driver (version 0.5.12 built 2007-02-08)Only one script can be given on the command line.

(Using Red Hat elfutils 0.124 libraries.)
Copyright (C) 2005-2006 Red Hat, Inc. and others
This is free software; see the source for copying conditions.

Usage: stap [options] FILE         Run script in file.
   or: stap [options] -            Run script on stdin.
   or: stap [options] -e SCRIPT    Run given script.

Options:
   --         no more options after this
   -v         increase verbosity [0]
   -h         show help
   -V         show version
   -k         keep temporary directory
   -u         unoptimized translation
   -g         guru mode
   -b         bulk (relayfs) mode
   -M         Don't merge per-cpu files for bulk (relayfs) mode
   -s NUM     buffer size in megabytes, instead of 0
   -p NUM     stop after pass NUM 1-5, instead of 1
              (parse, elaborate, translate, compile, run)
   -I DIR     look in DIR for additional .stp script files, in addition to
              /usr/local/share/systemtap/tapset
              /usr/local/share/systemtap/tapset/LKET
   -D NM=VAL  emit macro definition into generated C code
   -R DIR     look in DIR for runtime, instead of
              /usr/local/share/systemtap/runtime
   -r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5
   -m MODULE  set probe module name, instead of stap_12622
SystemTap translator/driver (version 0.5.12 built 2007-02-08)

(Using Red Hat elfutils 0.124 libraries.)

Copyright (C) 2005-2006 Red Hat, Inc. and others

This is free software; see the source for copying conditions.



Usage: stap [options] FILE         Run script in file.

   or: stap [options] -            Run script on stdin.

   or: stap [options] -e SCRIPT    Run given script.



Options:

   --         no more options after this

   -v         increase verbosity [0]

   -h         show help

   -V         show version

   -k         keep temporary directory

   -u         unoptimized translation

   -g         guru mode

   -b         bulk (relayfs) mode

   -M         Don't merge per-cpu files for bulk (relayfs) mode

   -s NUM     buffer size in megabytes, instead of 0

   -p NUM     stop after pass NUM 1-5, instead of 1

              (parse, elaborate, translate, compile, run)

   -I DIR     look in DIR for additional .stp script files, in addition to

              /usr/local/share/systemtap/tapset

              /usr/local/share/systemtap/tapset/LKET

   -D NM=VAL  emit macro definition into generated C code

   -R DIR     look in DIR for runtime, instead of

              /usr/local/share/systemtap/runtime

   -r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5

   -o FILE    send output to file, instead of stdout
   -c CMD     start the probes, run CMD, and exit when it finishes
   -x PID     sets target() to PID
   -t         benchmarking timing information generated

   -m MODULE  set probe module name, instead of stap_12622

   -o FILE    send output to file, instead of stdout

   -c CMD     start the probes, run CMD, and exit when it finishes

   -x PID     sets target() to PID

   -t         benchmarking timing information generated
wait results: 12619 exp9 0 1
XFAIL: parseko/cmdline04.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline05.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline05.stp
You can't specify -M, -b and -o options together.
SystemTap translator/driver (version 0.5.12 built 2007-02-08)
(Using You can't specify -M, -b and -o options together.

SystemTap translator/driver (version 0.5.12 built 2007-02-08)
Red Hat elfutils 0.124 libraries.)
Copyright (C) 2005-2006 Red Hat, Inc. and others
This is free software; see the source for copying conditions.

Usage: stap [options] FILE         Run script in file.
   or: stap [options] -            Run script on stdin.
   or: stap [options] -e SCRIPT    Run given script.

Options:
   --         no more options after this
   -v         increase verbosity [0]
   -h         show help
   -V         show version
   -k         keep temporary directory
   -u         unoptimized translation
   -g         guru mode
   -b         bulk (relayfs) mode [set]
   -M         Don't merge per-cpu files for bulk (relayfs) mode [set]
   -s NUM     buffer size in megabytes, instead of 0
   -p NUM     stop after pass NUM 1-5, instead of 1
              (parse, elaborate, translate, compile, run)
   -I DIR     look in DIR for additional .stp script files, in addition to
              /usr/local/share/systemtap/tapset
              /usr/local/share/systemtap/tapset/LKET
   -D NM=VAL  emit macro definition into generated C code
   -R DIR     look in DIR for runtime, instead of
              /usr/local/share/systemtap/runtime
   -r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5
   -m MODULE  set probe module name, instead of stap_12626
   -o FILE    send output to file, instead of stdout
   -c CMD     start the probes, run CMD, and exit when it finishes
   -x PID     sets target() to PID
   -t         benchmarking timing information generated

(Using Red Hat elfutils 0.124 libraries.)

Copyright (C) 2005-2006 Red Hat, Inc. and others

This is free software; see the source for copying conditions.



Usage: stap [options] FILE         Run script in file.

   or: stap [options] -            Run script on stdin.

   or: stap [options] -e SCRIPT    Run given script.



Options:

   --         no more options after this

   -v         increase verbosity [0]

   -h         show help

   -V         show version

   -k         keep temporary directory

   -u         unoptimized translation

   -g         guru mode

   -b         bulk (relayfs) mode [set]

   -M         Don't merge per-cpu files for bulk (relayfs) mode [set]

   -s NUM     buffer size in megabytes, instead of 0

   -p NUM     stop after pass NUM 1-5, instead of 1

              (parse, elaborate, translate, compile, run)

   -I DIR     look in DIR for additional .stp script files, in addition to

              /usr/local/share/systemtap/tapset

              /usr/local/share/systemtap/tapset/LKET

   -D NM=VAL  emit macro definition into generated C code

   -R DIR     look in DIR for runtime, instead of

              /usr/local/share/systemtap/runtime

   -r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5

   -m MODULE  set probe module name, instead of stap_12626

   -o FILE    send output to file, instead of stdout

   -c CMD     start the probes, run CMD, and exit when it finishes

   -x PID     sets target() to PID

   -t         benchmarking timing information generated
wait results: 12623 exp9 0 1
XFAIL: parseko/cmdline05.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline06.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdline06.stp
ERROR: cannot create temporary directory ("/dev/null/BADTMPDIR/stapMFNClF"): Not a directory
ERROR: cannot create temporary directory ("/dev/null/BADTMPDIR/stapMFNClF"): Not a directory
wait results: 12627 exp9 0 1
XFAIL: parseko/cmdline06.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg01.stp
parse error: command line argument index invalid or out of range
	at: identifier '$0' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg01.stp:parse error: command line argument index invalid or out of range
5:9
parse error: expected statement
	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg01.stp EOF
2 parse error(s).

	at: identifier '$0' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg01.stp:5:9

parse error: expected statement

	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg01.stp EOF

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12631 exp9 0 1
XFAIL: parseko/cmdlinearg01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg02.stp
parse error: command line argument index invalid or out of range
	at: identifier '$12A3parse error: command line argument index invalid or out of range
' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg02.stp:5:9
parse error: expected statement
	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg02.stp EOF
2 parse error(s).

	at: identifier '$12A3' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg02.stp:5:9

parse error: expected statement

	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/cmdlinearg02.stp EOF

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12635 exp9 0 1
XFAIL: parseko/cmdlinearg02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eight.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eight.stp
parse error: expected identifier
	saw: parse error: expected identifier
operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eight.stp:3:24
1 parse error(s).

	saw: operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eight.stp:3:24

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12639 exp9 0 1
XFAIL: parseko/eight.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eighteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eighteen.stp
parse error: expected identifier
	saw: number '123' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eighteen.stpparse error: expected identifier
:4:8
1 parse error(s).

	saw: number '123' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eighteen.stp:4:8

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12643 exp9 0 1
XFAIL: parseko/eighteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eleven.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eleven.stp
parse error: duplicate function name
	saw: identifier 'fooparse error: duplicate function name
' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eleven.stp:4:10
1 parse error(s).

	saw: identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/eleven.stp:4:10

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12647 exp9 0 1
XFAIL: parseko/eleven.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/fifteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/fifteen.stp
parse error: multiple sort directives
	saw: operator '-parse error: multiple sort directives
' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/fifteen.stp:5:17
1 parse error(s).

	saw: operator '-' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/fifteen.stp:5:17

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12651 exp9 0 1
XFAIL: parseko/fifteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp
parse error: expected literal string or number
	saw: operator '{' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stpparse error: expected literal string or number
:3:12
parse error: expected literal string or number
	saw: operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp:6:11
parse error: expected identifier or '*'
	saw: 
	saw: operator '{' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp:3:12

parse error: expected literal string or number

	saw: operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp:6:11

parse error: expected identifier or '*'
operator '(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp:9:11
parse error: expected identifier or '*'
	saw: operator '{' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp:12:15
parse error: expected identifier or '*'
	saw: operator '{' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp:15:16

	saw: operator '(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp:9:11

parse error: expected identifier or '*'

	saw: operator '{' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp:12:15

parse error: expected identifier or '*'

	saw: operator '{' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/five.stp:15:16
5 parse error(s).

5 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12655 exp9 0 1
XFAIL: parseko/five.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt01.stp
parse error: expected '('
parse error: expected '('
	saw: identifier 'key' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt01.stp:10:13

	saw: identifier 'key' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt01.stp:10:13
parse error: expected statement

parse error: expected statement
	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt01.stp EOF

	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt01.stp EOF
2 parse error(s).

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12659 exp9 0 1
XFAIL: parseko/foreachstmt01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt02.stp
parse error: expected identifier
parse error: expected identifier
	saw: operator '*' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt02.stp:10:14

	saw: operator '*' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt02.stp:10:14
parse error: expected statement

parse error: expected statement
	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt02.stp EOF

	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt02.stp EOF
2 parse error(s).

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12663 exp9 0 1
XFAIL: parseko/foreachstmt02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt03.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt03.stp
parse error: expected ',' or ']'
parse error: expected ',' or ']'
	saw: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt03.stp:10:19

	saw: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt03.stp:10:19
parse error: expected statement

parse error: expected statement
	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt03.stp EOF

	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt03.stp EOF
2 parse error(s).

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12667 exp9 0 1
XFAIL: parseko/foreachstmt03.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt04.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt04.stp
parse error: multiple sort directives
	saw: operator 'parse error: multiple sort directives
-' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt04.stp:10:27
parse error: expected statement
	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt04.stp EOF
2 parse error(s).

	saw: operator '-' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt04.stp:10:27

parse error: expected statement

	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt04.stp EOF

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12671 exp9 0 1
XFAIL: parseko/foreachstmt04.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt05.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt05.stp
parse error: expected ')'
	saw: identifier 'priparse error: expected ')'
ntf' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt05.stp:11:9
parse error: expected statement
	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt05.stp EOF
2 parse error(s).

	saw: identifier 'printf' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt05.stp:11:9

parse error: expected statement

	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt05.stp EOF

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12675 exp9 0 1
XFAIL: parseko/foreachstmt05.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt06.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt06.stp
parse error: expected literal string or number
parse error: expected literal string or number
	saw: operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt06.stp:10:32

	saw: operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt06.stp:10:32
parse error: expected statement

parse error: expected statement
	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt06.stp EOF

	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt06.stp EOF
2 parse error(s).

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12679 exp9 0 1
XFAIL: parseko/foreachstmt06.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt07.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt07.stp
parse error: expected ')'
	saw: number 'parse error: expected ')'
5' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt07.stp:10:27
parse error: expected statement
	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt07.stp EOF
2 parse error(s).

	saw: number '5' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt07.stp:10:27

parse error: expected statement

	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/foreachstmt07.stp EOF

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12683 exp9 0 1
XFAIL: parseko/foreachstmt07.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt01.stp
parse error: expected '('
	saw: identifier 'i' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt01.stp:7:9
parse error: expected '('

	saw: identifier 'i' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt01.stp:7:9
1 parse error(s).

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12687 exp9 0 1
XFAIL: parseko/forstmt01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt02.stp
parse error: expected ';'
	saw: operator 'parse error: expected ';'
)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt02.stp:7:15
parse error: expected statement
	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt02.stp EOF
2 parse error(s).

	saw: operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt02.stp:7:15

parse error: expected statement

	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt02.stp EOF

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12691 exp9 0 1
XFAIL: parseko/forstmt02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt03.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt03.stp
parse error: expected ';'
parse error: expected ';'
	saw: operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt03.stp:7:22

	saw: operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt03.stp:7:22
parse error: expected statement

parse error: expected statement
	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt03.stp EOF

	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt03.stp EOF
2 parse error(s).

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12695 exp9 0 1
XFAIL: parseko/forstmt03.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt04.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt04.stp
parse error: expected ')'
	saw: identifier 'j'parse error: expected ')'
 at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt04.stp:8:9
parse error: expected statement
	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt04.stp EOF
2 parse error(s).

	saw: identifier 'j' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt04.stp:8:9

parse error: expected statement

	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/forstmt04.stp EOF

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12699 exp9 0 1
XFAIL: parseko/forstmt04.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/four.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/four.stp
parse error: expected literal string or number
	saw: operator '->' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/four.stp:4:17
1 parse error(s).
parse error: expected literal string or number

	saw: operator '->' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/four.stp:4:17

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12703 exp9 0 1
XFAIL: parseko/four.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/fourteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/fourteen.stp
parse error: embedded code in unprivileged script
parse error: embedded code in unprivileged script
	saw: embedded-code at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/fourteen.stp:3:17

	saw: embedded-code at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/fourteen.stp:3:17
1 parse error(s).

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12707 exp9 0 1
XFAIL: parseko/fourteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl01.stp
parse error: expected identifier
	saw: number '123parse error: expected identifier
' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl01.stp:4:10
1 parse error(s).

	saw: number '123' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl01.stp:4:10

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12711 exp9 0 1
XFAIL: parseko/functiondecl01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl02.stp
parse error: expected identifier
parse error: expected identifier
	saw: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl02.stp:4:10

	saw: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl02.stp:4:10
1 parse error(s).

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12715 exp9 0 1
XFAIL: parseko/functiondecl02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl03.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl03.stp
parse error: expected 'string' or 'long'
	saw: identifier 'foparse error: expected 'string' or 'long'
o' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl03.stp:5:15
1 parse error(s).

	saw: identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl03.stp:5:15

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12719 exp9 0 1
XFAIL: parseko/functiondecl03.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl04.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl04.stp
parse error: expected '('
parse error: expected '('
	saw: operator '{' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl04.stp:5:1

	saw: operator '{' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl04.stp:5:1
1 parse error(s).

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12723 exp9 0 1
XFAIL: parseko/functiondecl04.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl05.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl05.stp
parse error: expected identifier
	saw: operator 'parse error: expected identifier
*' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl05.stp:4:15
1 parse error(s).

	saw: operator '*' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl05.stp:4:15

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12727 exp9 0 1
XFAIL: parseko/functiondecl05.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl06.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl06.stp
parse error: expected 'string' or 'long'
	saw: identifier 'fooparse error: expected 'string' or 'long'
' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl06.stp:4:17
1 parse error(s).

	saw: identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl06.stp:4:17

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12731 exp9 0 1
XFAIL: parseko/functiondecl06.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl07.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl07.stp
parse error: expected ',' or ')'
	saw: identifier 'b' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl07.stpparse error: expected ',' or ')'
:4:17
1 parse error(s).

	saw: identifier 'b' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/functiondecl07.stp:4:17

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12735 exp9 0 1
XFAIL: parseko/functiondecl07.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt01.stp
parse error: expected '('
parse error: expected '('
	saw: identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt01.stp:7:8

	saw: identifier 'a' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt01.stp:7:8
parse error: expected statement

parse error: expected statement
	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt01.stp EOF

	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt01.stp EOF
2 parse error(s).

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12739 exp9 0 1
XFAIL: parseko/ifstmt01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt02.stp
parse error: expected ')'
parse error: expected ')'
	saw: identifier 'printf' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt02.stp:8:9

	saw: identifier 'printf' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt02.stp:8:9
parse error: expected statement

parse error: expected statement
	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt02.stp EOF

	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ifstmt02.stp EOF
2 parse error(s).

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12743 exp9 0 1
XFAIL: parseko/ifstmt02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive01.stp
semantic error: probe point mismatch at position 1 (alternatives:) while resolving probe point begin.maxactive(3)
Pass 2: analysis failed.  Try again with more '-v' (verbose) options.
semantic error: probe point mismatch at position 1 (alternatives:) while resolving probe point begin.maxactive(3)

Pass 2: analysis failed.  Try again with more '-v' (verbose) options.
wait results: 12747 exp9 0 1
XFAIL: parseko/maxactive01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive02.stp
parse error: expected literal string or number
	saw: identifier 'N' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive02.stp:7:45
parse error: expected literal string or number

	saw: identifier 'N' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive02.stp:7:45
1 parse error(s).

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12751 exp9 0 1
XFAIL: parseko/maxactive02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive03.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive03.stp
parse error: expected literal string or number
	saw: identifier 'parse error: expected literal string or number
four' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive03.stp:7:45
1 parse error(s).

	saw: identifier 'four' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive03.stp:7:45

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12755 exp9 0 1
XFAIL: parseko/maxactive03.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive04.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive04.stp
parse error: expected ')'
	saw: operator 'parse error: expected ')'
+' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive04.stp:5:47
1 parse error(s).

	saw: operator '+' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/maxactive04.stp:5:47

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12759 exp9 0 1
XFAIL: parseko/maxactive04.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/nine.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/nine.stp
parse error: expected statement
	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/nine.stp EOF
parse error: expected statement

	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/nine.stp EOF
1 parse error(s).

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12763 exp9 0 1
XFAIL: parseko/nine.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/nineteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/nineteen.stp
parse error: found 'next' not in probe context
	saw: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/nineteen.stp:7:5
parse error: expected statement
	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/nineteen.stp EOF
2 parse error(s).
parse error: found 'next' not in probe context

	saw: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/nineteen.stp:7:5

parse error: expected statement

	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/nineteen.stp EOF

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12767 exp9 0 1
XFAIL: parseko/nineteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/one.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/one.stp
parse error: expected 'probe', 'global', 'function', or '%{'
	saw: string 'not parse error: expected 'probe', 'global', 'function', or '%{'
a probe' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/one.stp:2:1
1 parse error(s).

	saw: string 'not a probe' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/one.stp:2:1

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12771 exp9 0 1
XFAIL: parseko/one.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess01.stp
parse error: expected string literal
	at: parse error: expected string literal
number '2' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess01.stp:4:16

	at: number '2' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess01.stp:4:16
parse error: expected 'probe', 'global', 'function', or '%{'
	saw: 
parse error: expected 'probe', 'global', 'function', or '%{'
operator '%)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess01.stp:6:1

	saw: operator '%)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess01.stp:6:1
2 parse error(s).

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12775 exp9 0 1
XFAIL: parseko/preprocess01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess02.stp
parse error: expected comparison operator
	at: operator '*' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess02.stp:4:13
parse error: expected comparison operator

	at: operator '*' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess02.stp:4:13
parse error: expected 'probe', 'global', 'function', or '%{'
	saw: operator '%)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess02.stp:6:1
2 parse error(s).

parse error: expected 'probe', 'global', 'function', or '%{'

	saw: operator '%)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess02.stp:6:1

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12779 exp9 0 1
XFAIL: parseko/preprocess02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess03.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess03.stp
parse error: expected string literal
parse error: expected string literal
	at: identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess03.stp:4:12

	at: identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess03.stp:4:12
parse error: expected 'probe', 'global', 'function', or '%{'
	saw: 
parse error: expected 'probe', 'global', 'function', or '%{'
operator '%)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess03.stp:6:1
2
	saw: operator '%)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess03.stp:6:1
 parse error(s).

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12783 exp9 0 1
XFAIL: parseko/preprocess03.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess04.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess04.stp
parse error: expected '==' or '!='
	at: operator '>=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess04.stp:4:9
parse error: expected '==' or '!='

	at: operator '>=' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess04.stp:4:9
parse error: expected 'probe', 'global', 'function', or '%{'
	saw: operator '%)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess04.stp:6:1
2 parse error(s).

parse error: expected 'probe', 'global', 'function', or '%{'

	saw: operator '%)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess04.stp:6:1

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12787 exp9 0 1
XFAIL: parseko/preprocess04.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess05.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess05.stp
parse error: expected 'arch' or 'kernel_v' or 'kernel_vr'
	at: identifierparse error: expected 'arch' or 'kernel_v' or 'kernel_vr'
 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess05.stp:4:4

	at: identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess05.stp:4:4
parse error: expected 'probe', 'global', 'function', or '%{'
	saw: 
parse error: expected 'probe', 'global', 'function', or '%{'
operator '%)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess05.stp:6:1

	saw: operator '%)' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess05.stp:6:1
2 parse error(s).

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12791 exp9 0 1
XFAIL: parseko/preprocess05.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess06.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess06.stp
parse error: expected '%?' marker for conditional
	at: operatorparse error: expected '%?' marker for conditional
 '%(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess06.stp:4:1
Input file '/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess06.stp' is empty or missing.

	at: operator '%(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess06.stp:4:1

Input file '/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess06.stp' is empty or missing.
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12795 exp9 0 1
XFAIL: parseko/preprocess06.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess07.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess07.stp
parse error: incomplete condition after '%('
	at: parse error: incomplete condition after '%('
operator '%(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess07.stp:4:1

	at: operator '%(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess07.stp:4:1
Input file '/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess07.stp' is empty or missing.

Input file '/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess07.stp' is empty or missing.
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12799 exp9 0 1
XFAIL: parseko/preprocess07.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess08.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess08.stp
parse error: missing THEN tokens for conditional
	at: operator '%(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess08.stp:4:1
Input file '/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess08.stp' is empty or missing.
parse error: missing THEN tokens for conditional

	at: operator '%(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess08.stp:4:1

Input file '/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess08.stp' is empty or missing.
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12803 exp9 0 1
XFAIL: parseko/preprocess08.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess09.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess09.stp
parse error: missing ELSE tokens for conditional
	at: operator '%(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess09.stp:parse error: missing ELSE tokens for conditional
4:1
Input file '/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess09.stp' is empty or missing.

	at: operator '%(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess09.stp:4:1

Input file '/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/preprocess09.stp' is empty or missing.
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12807 exp9 0 1
XFAIL: parseko/preprocess09.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint01.stp
parse error: expected '.' or ',' or '(' or '?' or '{' or '=' or '+='
parse error: expected '.' or ',' or '(' or '?' or '{' or '=' or '+='
	saw: identifier 'bar' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint01.stp:4:11

	saw: identifier 'bar' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint01.stp:4:11
1 parse error(s).

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12811 exp9 0 1
XFAIL: parseko/probepoint01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint02.stp
parse error: expected ')'
	saw: operator '(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint02.stp:4:12
parse error: expected ')'

	saw: operator '(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint02.stp:4:12
1 parse error(s).

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12815 exp9 0 1
XFAIL: parseko/probepoint02.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint03.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint03.stp
parse error: expected '.' or ',' or '(' or '?' or '{' or '=' or '+='
	saw: parse error: expected '.' or ',' or '(' or '?' or '{' or '=' or '+='
operator '(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint03.stp:4:13
1 parse error(s).

	saw: operator '(' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/probepoint03.stp:4:13

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12819 exp9 0 1
XFAIL: parseko/probepoint03.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seven.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seven.stp
parse error: expected literal string or number
	saw: operator 'parse error: expected literal string or number
]' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seven.stp:4:6
parse error: expected literal string or number
	saw: operator
	saw: operator ']' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seven.stp:4:6

parse error: expected literal string or number
 ',' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seven.stp:5:4
parse error: expected literal string or number
	saw: operator ']'
	saw: operator ',' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seven.stp:5:4

parse error: expected literal string or number
 at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seven.stp:6:4
3 parse error(s).

	saw: operator ']' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seven.stp:6:4

3 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12823 exp9 0 1
XFAIL: parseko/seven.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seventeen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seventeen.stp
Input file '/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seventeen.stp' is empty or missing.
Input file '/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/seventeen.stp' is empty or missing.
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12827 exp9 0 1
XFAIL: parseko/seventeen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp
parse error: number invalid or out of range
	saw: number '999999parse error: number invalid or out of range
9999999999999999999' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp:4:8

	saw: number '9999999999999999999999999' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp:4:8
parse error: number invalid or out of range
	saw: number '0xzoopoo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp:5:7

parse error: number invalid or out of range

	saw: number '0xzoopoo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp:5:7
parse error: number invalid or out of range
	saw: number '0001112223334445556667778
parse error: number invalid or out of range
8' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp:6:7

	saw: number '00011122233344455566677788' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp:6:7
parse error: number invalid or out of range
	saw: number '07777777777777777777777777' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp
parse error: number invalid or out of range
:7:7

	saw: number '07777777777777777777777777' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp:7:7
parse error: number invalid or out of range
	saw: number '18446744073709551616' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp:8:7
5 parse error(s).

parse error: number invalid or out of range

	saw: number '18446744073709551616' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/six.stp:8:7

5 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12831 exp9 0 1
XFAIL: parseko/six.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/sixteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/sixteen.stp
parse error: expected 'probe', 'global', 'function', or '%{'
	saw: junk '?' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/sixteen.stp:3:1
parse error: expected 'probe', 'global', 'function', or '%{'

	saw: junk '?' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/sixteen.stp:3:1
1 parse error(s).

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12835 exp9 0 1
XFAIL: parseko/sixteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ten.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ten.stp
parse error: expected statement
	saw: embedded-code at <input>:3:3
parse error: expected statement

	saw: embedded-code at <input>:3:3
parse error: expected statement
	saw: <input> EOF
2 parse error(s).

parse error: expected statement

	saw: <input> EOF

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12839 exp9 0 1
XFAIL: parseko/ten.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ternarystmt01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ternarystmt01.stp
parse error: expected ':'
	saw: operator '}' at parse error: expected ':'
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ternarystmt01.stp:8:1
1 parse error(s).

	saw: operator '}' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/ternarystmt01.stp:8:1

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12844 exp9 0 1
XFAIL: parseko/ternarystmt01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/thirteen.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/thirteen.stp
parse error: embedded code in unprivileged script
	saw: embedded-code at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/thirteen.stp:3:1parse error: embedded code in unprivileged script

1 parse error(s).

	saw: embedded-code at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/thirteen.stp:3:1

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12848 exp9 0 1
XFAIL: parseko/thirteen.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/three.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/three.stp
parse error: expected 'in'
	saw: operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/three.stp:3:13
parse error: expected 'in'

	saw: operator ')' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/three.stp:3:13
1 parse error(s).

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12852 exp9 0 1
XFAIL: parseko/three.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twelve.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twelve.stp
parse error: duplicate global name
	saw: identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twelve.stp:parse error: duplicate global name
4:8
1 parse error(s).

	saw: identifier 'foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twelve.stp:4:8

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12856 exp9 0 1
XFAIL: parseko/twelve.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twenty.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twenty.stp
parse error: found 'return' not in function context
	saw: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twenty.stp:7:5
parse error: found 'return' not in function context

	saw: keyword at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twenty.stp:7:5
parse error: expected statement
	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twenty.stp EOF
2 parse error(s).

parse error: expected statement

	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twenty.stp EOF

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12860 exp9 0 1
XFAIL: parseko/twenty.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentyone.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentyone.stp
parse error: unknown statistic operator @foo
	saw: identifier '@foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentyone.stp:8parse error: unknown statistic operator @foo
:24
parse error: expected statement
	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentyone.stp EOF
2 parse error(s).

	saw: identifier '@foo' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentyone.stp:8:24

parse error: expected statement

	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentyone.stp EOF

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12864 exp9 0 1
XFAIL: parseko/twentyone.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentythree.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentythree.stp
usage error: tapset file '/usr/local/share/systemtap/tapset/indent.stp' cannot be run directly as a session script.
usage error: tapset file '/usr/local/share/systemtap/tapset/indent.stp' cannot be run directly as a session script.
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12868 exp9 0 1
XFAIL: parseko/twentythree.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentytwo.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentytwo.stp
parse error: expected '.' or ',' or '(' or '?' or '{' or '=' or '+='
	saw: operator '*' at parse error: expected '.' or ',' or '(' or '?' or '{' or '=' or '+='
/usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentytwo.stp:5:9
1 parse error(s).

	saw: operator '*' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/twentytwo.stp:5:9

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12873 exp9 0 1
XFAIL: parseko/twentytwo.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/two.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/two.stp
parse error: expected literal string or number
	saw: operator '}' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/two.stp:4:1
1 parse error(s).
parse error: expected literal string or number

	saw: operator '}' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/two.stp:4:1

1 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12877 exp9 0 1
XFAIL: parseko/two.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt01.stp
parse error: expected '('
	saw: number '0' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt01.stp:7:11
parse error: expected '('

	saw: number '0' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt01.stp:7:11
parse error: expected statement
	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt01.stp EOF
2 parse error(s).

parse error: expected statement

	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt01.stp EOF

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12881 exp9 0 1
XFAIL: parseko/whilestmt01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt02.stp
parse error: expected ')'
	saw: identifier 'printf'parse error: expected ')'
 at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt02.stp:8:9
parse error: expected statement
	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt02.stp EOF
2 parse error(s).

	saw: identifier 'printf' at /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt02.stp:8:9

parse error: expected statement

	saw: /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseko/whilestmt02.stp EOF

2 parse error(s).
Pass 1: parse failed.  Try again with more '-v' (verbose) options.

Pass 1: parse failed.  Try again with more '-v' (verbose) options.
wait results: 12885 exp9 0 1
XFAIL: parseko/whilestmt02.stp
testcase /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/parseko.exp completed in 43 seconds
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/systemtap.pass1-4/parseok.exp ...
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/cmdline01.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/cmdline01.stp
output version
output version
SystemTap translator/driver (version 0.5.12 built 2007-02-08)
(Using Red Hat elfutils 0.124 libraries.)
Copyright (C) 2005-2006 Red Hat, Inc. and others
This is free software; see the source for copying conditions.

SystemTap translator/driver (version 0.5.12 built 2007-02-08)

(Using Red Hat elfutils 0.124 libraries.)

Copyright (C) 2005-2006 Red Hat, Inc. and others

This is free software; see the source for copying conditions.
output version and help

output version and help
SystemTap translator/driver (version 0.5.12 built 2007-02-08)
(Using Red Hat elfutils 0.124 libraries.)
Copyright (C) 2005-2006 Red Hat, Inc. and others
This is free software; see the source for copying conditions.

Usage: stap [options] FILE         Run script in file.
   or: stap [options] -            Run script on stdin.
SystemTap translator/driver (version 0.5.12 built 2007-02-08)

(Using Red Hat elfutils 0.124 libraries.)

Copyright (C) 2005-2006 Red Hat, Inc. and others

This is free software; see the source for copying conditions.



Usage: stap [options] FILE         Run script in file.

   or: stap [options] -e SCRIPT    Run given script.

Options:
   --         no more options after this
   -v         increase verbosity [0]
   -h         show help
   -V         show version
   -k         keep temporary directory
   -u         unoptimized translation
   -g         guru mode
   -b         bulk (relayfs) mode
   -M         Don't merge per-cpu files for bulk (relayfs) mode
   -s NUM     buffer size in megabytes, instead of 0
   -p NUM     stop after pass NUM 1-5, instead of 5
              (parse, elaborate, translate, compile, run)
   -I DIR     look in DIR for additional .stp script files, in addition to
              /usr/local/share/systemtap/tapset
              /usr/local/share/systemtap/tapset/LKET
   -D NM=VAL  emit macro definition into generated C code
   -R DIR     look in DIR for runtime, instead of
              /usr/local/share/systemtap/runtime
   -r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5
   -m MODULE  set probe module name, instead of stap_12893
   -o FILE    send output to file, instead of stdout
   -c CMD     start the probes, run CMD, and exit when it finishes
   -x PID     sets target() to PID
   -t         benchmarking timing information generated

   or: stap [options] -            Run script on stdin.

   or: stap [options] -e SCRIPT    Run given script.



Options:

   --         no more options after this

   -v         increase verbosity [0]

   -h         show help

   -V         show version

   -k         keep temporary directory

   -u         unoptimized translation

   -g         guru mode

   -b         bulk (relayfs) mode

   -M         Don't merge per-cpu files for bulk (relayfs) mode

   -s NUM     buffer size in megabytes, instead of 0

   -p NUM     stop after pass NUM 1-5, instead of 5

              (parse, elaborate, translate, compile, run)

   -I DIR     look in DIR for additional .stp script files, in addition to

              /usr/local/share/systemtap/tapset

              /usr/local/share/systemtap/tapset/LKET

   -D NM=VAL  emit macro definition into generated C code

   -R DIR     look in DIR for runtime, instead of

              /usr/local/share/systemtap/runtime

   -r RELEASE use kernel RELEASE, instead of 2.6.18-8.el5

   -m MODULE  set probe module name, instead of stap_12893

   -o FILE    send output to file, instead of stdout

   -c CMD     start the probes, run CMD, and exit when it finishes

   -x PID     sets target() to PID

   -t         benchmarking timing information generated
wait results: 12889 exp9 0 0
PASS: parseok/cmdline01.stp
Running /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/cmdline02.stp
starting /usr/src/redhat/SOURCES/systemtap-0.5.12/testsuite/parseok/cmdline02.stp
# parse tree dump
# file <input>
probe begin{
exit()
}

# file /usr/local/share/systemtap/tapset/aux_syscalls.stp
%{
static const int days_in_month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
static void _stp_ctime(time_t t, char *buf, int buflen)
{
	int mon=1, day, hour, min, sec, num, d, year = 1970;
	
	sec = t % 60; 
	min = t/60 % 60;
	hour = t/(60*60) % 24;	
	day = t/(24*60*60);

	while(1) {
		d =  (!(year % 4) && ((year % 100) || !(year % 400))) ? 366 : 365;
		if (day >= d)
			day -= d;
		else
			break;
		year++;
	}
	while (mon < 12) {
		num = days_in_month[mon-1];
		if (mon == 2 && d == 366)
			num++;
		if (day >= num)
			day -= num;
		else
			break;
		mon++;
	}
	
	snprintf(buf, buflen, "%4d/%02d/%02d-%02d:%02d:%02d", year, mon, day+1, hour, min, sec);
	buf[buflen-1] = 0;
}
# parse tree dump

# file <input>

probe begin{

exit()

}



# file /usr/local/share/systemtap/tapset/aux_syscalls.stp

%{

static const int days_in_month[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

static void _stp_ctime(time_t t, char *buf, int buflen)

{

	int mon=1, day, hour, min, sec, num, d, year = 1970;

	

	sec = t % 60; 

	min = t/60 % 60;

	hour = t/(60*60) % 24;	

	day = t/(24*60*60);



	while(1) {

		d =  (!(year % 4) && ((year % 100) || !(year % 400))) ? 366 : 365;

		if (day >= d)

			day -= d;

		else

			break;

		year++;

	}

	while (mon < 12) {

		num = days_in_month[mon-1];

		if (mon == 2 && d == 366)

			num++;

		if (day >= num)

			day -= num;

		else

			break;

		mon++;

	}

	

	snprintf(buf, buflen, "%4d/%02d/%02d-%02d:%02d:%02d", year, mon, day+1, hour, min, sec);

	buf[buflen-1] = 0;

}
%}%{
#include <linux/version.h>
#include <net/sock.h>
#include <net/tcp.h>
#include <linux/socket.h>
#include <linux/un.h>

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,11)
#define LPORT   (inet->inet.num)
#define DADDR   (&inet->inet.daddr)
#else
#define LPORT   (inet->num)
#define DADDR   (&inet->daddr)
#endif

//FIXME. Not done yet.

void _stp_sockaddr_str(char *str, const int strlen, char *buf, int len)
{
	struct sockaddr *sa = (struct sockaddr *)buf;
	switch (sa->sa_family) {
	case AF_INET: 
	{
		struct sockaddr_in *sin = (struct sockaddr_in *)buf;
		const unsigned char *addr = (unsigned char *)&sin->sin_addr;
		snprintf(str, strlen, "{AF_INET, %d.%d.%d.%d, %d}", 
			addr[0], addr[1], addr[2], addr[3], ntohs(sin->sin_port));
		break;
	}
	case AF_UNIX:
	{	
		struct sockaddr_un *sun = (struct sockaddr_un *)buf;	
		snprintf(str, strlen, "{AF_UNIX, %s}", sun->sun_path); 
		break;
	}
	case AF_NETLINK:
	{
		struct sockaddr_nl *nl = (struct sockaddr_nl *)buf;
		snprintf(str, strlen, "{AF_NETLINK, pid=%d, groups=%08x}", nl->nl_pid, nl->nl_groups); 
		break;
	}
	case AF_INET6: 
	{
		// FIXME. Address is probably not correctly displayed
		struct sockaddr_in6 *sin = (struct sockaddr_in6 *)buf;
		snprintf(str, strlen, "{AF_INET6, %016llx, %d}", 
			*(long long *)&sin->sin6_addr, ntohs(sin->sin6_port));
		break;
	}
	case AF_PACKET: 
	{
		/* FIXME. This needs tested */
		struct sockaddr_ll *sll = (struct sockaddr_ll *)buf;
#if defined(__powerpc__) || defined(__ia64__)
		snprintf(str, strlen, "{AF_PACKET, proto=%d, ind=%d, hatype=%d, pkttype=%d, halen=%d, addr=0x%lx}", 
			(int)sll->sll_protocol, sll->sll_ifindex, (int)sll->sll_hatype, (int)sll->sll_pkttype,
			(int)sll->sll_halen, *(uint64_t *)sll->sll_addr);
#else
		snprintf(str, strlen, "{AF_PACKET, proto=%d, ind=%d, hatype=%d, pkttype=%d, halen=%d, addr=0x%llx}", 
			(int)sll->sll_protocol, sll->sll_ifindex, (int)sll->sll_hatype, (int)sll->sll_pkttype,
			(int)sll->sll_halen, *(uint64_t *)sll->sll_addr);
#endif
		break;
	}

	default:
		snprintf(str, strlen, "{unknown address family %d}", sa->sa_family);	
	}
}
%}function _struct_timeval_u (uaddr)
%{ /* pure */
	struct timeval tv;
	char *ptr = (char *)(unsigned long)THIS->uaddr;

	if (ptr == NULL)
		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
	else {
		if(_stp_copy_from_user((char*)&tv,ptr,sizeof(struct timeval)) == 0)
			snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%06ld]", tv.tv_sec, tv.tv_usec);
	   	else
			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
	}
%}
function _struct_compat_timeval_u (uaddr)
%{ /* pure */
	struct compat_timeval tv;
	char *ptr = (char *)(unsigned long)THIS->uaddr;

	if (ptr == NULL)
		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
	else {
		if(_stp_copy_from_user((char*)&tv,ptr,sizeof(struct compat_timeval)) == 0)
			snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%06ld]", (long)tv.tv_sec, (long)tv.tv_usec);
	   	else
			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
	}
%}
function _struct_timeval (addr)
%{ /* pure */
	struct timeval *tv;
	char *ptr = (char *)(unsigned long)THIS->addr;

	if (ptr == NULL)
		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
	else {
		tv=(struct timeval *) ptr;
		snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%06ld]", tv->tv_sec, tv->tv_usec);
	}
%}
function _struct_timezone_u (uaddr)
%{ /* pure */
	struct timezone tz;
	char *ptr = (char *)(unsigned long)THIS->uaddr;
	
	if (ptr == NULL)
		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
	else {
		if(_stp_copy_from_user((char*)&tz,ptr,sizeof(struct timezone)) == 0)
			snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d, %d]", tz.tz_minuteswest, tz.tz_dsttime);
		else
			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
	}
%}
function _struct_utimbuf_u (uaddr)
%{ /* pure */
	#include <linux/utime.h>
	struct utimbuf ubuf;
	static char abuf[24], mbuf[24];
	char *ptr = (char *)(unsigned long)THIS->uaddr;
	
	if (ptr == NULL)
		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
	else {
		if(_stp_copy_from_user((char*)&ubuf,ptr,sizeof(ubuf)) == 0) {
			_stp_ctime(ubuf.actime, abuf, 24);
			_stp_ctime(ubuf.modtime, mbuf, 24);
			snprintf(THIS->__retvalue, MAXSTRINGLEN, "%s, %s", abuf, mbuf);
		} else
			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
	}
%}
function _struct_compat_utimbuf_u (uaddr)
%{ /* pure */
	#include <linux/utime.h>
	struct compat_utimbuf ubuf;
	static char abuf[24], mbuf[24];
	char *ptr = (char *)(unsigned long)THIS->uaddr;
	
	if (ptr == NULL)
		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
	else {
		if(_stp_copy_from_user((char*)&ubuf,ptr,sizeof(ubuf)) == 0) {
			_stp_ctime(ubuf.actime, abuf, 24);
			_stp_ctime(ubuf.modtime, mbuf, 24);
			snprintf(THIS->__retvalue, MAXSTRINGLEN, "%s, %s", abuf, mbuf);
		} else
			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
	}

%}%{

#include <linux/version.h>

#include <net/sock.h>

#include <net/tcp.h>

#include <linux/socket.h>

#include <linux/un.h>



#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,11)

#define LPORT   (inet->inet.num)

#define DADDR   (&inet->inet.daddr)

#else

#define LPORT   (inet->num)

#define DADDR   (&inet->daddr)

#endif



//FIXME. Not done yet.



void _stp_sockaddr_str(char *str, const int strlen, char *buf, int len)

{

	struct sockaddr *sa = (struct sockaddr *)buf;

	switch (sa->sa_family) {

	case AF_INET: 

	{

		struct sockaddr_in *sin = (struct sockaddr_in *)buf;

		const unsigned char *addr = (unsigned char *)&sin->sin_addr;

		snprintf(str, strlen, "{AF_INET, %d.%d.%d.%d, %d}", 

			addr[0], addr[1], addr[2], addr[3], ntohs(sin->sin_port));

		break;

	}

	case AF_UNIX:

	{	

		struct sockaddr_un *sun = (struct sockaddr_un *)buf;	

		snprintf(str, strlen, "{AF_UNIX, %s}", sun->sun_path); 

		break;

	}

	case AF_NETLINK:

	{

		struct sockaddr_nl *nl = (struct sockaddr_nl *)buf;

		snprintf(str, strlen, "{AF_NETLINK, pid=%d, groups=%08x}", nl->nl_pid, nl->nl_groups); 

		break;

	}

	case AF_INET6: 

	{

		// FIXME. Address is probably not correctly displayed

		struct sockaddr_in6 *sin = (struct sockaddr_in6 *)buf;

		snprintf(str, strlen, "{AF_INET6, %016llx, %d}", 

			*(long long *)&sin->sin6_addr, ntohs(sin->sin6_port));

		break;

	}

	case AF_PACKET: 

	{

		/* FIXME. This needs tested */

		struct sockaddr_ll *sll = (struct sockaddr_ll *)buf;

#if defined(__powerpc__) || defined(__ia64__)

		snprintf(str, strlen, "{AF_PACKET, proto=%d, ind=%d, hatype=%d, pkttype=%d, halen=%d, addr=0x%lx}", 

			(int)sll->sll_protocol, sll->sll_ifindex, (int)sll->sll_hatype, (int)sll->sll_pkttype,

			(int)sll->sll_halen, *(uint64_t *)sll->sll_addr);

#else

		snprintf(str, strlen, "{AF_PACKET, proto=%d, ind=%d, hatype=%d, pkttype=%d, halen=%d, addr=0x%llx}", 

			(int)sll->sll_protocol, sll->sll_ifindex, (int)sll->sll_hatype, (int)sll->sll_pkttype,

			(int)sll->sll_halen, *(uint64_t *)sll->sll_addr);

#endif

		break;

	}



	default:

		snprintf(str, strlen, "{unknown address family %d}", sa->sa_family);	

	}

}

%}function _struct_timeval_u (uaddr)

%{ /* pure */

	struct timeval tv;

	char *ptr = (char *)(unsigned long)THIS->uaddr;



	if (ptr == NULL)

		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);

	else {

		if(_stp_copy_from_user((char*)&tv,ptr,sizeof(struct timeval)) == 0)

			snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%06ld]", tv.tv_sec, tv.tv_usec);

	   	else

			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);

	}

%}

function _struct_compat_timeval_u (uaddr)

%{ /* pure */

	struct compat_timeval tv;

	char *ptr = (char *)(unsigned long)THIS->uaddr;



	if (ptr == NULL)

		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);

	else {

		if(_stp_copy_from_user((char*)&tv,ptr,sizeof(struct compat_timeval)) == 0)

			snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%06ld]", (long)tv.tv_sec, (long)tv.tv_usec);

	   	else

			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);

	}

%}

function _struct_timeval (addr)

%{ /* pure */

	struct timeval *tv;

	char *ptr = (char *)(unsigned long)THIS->addr;



	if (ptr == NULL)

		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);

	else {

		tv=(struct timeval *) ptr;

		snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%06ld]", tv->tv_sec, tv->tv_usec);

	}

%}

function _struct_timezone_u (uaddr)

%{ /* pure */

	struct timezone tz;

	char *ptr = (char *)(unsigned long)THIS->uaddr;

	

	if (ptr == NULL)

		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);

	else {

		if(_stp_copy_from_user((char*)&tz,ptr,sizeof(struct timezone)) == 0)

			snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d, %d]", tz.tz_minuteswest, tz.tz_dsttime);

		else

			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);

	}

%}

function _struct_utimbuf_u (uaddr)

%{ /* pure */

	#include <linux/utime.h>

	struct utimbuf ubuf;

	static char abuf[24], mbuf[24];

	char *ptr = (char *)(unsigned long)THIS->uaddr;

	

	if (ptr == NULL)

		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);

	else {

		if(_stp_copy_from_user((char*)&ubuf,ptr,sizeof(ubuf)) == 0) {

			_stp_ctime(ubuf.actime, abuf, 24);

			_stp_ctime(ubuf.modtime, mbuf, 24);

			snprintf(THIS->__retvalue, MAXSTRINGLEN, "%s, %s", abuf, mbuf);

		} else

			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);

	}

%}

function _struct_compat_utimbuf_u (uaddr)

%{ /* pure */

	#include <linux/utime.h>

	struct compat_utimbuf ubuf;

	static char abuf[24], mbuf[24];

	char *ptr = (char *)(unsigned long)THIS->uaddr;

	

	if (ptr == NULL)

		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);

	else {

		if(_stp_copy_from_user((char*)&ubuf,ptr,sizeof(ubuf)) == 0) {

			_stp_ctime(ubuf.actime, abuf, 24);

			_stp_ctime(ubuf.modtime, mbuf, 24);

			snprintf(THIS->__retvalue, MAXSTRINGLEN, "%s, %s", abuf, mbuf);

		} else

			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);

	}
%}
function _struct_timespec_u (uaddr)
%{ /* pure */
	struct timespec ts;
	char *ptr = (char *)(unsigned long)THIS->uaddr;

	if (ptr == NULL)
		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
	else {
		if(_stp_copy_from_user((char *)&ts,ptr,sizeof(struct timespec)))  {
			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
		} else
			snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%09ld]", 
				(unsigned long)ts.tv_sec, (unsigned long)ts.tv_nsec);
	}
%}
function _struct_compat_timespec_u (uaddr)
%{ /* pure */
	struct compat_timespec ts;
	char *ptr = (char *)(unsigned long)THIS->uaddr;

	if (ptr == NULL)
		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
	else {
		if(_stp_copy_from_user((char *)&ts,ptr,sizeof(struct compat_timespec)))  {
			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
		} else
			snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%09ld]", 
				(unsigned long)ts.tv_sec, (unsigned long)ts.tv_nsec);
	}
%}
function _struct_timespec (addr)
%{ /* pure */
	struct timespec *ts;
	char *ptr = (char *)(unsigned long)THIS->addr;

	if (ptr == NULL)
		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
	else {
		ts =  (struct timespec *) ptr;
		snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%09ld]", 
			(unsigned long)ts->tv_sec, (unsigned long)ts->tv_nsec);
	}
%}
function _struct_itimerspec_u (uaddr)
%{ /* pure */
	struct itimerspec its;
	char *ptr = (char *)(unsigned long)THIS->uaddr;
	
	if (ptr == NULL)
		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
	else {
		if(_stp_copy_from_user((char *)&its, ptr,sizeof(struct itimerspec)))
			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
		else
			snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d.%06d,%d.%06d]",
				(int)its.it_interval.tv_sec, (int)its.it_interval.tv_nsec,
				(int)its.it_value.tv_sec, (int)its.it_value.tv_nsec);
	}	
%}
function _struct_itimerval_u (uaddr)
%{ /* pure */
	struct itimerval itv;
	char *ptr = (char *)(unsigned long)THIS->uaddr;

	if (ptr == NULL)
		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
	else {
		if(_stp_copy_from_user((char *)&itv,ptr,sizeof(struct itimerval)))
			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
		else
			snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d.%06d,%d.%06d]", 
				(int)itv.it_interval.tv_sec, (int)itv.it_interval.tv_usec,
				(int)itv.it_value.tv_sec, (int)itv.it_value.tv_usec);
	}
%}
function _struct_compat_itimerval_u (uaddr)
%{ /* pure */
	struct compat_itimerval itv;
	char *ptr = (char *)(unsigned long)THIS->uaddr;

	if (ptr == NULL)
		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
	else {
		if(_stp_copy_from_user((char *)&itv,ptr,sizeof(struct compat_itimerval)))
			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
		else
			snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d.%06d,%d.%06d]", 
				(int)itv.it_interval.tv_sec, (int)itv.it_interval.tv_usec,
				(int)itv.it_value.tv_sec, (int)itv.it_value.tv_usec);
	}
%}
function _struct_itimerval (addr)
%{ /* pure */
	struct itimerval *itv;
	char *ptr = (char *)(unsigned long)THIS->addr;

	if (ptr == NULL)
		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
	else {
		itv = (struct itimerval *) ptr;
		snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d.%06d,%d.%06d]", 
			(int)itv->it_interval.tv_sec, (int)itv->it_interval.tv_usec,
			(int)itv->it_value.tv_sec, (int)itv->it_value.tv_usec);
	}
%}
function _struct_sockaddr_u (uaddr, len)
%{ /* pure */
	char *ptr = (char *)(unsigned long)THIS->uaddr;
	if (ptr == NULL)
		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
	else {
		char buf[128];
		size_t len = THIS->len < 128 ? THIS->len : 128;
		if(_stp_copy_from_user(buf, ptr, len))
			strlcpy (THIS->__retvalue, "[...]", MAXSTRINGLEN);
		else
			_stp_sockaddr_str(THIS->__retvalue, MAXSTRINGLEN, buf, len);
	}
%}
function _signal_name (sig)
%{ /* pure */
  	int sig = THIS->sig;
	char *res = 0;

	switch(sig) {
	case 0:
		res = "NO_SIGNAL";
		break;
	case SIGHUP:
		res = "SIGHUP";
		break;
	case SIGINT:
		res = "SIGINT";
		b
%}

function _struct_timespec_u (uaddr)

%{ /* pure */

	struct timespec ts;

	char *ptr = (char *)(unsigned long)THIS->uaddr;



	if (ptr == NULL)

		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);

	else {

		if(_stp_copy_from_user((char *)&ts,ptr,sizeof(struct timespec)))  {

			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);

		} else

			snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%09ld]", 

				(unsigned long)ts.tv_sec, (unsigned long)ts.tv_nsec);

	}

%}

function _struct_compat_timespec_u (uaddr)

%{ /* pure */

	struct compat_timespec ts;

	char *ptr = (char *)(unsigned long)THIS->uaddr;



	if (ptr == NULL)

		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);

	else {

		if(_stp_copy_from_user((char *)&ts,ptr,sizeof(struct compat_timespec)))  {

			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);

		} else

			snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%09ld]", 

				(unsigned long)ts.tv_sec, (unsigned long)ts.tv_nsec);

	}

%}

function _struct_timespec (addr)

%{ /* pure */

	struct timespec *ts;

	char *ptr = (char *)(unsigned long)THIS->addr;



	if (ptr == NULL)

		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);

	else {

		ts =  (struct timespec *) ptr;

		snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld.%09ld]", 

			(unsigned long)ts->tv_sec, (unsigned long)ts->tv_nsec);

	}

%}

function _struct_itimerspec_u (uaddr)

%{ /* pure */

	struct itimerspec its;

	char *ptr = (char *)(unsigned long)THIS->uaddr;

	

	if (ptr == NULL)

		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);

	else {

		if(_stp_copy_from_user((char *)&its, ptr,sizeof(struct itimerspec)))

			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);

		else

			snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d.%06d,%d.%06d]",

				(int)its.it_interval.tv_sec, (int)its.it_interval.tv_nsec,

				(int)its.it_value.tv_sec, (int)its.it_value.tv_nsec);

	}	

%}

function _struct_itimerval_u (uaddr)

%{ /* pure */

	struct itimerval itv;

	char *ptr = (char *)(unsigned long)THIS->uaddr;



	if (ptr == NULL)

		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);

	else {

		if(_stp_copy_from_user((char *)&itv,ptr,sizeof(struct itimerval)))

			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);

		else

			snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d.%06d,%d.%06d]", 

				(int)itv.it_interval.tv_sec, (int)itv.it_interval.tv_usec,

				(int)itv.it_value.tv_sec, (int)itv.it_value.tv_usec);

	}

%}

function _struct_compat_itimerval_u (uaddr)

%{ /* pure */

	struct compat_itimerval itv;

	char *ptr = (char *)(unsigned long)THIS->uaddr;



	if (ptr == NULL)

		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);

	else {

		if(_stp_copy_from_user((char *)&itv,ptr,sizeof(struct compat_itimerval)))

			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);

		else

			snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d.%06d,%d.%06d]", 

				(int)itv.it_interval.tv_sec, (int)itv.it_interval.tv_usec,

				(int)itv.it_value.tv_sec, (int)itv.it_value.tv_usec);

	}

%}

function _struct_itimerval (addr)

%{ /* pure */

	struct itimerval *itv;

	char *ptr = (char *)(unsigned long)THIS->addr;



	if (ptr == NULL)

		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);

	else {

		itv = (struct itimerval *) ptr;

		snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d.%06d,%d.%06d]", 

			(int)itv->it_interval.tv_sec, (int)itv->it_interval.tv_usec,

			(int)itv->it_value.tv_sec, (int)itv->it_value.tv_usec);

	}

%}

function _struct_sockaddr_u (uaddr, len)

%{ /* pure */

	char *ptr = (char *)(unsigned long)THIS->uaddr;

	if (ptr == NULL)

		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);

	else {

		char buf[128];

		size_t len = THIS->len < 128 ? THIS->len : 128;

		if(_stp_copy_from_user(buf, ptr, len))

			strlcpy (THIS->__retvalue, "[...]", MAXSTRINGLEN);

		else

			_stp_sockaddr_str(THIS->__retvalue, MAXSTRINGLEN, buf, len);

	}

%}

function _signal_name (sig)

%{ /* pure */

  	int sig = THIS->sig;

	char *res = 0;



	switch(sig) {

	case 0:

		res = "NO_SIGNAL";

		break;

	case SIGHUP:

		res = "SIGHUP";

		break;

	case SIGINT:

		res = "SIGINT";
reak;
	case SIGQUIT:
		res = "SIGQUIT";
		break;
	case SIGILL:
		res = "SIGILL";
		break;
	case SIGTRAP:
		res = "SIGTRAP";
		break;
	case SIGABRT:
		res = "SIGABRT";
		break;
	case SIGBUS:
		res = "SIGBUS";
		break;
	case SIGFPE:
		res = "SIGFPE";
		break;
	case SIGKILL:
		res = "SIGKILL";
		break;
	case SIGUSR1:
		res = "SIGUSR1";
		break;
	case SIGSEGV:
		res = "SIGSEGV";
		break;
	case SIGPIPE:
		res = "SIGPIPE";
		break;
	case SIGUSR2:
		res = "SIGUSR2";
		break;
	case SIGALRM:
		res = "SIGALRM";
		break;
	case SIGTERM:
		res = "SIGTERM";
		break;
	case SIGCHLD:
		res = "SIGCHLD";
		break;
	case SIGCONT:
		res = "SIGCONT";
		break;
	case SIGSTOP:
		res = "SIGSTOP";
		break;
	case SIGTSTP:
		res = "SIGTSTP";
		break;
	case SIGTTIN:
		res = "SIGTTIN";
		break;
	case SIGTTOU:
		res = "SIGTTOU";
		break;
	case SIGURG:
		res = "SIGURG";
		break;
	case SIGPROF:
		res = "SIGPROF";
		break;
	case SIGWINCH:
		res = "SIGWINCH";
		break;
	case SIGVTALRM:
		res = "SIGVTALRM";
		break;
	case SIGIO:
		res = "SIGIO/SIGPOLL";
		break;
	case SIGPWR:
		res = "SIGPWR";
		break;
	}
	if (res)
		strlcpy (THIS->__retvalue, res, MAXSTRINGLEN);
	else
		snprintf(THIS->__retvalue, MAXSTRINGLEN, "%d", sig);
%}
function _struct_rlimit_u (uaddr)
%{ /* pure */
	struct rlimit rl;
	char *ptr = (char *)(unsigned long)THIS->uaddr;

	if (ptr == NULL)
		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
	else {
		if (_stp_copy_from_user((char *)&rl, ptr, sizeof(struct rlimit)) == 0)
			snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld,%ld]",
				rl.rlim_cur, rl.rlim_max);
		else
			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
	}
%}
function _fildes_u (uaddr)
%{ /* pure */
	int fd[2];
	char *ptr = (char *)(unsigned long)THIS->uaddr;

	if (ptr == NULL)
		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
	else {
		if (_stp_copy_from_user((char *)&fd, ptr, 2*sizeof(int)) == 0)
			 snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d, %d]", fd[0], fd[1]);
		else
			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
	}
%}
function _fd_set_u (uaddr)
%{ /* pure */
	fd_set fdset;
	char *ptr = (char *)(unsigned long)THIS->uaddr;

	if (ptr == NULL)
		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
	else {
		if (_stp_copy_from_user((char *)&fdset, ptr, sizeof(fd_set)) == 0)
			snprintf(THIS->__retvalue, MAXSTRINGLEN, "[0x%lx, 0x%lx, ...]", (long) fdset.fds_bits[0],  fdset.fds_bits[1]);
		else
			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);
	} 
%}
function _semctl_cmd (cmd)
%{ /* pure */
	int cmd = THIS->cmd;
	char *res = 0;

	switch(cmd) {
		case IPC_INFO:
			res = "IPC_INFO";
			break;
		case SEM_INFO:
			res = "SEM_INFO";
			break;
		case SEM_STAT:
			res = "SEM_STAT";
			break;
		case GETALL:
			res = "GETALL";
			break;
		case GETVAL:
			res = "GETVAL";
			break;
		case GETPID:
			res = "GETPID";
			break;
		case GETNCNT:
			res = "GETNCNT";
			break;
		case GETZCNT:
			res = "GETZCNT";
			break;
		case IPC_STAT:
			res = "IPC_STAT";
			break;
		case SETVAL:
			res = "SETVAL";
			break;
		case SETALL:
			res = "SETALL";
			break;
		case IPC_RMID:
			res = "IPC_RMID";
			break;
		case IPC_SET:
			res = "IPC_SET";
			break;
	}
	if (res)
		strlcpy (THIS->__retvalue, res, MAXSTRINGLEN);
	else
		snprintf(THIS->__retvalue, MAXSTRINGLEN, "%d", cmd);	
%}
function __sem_flags (semflg)
%{ /* pure */
	long semflg = THIS->semflg;
	char *str = THIS->__retvalue;

	if (semflg & IPC_CREAT)
		strlcat(str, "IPC_CREAT|", MAXSTRINGLEN);
	if (semflg & IPC_EXCL)
		strlcat(str, "IPC_EXCL|", MAXSTRINGLEN);

	str[strlen(str)-1] = 0;
%}
function __fork_flags (flags)
%{ /* pure */
	int len;
  	long flags = THIS->flags;
	char *str = THIS->__retvalue;
	if (flags & CLONE_FS)
		strlcat(str,"CLONE_FS|", MAXSTRINGLEN);
	if (flags & CLONE_FILES)
		strlcat(str, "CLONE_FILES|", MAXSTRINGLEN);
	if (flags & CLONE_SIGHAND)
		strlcat(str, "CLONE_SIGHAND|", MAXSTRINGLEN);
	if (flags & CLONE_PTRA
		break;

	case SIGQUIT:

		res = "SIGQUIT";

		break;

	case SIGILL:

		res = "SIGILL";

		break;

	case SIGTRAP:

		res = "SIGTRAP";

		break;

	case SIGABRT:

		res = "SIGABRT";

		break;

	case SIGBUS:

		res = "SIGBUS";

		break;

	case SIGFPE:

		res = "SIGFPE";

		break;

	case SIGKILL:

		res = "SIGKILL";

		break;

	case SIGUSR1:

		res = "SIGUSR1";

		break;

	case SIGSEGV:

		res = "SIGSEGV";

		break;

	case SIGPIPE:

		res = "SIGPIPE";

		break;

	case SIGUSR2:

		res = "SIGUSR2";

		break;

	case SIGALRM:

		res = "SIGALRM";

		break;

	case SIGTERM:

		res = "SIGTERM";

		break;

	case SIGCHLD:

		res = "SIGCHLD";

		break;

	case SIGCONT:

		res = "SIGCONT";

		break;

	case SIGSTOP:

		res = "SIGSTOP";

		break;

	case SIGTSTP:

		res = "SIGTSTP";

		break;

	case SIGTTIN:

		res = "SIGTTIN";

		break;

	case SIGTTOU:

		res = "SIGTTOU";

		break;

	case SIGURG:

		res = "SIGURG";

		break;

	case SIGPROF:

		res = "SIGPROF";

		break;

	case SIGWINCH:

		res = "SIGWINCH";

		break;

	case SIGVTALRM:

		res = "SIGVTALRM";

		break;

	case SIGIO:

		res = "SIGIO/SIGPOLL";

		break;

	case SIGPWR:

		res = "SIGPWR";

		break;

	}

	if (res)

		strlcpy (THIS->__retvalue, res, MAXSTRINGLEN);

	else

		snprintf(THIS->__retvalue, MAXSTRINGLEN, "%d", sig);

%}

function _struct_rlimit_u (uaddr)

%{ /* pure */

	struct rlimit rl;

	char *ptr = (char *)(unsigned long)THIS->uaddr;



	if (ptr == NULL)

		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);

	else {

		if (_stp_copy_from_user((char *)&rl, ptr, sizeof(struct rlimit)) == 0)

			snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%ld,%ld]",

				rl.rlim_cur, rl.rlim_max);

		else

			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);

	}

%}

function _fildes_u (uaddr)

%{ /* pure */

	int fd[2];

	char *ptr = (char *)(unsigned long)THIS->uaddr;



	if (ptr == NULL)

		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);

	else {

		if (_stp_copy_from_user((char *)&fd, ptr, 2*sizeof(int)) == 0)

			 snprintf(THIS->__retvalue, MAXSTRINGLEN, "[%d, %d]", fd[0], fd[1]);

		else

			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);

	}

%}

function _fd_set_u (uaddr)

%{ /* pure */

	fd_set fdset;

	char *ptr = (char *)(unsigned long)THIS->uaddr;



	if (ptr == NULL)

		strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);

	else {

		if (_stp_copy_from_user((char *)&fdset, ptr, sizeof(fd_set)) == 0)

			snprintf(THIS->__retvalue, MAXSTRINGLEN, "[0x%lx, 0x%lx, ...]", (long) fdset.fds_bits[0],  fdset.fds_bits[1]);

		else

			strlcpy (THIS->__retvalue, "UNKNOWN", MAXSTRINGLEN);

	} 

%}

function _semctl_cmd (cmd)

%{ /* pure */

	int cmd = THIS->cmd;

	char *res = 0;



	switch(cmd) {

		case IPC_INFO:

			res = "IPC_INFO";

			break;

		case SEM_INFO:

			res = "SEM_INFO";

			break;

		case SEM_STAT:

			res = "SEM_STAT";

			break;

		case GETALL:

			res = "GETALL";

			break;

		case GETVAL:

			res = "GETVAL";

			break;

		case GETPID:

			res = "GETPID";

			break;

		case GETNCNT:

			res = "GETNCNT";

			break;

		case GETZCNT:

			res = "GETZCNT";

			break;

		case IPC_STAT:

			res = "IPC_STAT";

			break;

		case SETVAL:

			res = "SETVAL";

			break;

		case SETALL:

			res = "SETALL";

			break;

		case IPC_RMID:

			res = "IPC_RMID";

			break;

		case IPC_SET:

			res = "IPC_SET";

			break;

	}

	if (res)

		strlcpy (THIS->__retvalue, res, MAXSTRINGLEN);

	else

		snprintf(THIS->__retvalue, MAXSTRINGLEN, "%d", cmd);	

%}

function __sem_flags (semflg)

%{ /* pure */

	long semflg = THIS->semflg;

	char *str = THIS->__retvalue;



	if (semflg & IPC_CREAT)

		strlcat(str, "IPC_CREAT|", MAXSTRINGLEN);

	if (semflg & IPC_EXCL)

		strlcat(str, "IPC_EXCL|", MAXSTRINGLEN);



	str[strlen(str)-1] = 0;

%}

function __fork_flags (flags)

%{ /* pure */

	int len;

  	long flags = THIS->flags;

	char *str = THIS->__retvalue;

	if (flags & CLONE_FS)

		strlcat(str,"CLONE_FS|", MAXSTRINGLEN);

	if (flags & CLONE_FILES)

		strlcat(str, "CLONE_FILES|", MAXSTRINGLEN);

	if (flags & CLONE_SIGHAND)

		strlcat(str, "CLONE_SIGHAND|", MAXSTRINGLEN);
CE)
		strlcat(str, "CLONE_PTRACE|", MAXSTRINGLEN);
	if (flags & CLONE_VFORK)
		strlcat(str, "CLONE_VFORK|", MAXSTRINGLEN);
	if (flags & CLONE_PARENT)
		strlcat(str, "CLONE_PARENT|", MAXSTRINGLEN);
	if (flags & CLONE_THREAD)
		strlcat(str, "CLONE_THREAD|", MAXSTRINGLEN);
	if (flags & CLONE_SYSVSEM)
		strlcat(str, "CLONE_SYSVSEM|", MAXSTRINGLEN);
	if (flags & CLONE_SETTLS)
		strlcat(str, "CLONE_SETTLS|", MAXSTRINGLEN);
	if (flags & CLONE_PARENT_SETTID)
		strlcat(str, "CLONE_PARENT_SETTID|", MAXSTRINGLEN);
	if (flags & CLONE_CHILD_CLEARTID)
		strlcat(str, "CLONE_CHILD_CLEARTID|", MAXSTRINGLEN);
	if (flags & CLONE_UNTRACED)
		strlcat(str, "CLONE_UNTRACED|", MAXSTRINGLEN);
	if (flags & CLONE_CHILD_SETTID)
		strlcat(str, "CLONE_CHILD_SETTID|", MAXSTRINGLEN);
	if (flags & CLONE_STOPPED)
		strlcat(str, "CLONE_STOPPED|", MAXSTRINGLEN);
	len = strlen(str);
	if (len)
		str[strlen(str)-1] = 0;
%}
function __get_argv (a)
%{ /* pure */
  	char __user *__user *argv = (char __user *__user *)(long)THIS->a;
	char __user *vstr;
	int space, rc, len = MAXSTRINGLEN;
	char *str = THIS->__retvalue;
	char buf[80];
	char *ptr = buf;

	if (argv)
		argv++;

	while (argv != NULL) {
		if (get_user (vstr, argv))
      			break;

		if (vstr == NULL)
			break;

		rc = _stp_strncpy_from_user(buf, vstr, 79);
		if (rc <= 0)
			break;

		/* check for whitespace in string */
		buf[rc] = 0;
		ptr = buf;
		space = 0;
		while (*ptr && rc--) {
			if (isspace(*ptr++)) {
				space = 1;
				break;
			}
		}

		if (len != MAXSTRINGLEN && len) {
			*str++=' ';
			len--;
		}

		if (space && len) {
			*str++='\"';
			len--;
		}
	
		rc = strlcpy (str, buf, len); 
		str += rc;
		len -= rc;

		if (space && len) {
			*str++='\"';
			len--;
		}

		argv++;
	}
	*str = 0;
%}
function __string (a)
%{ /* pure */
	char *str =(char *)(long)THIS->a;
	strlcpy(THIS->__retvalue, str, MAXSTRINGLEN);
%}
function _adjtx_mode_str (f)
{
if (((f) & (32769)) == (32769)) (bs) = (("ADJ_OFFSET_SINGLESHOT|") . (bs))

if ((f) & (16384)) (bs) = (("ADJ_TICK|") . (bs))

if ((f) & (32)) (bs) = (("ADJ_TIMECONST|") . (bs))

if ((f) & (16)) (bs) = (("ADJ_STATUS|") . (bs))

if ((f) & (8)) (bs) = (("ADJ_ESTERROR|") . (bs))

if ((f) & (4)) (bs) = (("ADJ_MAXERROR|") . (bs))

if ((f) & (2)) (bs) = (("ADJ_FREQUENCY|") . (bs))

if (((f) & (1)) && (((f) & (32769)) != (32769))) (bs) = (("ADJ_OFFSET|") . (bs))

return substr(bs, 0, (strlen(bs)) - (1))
}
function _sigprocmask_how_str (how)
{
if ((how) == (0)) return "SIG_BLOCK"

if ((how) == (1)) return "SIG_UNBLOCK"

if ((how) == (2)) return "SIG_SETMASK"

return ""
}
function _itimer_which_str (which)
{
if ((which) == (0)) return "ITIMER_REAL"

if ((which) == (1)) return "ITIMER_VIRTUAL"

if ((which) == (2)) return "ITIMER_PROF"

return ""
}
function _get_wc_str (wc)
{
if ((wc) == (0)) return "CLOCK_REALTIME"

if ((wc) == (1)) return "CLOCK_MONOTONIC"

if ((wc) == (2)) return "CLOCK_PROCESS_CPUTIME_ID"

if ((wc) == (3)) return "CLOCK_THREAD_CPUTIME_ID"

if ((wc) == (4)) return "CLOCK_REALTIME_HR"

if ((wc) == (5)) return "CLOCK_MONOTONIC_HR"

return ""
}
function _flock_cmd_str (c)
{
if ((c) & (1)) (bs) = (("LOCK_SH|") . (bs))

if ((c) & (2)) (bs) = (("LOCK_EX|") . (bs))

if ((c) & (8)) (bs) = (("LOCK_UN|") . (bs))

if ((c) & (4)) (bs) = (("LOCK_NB|") . (bs))

return substr(bs, 0, (strlen(bs)) - (1))
}
function _sys_open_flag_str (f)
%{ /* pure */
	int flags = (int)THIS->f;
	int acc = flags & O_ACCMODE;

	switch (acc) {
	case O_WRONLY:
		strlcpy (THIS->__retvalue, "O_WRONLY", MAXSTRINGLEN);
		break;
	case O_RDWR:
		strlcpy (THIS->__retvalue, "O_RDWR", MAXSTRINGLEN);
		break;
	default:
		strlcpy (THIS->__retvalue, "O_RDONLY", MAXSTRINGLEN);
	}

#ifdef O_APPEND
	if (flags & O_APPEND)
		strlcat (THIS->__retvalue, "|O_APPEND", MAXSTRINGLEN);
#endif
#ifdef O_CREAT
	if (flags & O_CREAT)
		strlcat (THIS->__retvalue, "|O_CREAT", MAXSTRINGLEN);
#endif
#ifdef O_ASYNC
	if (flags & O_ASYNC)
		st
	if (flags & CLONE_PTRACE)

		strlcat(str, "CLONE_PTRACE|", MAXSTRINGLEN);

	if (flags & CLONE_VFORK)

		strlcat(str, "CLONE_VFORK|", MAXSTRINGLEN);

	if (flags & CLONE_PARENT)

		strlcat(str, "CLONE_PARENT|", MAXSTRINGLEN);

	if (flags & CLONE_THREAD)

		strlcat(str, "CLONE_THREAD|", MAXSTRINGLEN);

	if (flags & CLONE_SYSVSEM)

		strlcat(str, "CLONE_SYSVSEM|", MAXSTRINGLEN);

	if (flags & CLONE_SETTLS)

		strlcat(str, "CLONE_SETTLS|", MAXSTRINGLEN);

	if (flags & CLONE_PARENT_SETTID)

		strlcat(str, "CLONE_PARENT_SETTID|", MAXSTRINGLEN);

	if (flags & CLONE_CHILD_CLEARTID)

		strlcat(str, "CLONE_CHILD_CLEARTID|", MAXSTRINGLEN);

	if (flags & CLONE_UNTRACED)

		strlcat(str, "CLONE_UNTRACED|", MAXSTRINGLEN);

	if (flags & CLONE_CHILD_SETTID)

		strlcat(str, "CLONE_CHILD_SETTID|", MAXSTRINGLEN);

	if (flags & CLONE_STOPPED)

		strlcat(str, "CLONE_STOPPED|", MAXSTRINGLEN);

	len = strlen(str);

	if (len)

		str[strlen(str)-1] = 0;

%}

function __get_argv (a)

%{ /* pure */

  	char __user *__user *argv = (char __user *__user *)(long)THIS->a;

	char __user *vstr;

	int space, rc, len = MAXSTRINGLEN;

	char *str = THIS->__retvalue;

	char buf[80];

	char *ptr = buf;



	if (argv)

		argv++;



	while (argv != NULL) {

		if (get_user (vstr, argv))

      			break;



		if (vstr == NULL)

			break;



		rc = _stp_strncpy_from_user(buf, vstr, 79);

		if (rc <= 0)

			break;



		/* check for whitespace in string */

		buf[rc] = 0;

		ptr = buf;

		space = 0;

		while (*ptr && rc--) {

			if (isspace(*ptr++)) {

				space = 1;

				break;

			}

		}



		if (len != MAXSTRINGLEN && len) {

			*str++=' ';

			len--;

		}



		if (space && len) {

			*str++='\"';

			len--;

		}

	

		rc = strlcpy (str, buf, len); 

		str += rc;

		len -= rc;



		if (space && len) {

			*str++='\"';

			len--;

		}



		argv++;

	}

	*str = 0;

%}

function __string (a)

%{ /* pure */

	char *str =(char *)(long)THIS->a;

	strlcpy(THIS->__retvalue, str, MAXSTRINGLEN);

%}

function _adjtx_mode_str (f)

{

if (((f) & (32769)) == (32769)) (bs) = (("ADJ_OFFSET_SINGLESHOT|") . (bs))



if ((f) & (16384)) (bs) = (("ADJ_TICK|") . (bs))



if ((f) & (32)) (bs) = (("ADJ_TIMECONST|") . (bs))



if ((f) & (16)) (bs) = (("ADJ_STATUS|") . (bs))



if ((f) & (8)) (bs) = (("ADJ_ESTERROR|") . (bs))



if ((f) & (4)) (bs) = (("ADJ_MAXERROR|") . (bs))



if ((f) & (2)) (bs) = (("ADJ_FREQUENCY|") . (bs))



if (((f) & (1)) && (((f) & (32769)) != (32769))) (bs) = (("ADJ_OFFSET|") . (bs))



return substr(bs, 0, (strlen(bs)) - (1))

}

function _sigprocmask_how_str (how)

{

if ((how) == (0)) return "SIG_BLOCK"



if ((how) == (1)) return "SIG_UNBLOCK"



if ((how) == (2)) return "SIG_SETMASK"



return ""

}

function _itimer_which_str (which)

{

if ((which) == (0)) return "ITIMER_REAL"



if ((which) == (1)) return "ITIMER_VIRTUAL"



if ((which) == (2)) return "ITIMER_PROF"



return ""

}

function _get_wc_str (wc)

{

if ((wc) == (0)) return "CLOCK_REALTIME"



if ((wc) == (1)) return "CLOCK_MONOTONIC"



if ((wc) == (2)) return "CLOCK_PROCESS_CPUTIME_ID"



if ((wc) == (3)) return "CLOCK_THREAD_CPUTIME_ID"



if ((wc) == (4)) return "CLOCK_REALTIME_HR"



if ((wc) == (5)) return "CLOCK_MONOTONIC_HR"



return ""

}

function _flock_cmd_str (c)

{

if ((c) & (1)) (bs) = (("LOCK_SH|") . (bs))



if ((c) & (2)) (bs) = (("LOCK_EX|") . (bs))



if ((c) & (8)) (bs) = (("LOCK_UN|") . (bs))



if ((c) & (4)) (bs) = (("LOCK_NB|") . (bs))



return substr(bs, 0, (strlen(bs)) - (1))

}

function _sys_open_flag_str (f)

%{ /* pure */

	int flags = (int)THIS->f;

	int acc = flags & O_ACCMODE;



	switch (acc) {

	case O_WRONLY:

		strlcpy (THIS->__retvalue, "O_WRONLY", MAXSTRINGLEN);

		break;

	case O_RDWR:

		strlcpy (THIS->__retvalue, "O_RDWR", MAXSTRINGLEN);

		break;

	default:

		strlcpy (THIS->__retvalue, "O_RDONLY", MAXSTRINGLEN);

	}



#ifdef O_APPEND

	if (flags & O_APPEND)

		strlcat (THIS->__retvalue, "|O_APPEND", MAXSTRINGLEN);

#endif

#ifdef O_CREAT

	if (flags & O_CREAT)

		strlcat (THIS->__retvalue, "|O_CREAT", MAXSTRINGLEN);

#endif

#ifdef O_ASYNC

	if (flags & O_ASYNC)
rlcat (THIS->__retvalue, "|O_ASYNC", MAXSTRINGLEN);
#endif
#ifdef O_DIRECT
	if (flags & O_DIRECT)
		strlcat (THIS->__retvalue, "|O_DIRECT", MAXSTRINGLEN);
#endif
#ifdef O_DIRECTORY
	if (flags & O_DIRECTORY)
		strlcat (THIS->__retvalue, "|O_DIRECTORY", MAXSTRINGLEN);
#endif
#ifdef O_EXCL
	if (flags & O_EXCL)
		strlcat (THIS->__retvalue, "|O_EXCL", MAXSTRINGLEN);
#endif
#ifdef O_LARGEFILE
	if (flags & O_LARGEFILE)
		strlcat (THIS->__retvalue, "|O_LARGEFILE", MAXSTRINGLEN);
#endif
#ifdef O_NOATIME
	if (flags & O_NOATIME)
		strlcat (THIS->__retvalue, "|O_NOATIME", MAXSTRINGLEN);
#endif
#ifdef O_NOCTTY
	if (flags & O_NOCTTY)
		strlcat (THIS->__retvalue, "|O_NOCTTY", MAXSTRINGLEN);
#endif
#ifdef O_NOFOLLOW
	if (flags & O_NOFOLLOW)
		strlcat (THIS->__retvalue, "|O_NOFOLLOW", MAXSTRINGLEN);
#endif
#ifdef O_NONBLOCK
	if (flags & O_NONBLOCK)
		strlcat (THIS->__retvalue, "|O_NONBLOCK", MAXSTRINGLEN);
#endif
#ifdef O_SYNC
	if (flags & O_SYNC)
		strlcat (THIS->__retvalue, "|O_SYNC", MAXSTRINGLEN);
#endif
#ifdef O_TRUNC
	if (flags & O_TRUNC)
		strlcat (THIS->__retvalue, "|O_TRUNC", MAXSTRINGLEN);
#endif
%}
function _access_mode_str (m)
{
if (((m) & (7)) == (0)) return "F_OK"

if ((m) & (4)) (bs) = (("R_OK |") . (bs))

if ((m) & (2)) (bs) = (("W_OK |") . (bs))

if ((m) & (1)) (bs) = (("X_OK |") . (bs))

return substr(bs, 0, (strlen(bs)) - (2))
}
function _sys_open_mode_str (f)
{
if (((f) & (448)) == (448)) (bs) = (("S_IRWXU|") . (bs))
else {
if ((f) & (256)) (bs) = (("S_IRUSR|") . (bs))

if ((f) & (128)) (bs) = (("S_IWUSR|") . (bs))

if ((f) & (64)) (bs) = (("S_IXUSR|") . (bs))

}

if (((f) & (56)) == (56)) (bs) = (("S_IRWXG|") . (bs))
else {
if ((f) & (32)) (bs) = (("S_IRGRP|") . (bs))

if ((f) & (16)) (bs) = (("S_IWGRP|") . (bs))

if ((f) & (8)) (bs) = (("S_IXGRP|") . (bs))

}

if (((f) & (7)) == (7)) (bs) = (("S_IRWXO|") . (bs))
else {
if ((f) & (4)) (bs) = (("S_IROTH|") . (bs))

if ((f) & (2)) (bs) = (("S_IWOTH|") . (bs))

if ((f) & (1)) (bs) = (("S_IXOTH|") . (bs))

}

return substr(bs, 0, (strlen(bs)) - (1))
}
function _mknod_mode_str (mode)
{
if (((mode) & (32768)) == (32768)) return ("S_IFREG|") . (_sys_open_mode_str(mode))

if (((mode) & (8192)) == (8192)) return ("S_IFCHR|") . (_sys_open_mode_str(mode))

if (((mode) & (24576)) == (24576)) return ("S_IFBLK|") . (_sys_open_mode_str(mode))

if (((mode) & (4096)) == (4096)) return ("S_IFIFO|") . (_sys_open_mode_str(mode))

if (((mode) & (49152)) == (49152)) return ("S_IFSOCK|") . (_sys_open_mode_str(mode))

return ""
}
function _msync_flag_str (f)
{
if ((f) & ((7) == (0))) return ""

if ((f) & (4)) (bs) = (("MS_SYNC|") . (bs))

if ((f) & (2)) (bs) = (("MS_INVALIDATE|") . (bs))

if ((f) & (1)) (bs) = (("MS_ASYNC|") . (bs))

return substr(bs, 0, (strlen(bs)) - (1))
}
function _wait4_opt_str (f)
{
if ((f) & (16777216)) (bs) = (("WNOWAIT|") . (bs))

if ((f) & (8)) (bs) = (("WCONTINUED|") . (bs))

if ((f) & (4)) (bs) = (("WEXITED|") . (bs))

if ((f) & (2)) (bs) = (("WSTOPPED|") . (bs))

if ((f) & (1)) (bs) = (("WNOHANG|") . (bs))

return substr(bs, 0, (strlen(bs)) - (1))
}
function _send_flags_str (f)
{
if ((f) & (1)) (bs) = (("MSG_OOB|") . (bs))

if ((f) & (128)) (bs) = (("MSG_EOR|") . (bs))

if ((f) & (4)) (bs) = (("MSG_DONTROUTE|") . (bs))

if ((f) & (64)) (bs) = (("MSG_DONTWAIT|") . (bs))

if ((f) & (16384)) (bs) = (("MSG_NOSIGNAL|") . (bs))

if ((f) & (2048)) (bs) = (("MSG_CONFIRM|") . (bs))

return substr(bs, 0, (strlen(bs)) - (1))
}
function _recvflags_str (f)
{
if ((f) & (1)) (bs) = (("MSG_OOB|") . (bs))

if ((f) & (2)) (bs) = (("MSG_PEEK|") . (bs))

if ((f) & (32)) (bs) = (("MSG_TRUNC|") . (bs))

if ((f) & (256)) (bs) = (("MSG_WAITALL|") . (bs))

if ((f) & (8192)) (bs) = (("MSG_ERRQUEUE|") . (bs))

return substr(bs, 0, (strlen(bs)) - (1))
}
function _mlockall_flags_str (f)
{
if ((f) & (1)) (bs) = (("MCL_CURRENT|") . (bs))

if ((f) & (2)) (bs) = (("MCL_FUTURE|") . (bs))

return substr(bs, 0, (strlen(bs)) - (1))
}
		strlcat (THIS->__retvalue, "|O_ASYNC", MAXSTRINGLEN);

#endif

#ifdef O_DIRECT

	if (flags & O_DIRECT)

		strlcat (THIS->__retvalue, "|O_DIRECT", MAXSTRINGLEN);

#endif

#ifdef O_DIRECTORY

	if (flags & O_DIRECTORY)

		strlcat (THIS->__retvalue, "|O_DIRECTORY", MAXSTRINGLEN);

#endif

#ifdef O_EXCL

	if (flags & O_EXCL)

		strlcat (THIS->__retvalue, "|O_EXCL", MAXSTRINGLEN);

#endif

#ifdef O_LARGEFILE

	if (flags & O_LARGEFILE)

		strlcat (THIS->__retvalue, "|O_LARGEFILE", MAXSTRINGLEN);

#endif

#ifdef O_NOATIME

	if (flags & O_NOATIME)

		strlcat (THIS->__retvalue, "|O_NOATIME", MAXSTRINGLEN);

#endif

#ifdef O_NOCTTY

	if (flags & O_NOCTTY)

		strlcat (THIS->__retvalue, "|O_NOCTTY", MAXSTRINGLEN);

#endif

#ifdef O_NOFOLLOW

	if (flags & O_NOFOLLOW)

		strlcat (THIS->__retvalue, "|O_NOFOLLOW", MAXSTRINGLEN);

#endif

#ifdef O_NONBLOCK

	if (flags & O_NONBLOCK)

		strlcat (THIS->__retvalue, "|O_NONBLOCK", MAXSTRINGLEN);

#endif

#ifdef O_SYNC

	if (flags & O_SYNC)

		strlcat (THIS->__retvalue, "|O_SYNC", MAXSTRINGLEN);

#endif

#ifdef O_TRUNC

	if (flags & O_TRUNC)

		strlcat (THIS->__retvalue, "|O_TRUNC", MAXSTRINGLEN);

#endif

%}

function _access_mode_str (m)

{

if (((m) & (7)) == (0)) return "F_OK"



if ((m) & (4)) (bs) = (("R_OK |") . (bs))



if ((m) & (2)) (bs) = (("W_OK |") . (bs))



if ((m) & (1)) (bs) = (("X_OK |") . (bs))



return substr(bs, 0, (strlen(bs)) - (2))

}

function _sys_open_mode_str (f)

{

if (((f) & (448)) == (448)) (bs) = (("S_IRWXU|") . (bs))

else {

if ((f) & (256)) (bs) = (("S_IRUSR|") . (bs))



if ((f) & (128)) (bs) = (("S_IWUSR|") . (bs))



if ((f) & (64)) (bs) = (("S_IXUSR|") . (bs))



}



if (((f) & (56)) == (56)) (bs) = (("S_IRWXG|") . (bs))

else {

if ((f) & (32)) (bs) = (("S_IRGRP|") . (bs))



if ((f) & (16)) (bs) = (("S_IWGRP|") . (bs))



if ((f) & (8)) (bs) = (("S_IXGRP|") . (bs))



}



if (((f) & (7)) == (7)) (bs) = (("S_IRWXO|") . (bs))

else {

if ((f) & (4)) (bs) = (("S_IROTH|") . (bs))



if ((f) & (2)) (bs) = (("S_IWOTH|") . (bs))



if ((f) & (1)) (bs) = (("S_IXOTH|") . (bs))



}



return substr(bs, 0, (strlen(bs)) - (1))

}

function _mknod_mode_str (mode)

{

if (((mode) & (32768)) == (32768)) return ("S_IFREG|") . (_sys_open_mode_str(mode))



if (((mode) & (8192)) == (8192)) return ("S_IFCHR|") . (_sys_open_mode_str(mode))



if (((mode) & (24576)) == (24576)) return ("S_IFBLK|") . (_sys_open_mode_str(mode))



if (((mode) & (4096)) == (4096)) return ("S_IFIFO|") . (_sys_open_mode_str(mode))



if (((mode) & (49152)) == (49152)) return ("S_IFSOCK|") . (_sys_open_mode_str(mode))



return ""

}

function _msync_flag_str (f)

{

if ((f) & ((7) == (0))) return ""



if ((f) & (4)) (bs) = (("MS_SYNC|") . (bs))



if ((f) & (2)) (bs) = (("MS_INVALIDATE|") . (bs))



if ((f) & (1)) (bs) = (("MS_ASYNC|") . (bs))



return substr(bs, 0, (strlen(bs)) - (1))

}

function _wait4_opt_str (f)

{

if ((f) & (16777216)) (bs) = (("WNOWAIT|") . (bs))



if ((f) & (8)) (bs) = (("WCONTINUED|") . (bs))



if ((f) & (4)) (bs) = (("WEXITED|") . (bs))



if ((f) & (2)) (bs) = (("WSTOPPED|") . (bs))



if ((f) & (1)) (bs) = (("WNOHANG|") . (bs))



return substr(bs, 0, (strlen(bs)) - (1))

}

function _send_flags_str (f)

{

if ((f) & (1)) (bs) = (("MSG_OOB|") . (bs))



if ((f) & (128)) (bs) = (("MSG_EOR|") . (bs))



if ((f) & (4)) (bs) = (("MSG_DONTROUTE|") . (bs))



if ((f) & (64)) (bs) = (("MSG_DONTWAIT|") . (bs))



if ((f) & (16384)) (bs) = (("MSG_NOSIGNAL|") . (bs))



if ((f) & (2048)) (bs) = (("MSG_CONFIRM|") . (bs))



return substr(bs, 0, (strlen(bs)) - (1))

}

function _recvflags_str (f)

{

if ((f) & (1)) (bs) = (("MSG_OOB|") . (bs))



if ((f) & (2)) (bs) = (("MSG_PEEK|") . (bs))



if ((f) & (32)) (bs) = (("MSG_TRUNC|") . (bs))



if ((f) & (256)) (bs) = (("MSG_WAITALL|") . (bs))



if ((f) & (8192)) (bs) = (("MSG_ERRQUEUE|") . (bs))



return substr(bs, 0, (strlen(bs)) - (1))

}

function _mlockall_flags_str (f)

{

if ((f) & (1)) (bs) = (("MCL_CURRENT|") . (bs))



if ((f) & (2)) (bs) = (("MCL_FUTURE|") . (bs))



return substr(bs, 0, (strlen(bs)) - (1))

function _module_flags_str (f)
{
if (!((f) & (2048))) (bs) = ("WAIT|")

if ((f) & (512)) (bs) = ((bs) . ("FORCE|"))

return substr(bs, 0, (strlen(bs)) - (1))
}
function _sched_policy_str (policy)
{
if ((policy) == (0)) return "SCHED_OTHER"

if ((policy) == (1)) return "SCHED_FIFO"

if ((policy) == (2)) return "SCHED_RR"

return ""
}
function _priority_which_str (which)
{
if ((which) == (0)) return "PRIO_PROCESS"

if ((which) == (1)) return "PRIO_PGRP"

if ((which) == (2)) return "PRIO_USER"

return ""
}
function _shutdown_how_str (how)
{
if ((how) == (0)) return "SHUT_RD"

if ((how) == (1)) return "SHUT_WR"

if ((how) == (2)) return "SHUT_RDWR"

return ""
}
function _reboot_magic_str (magic)
{
if ((magic) == (4276215469)) return "LINUX_REBOOT_MAGIC1"

if ((magic) == (672274793)) return "LINUX_REBOOT_MAGIC2"

if ((magic) == (85072278)) return "LINUX_REBOOT_MAGIC2A"

if ((magic) == (369367448)) return "LINUX_REBOOT_MAGIC2B"

if ((magic) == (537993216)) return "LINUX_REBOOT_MAGIC2C"

return ""
}
function _reboot_flag_str (flag)
{
if ((flag) == (19088743)) return "LINUX_REBOOT_CMD_RESTART"

if ((flag) == (3454992675)) return "LINUX_REBOOT_CMD_HALT"

if ((flag) == (1126301404)) return "LINUX_REBOOT_CMD_POWER_OFF"

if ((flag) == (2712847316)) return "LINUX_REBOOT_CMD_RESTART2"

if ((flag) == (2309737967)) return "LINUX_REBOOT_CMD_CAD_ON"

if ((flag) == (0)) return "LINUX_REBOOT_CMD_CAD_OFF"

return ""
}
function _waitid_which_str (flag)
{
if ((flag) == (0)) return "P_ALL"

if ((flag) == (1)) return "P_PID"

if ((flag) == (2)) return "P_PGID"

return ""
}
function _futex_op_str (op)
{
if ((op) == (0)) return "FUTEX_WAIT"

if ((op) == (1)) return "FUTEX_WAKE"

if ((op) == (2)) return "FUTEX_FD"

if ((op) == (3)) return "FUTEX_REQUEUE"

if ((op) == (4)) return "FUTEX_CMP_REQUEUE"

return ""
}
function _mountflags_str (op)
%{ /* pure */
	int len, op = THIS->op;
	char *str = THIS->__retvalue;
	if (op & MS_BIND)
		strlcat(str,"MS_BIND|",MAXSTRINGLEN);
	if (op & MS_DIRSYNC)
		strlcat(str,"MS_DIRSYNC|",MAXSTRINGLEN);
	if (op & MS_MANDLOCK)
		strlcat(str,"MS_MANDLOCK|",MAXSTRINGLEN);
	if (op & MS_MOVE)
		strlcat(str,"MS_MOVE|",MAXSTRINGLEN);
	if (op & MS_NOATIME)
		strlcat(str,"MS_NOATIME|",MAXSTRINGLEN);
	if (op & MS_NODEV)
		strlcat(str,"MS_NODEV|",MAXSTRINGLEN);
	if (op & MS_NODIRATIME)
		strlcat(str,"MS_NODIRATIME|",MAXSTRINGLEN);
	if (op & MS_NOEXEC)
		strlcat(str,"MS_NOEXEC|",MAXSTRINGLEN);
	if (op & MS_NOSUID)
		strlcat(str,"MS_NOSUID|",MAXSTRINGLEN);
	if (op & MS_RDONLY)
		strlcat(str,"MS_RDONLY|",MAXSTRINGLEN);
	if (op & MS_REC)
		strlcat(str,"MS_REC|",MAXSTRINGLEN);
	if (op & MS_REMOUNT)
		strlcat(str,"MS_REMOUNT|",MAXSTRINGLEN);
	if (op & MS_SYNCHRONOUS)
		strlcat(str,"MS_SYNCHRONOUS|",MAXSTRINGLEN);
	if (op & MS_VERBOSE)
		strlcat(str,"MS_VERBOSE|",MAXSTRINGLEN);
	len = strlen(str);
	if (len)
		str[strlen(str)-1] = 0;
%}
function _umountflags_str (op)
%{ /* pure */
	int len, op = THIS->op;
	char *str = THIS->__retvalue;
	if (op == 0)
		strlcat(str,"0",MAXSTRINGLEN);
	else {
		if (op & MNT_FORCE)
			strlcat(str,"MNT_FORCE|",MAXSTRINGLEN);
		if (op & MNT_DETACH)
			strlcat(str,"MNT_DETACH|",MAXSTRINGLEN);
		if (op & MNT_EXPIRE)
			strlcat(str,"MNT_EXPIRE|",MAXSTRINGLEN);
		len = strlen(str);
		if (len)
			str[strlen(str)-1] = 0;
	}
%}
function _statfs_f_type_str (f)
{
if ((f) == (44533)) return "ADFS_SUPER_MAGIC"

if ((f) == (44543)) return "AFFS_SUPER_MAGIC"

if ((f) == (1111905073)) return "BEFS_SUPER_MAGIC"

if ((f) == (464386766)) return "BFS_MAGIC"

if ((f) == (4283649346)) return "CIFS_MAGIC_NUMBER"

if ((f) == (1937076805)) return "CODA_SUPER_MAGIC"

if ((f) == (19920823)) return "COH_SUPER_MAGIC"

if ((f) == (684539205)) return "CRAMFS_MAGIC"

if ((f) == (4979)) return "DEVFS_SUPER_MAGIC"

if ((f) == (4278867)) return "EFS_SUPER_MAGIC"

if ((f) == (4989)) return "EXT_SUPER_MAGIC"

if ((f) == (61265)) return "EXT2_OLD_SUPER_MAGIC"

if ((f) == (612
}

function _module_flags_str (f)

{

if (!((f) & (2048))) (bs) = ("WAIT|")



if ((f) & (512)) (bs) = ((bs) . ("FORCE|"))



return substr(bs, 0, (strlen(bs)) - (1))

}

function _sched_policy_str (policy)

{

if ((policy) == (0)) return "SCHED_OTHER"



if ((policy) == (1)) return "SCHED_FIFO"



if ((policy) == (2)) return "SCHED_RR"



return ""

}

function _priority_which_str (which)

{

if ((which) == (0)) return "PRIO_PROCESS"



if ((which) == (1)) return "PRIO_PGRP"



if ((which) == (2)) return "PRIO_USER"



return ""

}

function _shutdown_how_str (how)

{

if ((how) == (0)) return "SHUT_RD"



if ((how) == (1)) return "SHUT_WR"



if ((how) == (2)) return "SHUT_RDWR"



return ""

}

function _reboot_magic_str (magic)

{

if ((magic) == (4276215469)) return "LINUX_REBOOT_MAGIC1"



if ((magic) == (672274793)) return "LINUX_REBOOT_MAGIC2"



if ((magic) == (85072278)) return "LINUX_REBOOT_MAGIC2A"



if ((magic) == (369367448)) return "LINUX_REBOOT_MAGIC2B"



if ((magic) == (537993216)) return "LINUX_REBOOT_MAGIC2C"



return ""

}

function _reboot_flag_str (flag)

{

if ((flag) == (19088743)) return "LINUX_REBOOT_CMD_RESTART"



if ((flag) == (3454992675)) return "LINUX_REBOOT_CMD_HALT"



if ((flag) == (1126301404)) return "LINUX_REBOOT_CMD_POWER_OFF"



if ((flag) == (2712847316)) return "LINUX_REBOOT_CMD_RESTART2"



if ((flag) == (2309737967)) return "LINUX_REBOOT_CMD_CAD_ON"



if ((flag) == (0)) return "LINUX_REBOOT_CMD_CAD_OFF"



return ""

}

function _waitid_which_str (flag)

{

if ((flag) == (0)) return "P_ALL"



if ((flag) == (1)) return "P_PID"



if ((flag) == (2)) return "P_PGID"



return ""

}

function _futex_op_str (op)

{

if ((op) == (0)) return "FUTEX_WAIT"



if ((op) == (1)) return "FUTEX_WAKE"



if ((op) == (2)) return "FUTEX_FD"



if ((op) == (3)) return "FUTEX_REQUEUE"



if ((op) == (4)) return "FUTEX_CMP_REQUEUE"



return ""

}

function _mountflags_str (op)

%{ /* pure */

	int len, op = THIS->op;

	char *str = THIS->__retvalue;

	if (op & MS_BIND)

		strlcat(str,"MS_BIND|",MAXSTRINGLEN);

	if (op & MS_DIRSYNC)

		strlcat(str,"MS_DIRSYNC|",MAXSTRINGLEN);

	if (op & MS_MANDLOCK)

		strlcat(str,"MS_MANDLOCK|",MAXSTRINGLEN);

	if (op & MS_MOVE)

		strlcat(str,"MS_MOVE|",MAXSTRINGLEN);

	if (op & MS_NOATIME)

		strlcat(str,"MS_NOATIME|",MAXSTRINGLEN);

	if (op & MS_NODEV)

		strlcat(str,"MS_NODEV|",MAXSTRINGLEN);

	if (op & MS_NODIRATIME)

		strlcat(str,"MS_NODIRATIME|",MAXSTRINGLEN);

	if (op & MS_NOEXEC)

		strlcat(str,"MS_NOEXEC|",MAXSTRINGLEN);

	if (op & MS_NOSUID)

		strlcat(str,"MS_NOSUID|",MAXSTRINGLEN);

	if (op & MS_RDONLY)

		strlcat(str,"MS_RDONLY|",MAXSTRINGLEN);

	if (op & MS_REC)

		strlcat(str,"MS_REC|",MAXSTRINGLEN);

	if (op & MS_REMOUNT)

		strlcat(str,"MS_REMOUNT|",MAXSTRINGLEN);

	if (op & MS_SYNCHRONOUS)

		strlcat(str,"MS_SYNCHRONOUS|",MAXSTRINGLEN);

	if (op & MS_VERBOSE)

		strlcat(str,"MS_VERBOSE|",MAXSTRINGLEN);

	len = strlen(str);

	if (len)

		str[strlen(str)-1] = 0;

%}

function _umountflags_str (op)

%{ /* pure */

	int len, op = THIS->op;

	char *str = THIS->__retvalue;

	if (op == 0)

		strlcat(str,"0",MAXSTRINGLEN);

	else {

		if (op & MNT_FORCE)

			strlcat(str,"MNT_FORCE|",MAXSTRINGLEN);

		if (op & MNT_DETACH)

			strlcat(str,"MNT_DETACH|",MAXSTRINGLEN);

		if (op & MNT_EXPIRE)

			strlcat(str,"MNT_EXPIRE|",MAXSTRINGLEN);

		len = strlen(str);

		if (len)

			str[strlen(str)-1] = 0;

	}

%}

function _statfs_f_type_str (f)

{

if ((f) == (44533)) return "ADFS_SUPER_MAGIC"



if ((f) == (44543)) return "AFFS_SUPER_MAGIC"



if ((f) == (1111905073)) return "BEFS_SUPER_MAGIC"



if ((f) == (464386766)) return "BFS_MAGIC"



if ((f) == (4283649346)) return "CIFS_MAGIC_NUMBER"



if ((f) == (1937076805)) return "CODA_SUPER_MAGIC"



if ((f) == (19920823)) return "COH_SUPER_MAGIC"



if ((f) == (684539205)) return "CRAMFS_MAGIC"



if ((f) == (4979)) return "DEVFS_SUPER_MAGIC"



if ((f) == (4278867)) return "EFS_SUPER_MAGIC"



if ((f) == (4989)) return "EXT_SUPER_MAGIC"



if ((f) == (61265)) return "EXT2_OLD_SUPER_MAGIC"


67)) return "EXT2_SUPER_MAGIC"

if ((f) == (61267)) return "EXT3_SUPER_MAGIC"

if ((f) == (16964)) return "HFS_SUPER_MAGIC"

if ((f) == (4187351113)) return "HPFS_SUPER_MAGIC"

if ((f) == (2508478710)) return "HUGETLBFS_MAGIC"

if ((f) == (38496)) return "ISOFS_SUPER_MAGIC"

if ((f) == (29366)) return "JFFS2_SUPER_MAGIC"

if ((f) == (827541066)) return "JFS_SUPER_MAGIC"

if ((f) == (4991)) return "MINIX_SUPER_MAGIC"

if ((f) == (5007)) return "MINIX_SUPER_MAGIC2"

if ((f) == (9320)) return "MINIX2_SUPER_MAGIC"

if ((f) == (9336)) return "MINIX2_SUPER_MAGIC2"

if ((f) == (19780)) return "MSDOS_SUPER_MAGIC"

if ((f) == (22092)) return "NCP_SUPER_MAGIC"

if ((f) == (26985)) return "NFS_SUPER_MAGIC"

if ((f) == (1397118030)) return "NTFS_SB_MAGIC"

if ((f) == (40865)) return "OPENPROM_SUPER_MAGIC"

if ((f) == (40864)) return "PROC_SUPER_MAGIC"

if ((f) == (47)) return "QNX4_SUPER_MAGIC"

if ((f) == (1382369651)) return "REISERFS_SUPER_MAGIC"

if ((f) == (29301)) return "ROMFS_MAGIC"

if ((f) == (20859)) return "SMB_SUPER_MAGIC"

if ((f) == (19920822)) return "SYSV2_SUPER_MAGIC"

if ((f) == (19920821)) return "SYSV4_SUPER_MAGIC"

if ((f) == (16914836)) return "TMPFS_MAGIC"

if ((f) == (352400198)) return "UDF_SUPER_MAGIC"

if ((f) == (72020)) return "UFS_MAGIC"

if ((f) == (40866)) return "USBDEVICE_SUPER_MAGIC"

if ((f) == (2768370933)) return "VXFS_SUPER_MAGIC"

if ((f) == (19920820)) return "XENIX_SUPER_MAGIC"

if ((f) == (1481003842)) return "XFS_SUPER_MAGIC"

if ((f) == (19911021)) return "_XIAFS_SUPER_MAGIC"

return ""
}
function _mmap_flags (flags)
{
if ((flags) & (1)) (msg) = ("MAP_SHARED|")

if ((flags) & (2)) (msg) = (("MAP_PRIVATE|") . (msg))

if ((flags) & (16)) (msg) = (("MAP_FIXED|") . (msg))

if ((flags) & (32)) (msg) = (("MAP_ANONYMOUS|") . (msg))

if ((flags) & (256)) (msg) = (("MAP_GROWSDOWN|") . (msg))

if ((flags) & (2048)) (msg) = (("MAP_DENYWRITE|") . (msg))

if ((flags) & (4096)) (msg) = (("MAP_EXECUTABLE|") . (msg))

if ((flags) & (8192)) (msg) = (("MAP_LOCKED|") . (msg))

if ((flags) & (16384)) (msg) = (("MAP_NORESERVE|") . (msg))

if ((flags) & (32768)) (msg) = (("MAP_POPULATE|") . (msg))

if ((flags) & (65536)) (msg) = (("MAP_NONBLOCK|") . (msg))

return substr(msg, 0, (strlen(msg)) - (1))
}
function _mprotect_prot_str (prot)
{
if (prot) {
if ((prot) & (1)) (ps) = ("PROT_READ|")

if ((prot) & (2)) (ps) = (("PROT_WRITE|") . (ps))

if ((prot) & (4)) (ps) = (("PROT_EXEC|") . (ps))

return substr(ps, 0, (strlen(ps)) - (1))
}

return "PROT_NONE"
}
function _madvice_advice_str (behavior)
{
if ((behavior) == (0)) return "MADV_NORMAL"

if ((behavior) == (1)) return "MADV_RANDOM"

if ((behavior) == (2)) return "MADV_SEQUENTIAL"

if ((behavior) == (3)) return "MADV_WILLNEED"

if ((behavior) == (4)) return "MADV_DONTNEED"

return ""
}
function _fadvice_advice_str (behavior)
{
if ((behavior) == (0)) return "FADV_NORMAL"

if ((behavior) == (1)) return "FADV_RANDOM"

if ((behavior) == (2)) return "FADV_SEQUENTIAL"

if ((behavior) == (3)) return "FADV_WILLNEED"

if ((behavior) == (4)) return "FADV_DONTNEED"

return ""
}
function _fcntl_cmd_str (cmd)
{
if ((cmd) == (0)) return "F_DUPFD"

if ((cmd) == (1)) return "F_GETFD"

if ((cmd) == (2)) return "F_SETFD"

if ((cmd) == (3)) return "F_GETFL"

if ((cmd) == (4)) return "F_SETFL"

if ((cmd) == (5)) return "F_GETLK"

if ((cmd) == (6)) return "F_SETLK"

if ((cmd) == (7)) return "F_SETLKW"

if ((cmd) == (8)) return "F_SETOWN"

if ((cmd) == (9)) return "F_GETOWN"

if ((cmd) == (10)) return "F_SETSIG"

if ((cmd) == (11)) return "F_GETLK64"

if ((cmd) == (12)) return "F_SETLK64"

if ((cmd) == (13)) return "F_SETLKW64"

return ""
}
function _seek_whence_str (w)
{
if ((w) == (0)) return "SEEK_SET"

if ((w) == (1)) return "SEEK_CUR"

if ((w) == (2)) return "SEEK_END"

return ""
}
function _quotactl_cmd_str (cmd)
{
if ((cmd) == (8388610)) return "Q_QUOTAON"

if ((cmd) == (8388611)) return "Q_QUOTAOF
if ((f) == (61267)) return "EXT2_SUPER_MAGIC"



if ((f) == (61267)) return "EXT3_SUPER_MAGIC"



if ((f) == (16964)) return "HFS_SUPER_MAGIC"



if ((f) == (4187351113)) return "HPFS_SUPER_MAGIC"



if ((f) == (2508478710)) return "HUGETLBFS_MAGIC"



if ((f) == (38496)) return "ISOFS_SUPER_MAGIC"



if ((f) == (29366)) return "JFFS2_SUPER_MAGIC"



if ((f) == (827541066)) return "JFS_SUPER_MAGIC"



if ((f) == (4991)) return "MINIX_SUPER_MAGIC"



if ((f) == (5007)) return "MINIX_SUPER_MAGIC2"



if ((f) == (9320)) return "MINIX2_SUPER_MAGIC"



if ((f) == (9336)) return "MINIX2_SUPER_MAGIC2"



if ((f) == (19780)) return "MSDOS_SUPER_MAGIC"



if ((f) == (22092)) return "NCP_SUPER_MAGIC"



if ((f) == (26985)) return "NFS_SUPER_MAGIC"



if ((f) == (1397118030)) return "NTFS_SB_MAGIC"



if ((f) == (40865)) return "OPENPROM_SUPER_MAGIC"



if ((f) == (40864)) return "PROC_SUPER_MAGIC"



if ((f) == (47)) return "QNX4_SUPER_MAGIC"



if ((f) == (1382369651)) return "REISERFS_SUPER_MAGIC"



if ((f) == (29301)) return "ROMFS_MAGIC"



if ((f) == (20859)) return "SMB_SUPER_MAGIC"



if ((f) == (19920822)) return "SYSV2_SUPER_MAGIC"



if ((f) == (19920821)) return "SYSV4_SUPER_MAGIC"



if ((f) == (16914836)) return "TMPFS_MAGIC"



if ((f) == (352400198)) return "UDF_SUPER_MAGIC"



if ((f) == (72020)) return "UFS_MAGIC"



if ((f) == (40866)) return "USBDEVICE_SUPER_MAGIC"



if ((f) == (2768370933)) return "VXFS_SUPER_MAGIC"



if ((f) == (19920820)) return "XENIX_SUPER_MAGIC"



if ((f) == (1481003842)) return "XFS_SUPER_MAGIC"



if ((f) == (19911021)) return "_XIAFS_SUPER_MAGIC"



return ""

}

function _mmap_flags (flags)

{

if ((flags) & (1)) (msg) = ("MAP_SHARED|")



if ((flags) & (2)) (msg) = (("MAP_PRIVATE|") . (msg))



if ((flags) & (16)) (msg) = (("MAP_FIXED|") . (msg))



if ((flags) & (32)) (msg) = (("MAP_ANONYMOUS|") . (msg))



if ((flags) & (256)) (msg) = (("MAP_GROWSDOWN|") . (msg))



if ((flags) & (2048)) (msg) = (("MAP_DENYWRITE|") . (msg))



if ((flags) & (4096)) (msg) = (("MAP_EXECUTABLE|") . (msg))



if ((flags) & (8192)) (msg) = (("MAP_LOCKED|") . (msg))



if ((flags) & (16384)) (msg) = (("MAP_NORESERVE|") . (msg))



if ((flags) & (32768)) (msg) = (("MAP_POPULATE|") . (msg))



if ((flags) & (65536)) (msg) = (("MAP_NONBLOCK|") . (msg))



return substr(msg, 0, (strlen(msg)) - (1))

}

function _mprotect_prot_str (prot)

{

if (prot) {

if ((prot) & (1)) (ps) = ("PROT_READ|")



if ((prot) & (2)) (ps) = (("PROT_WRITE|") . (ps))



if ((prot) & (4)) (ps) = (("PROT_EXEC|") . (ps))



return substr(ps, 0, (strlen(ps)) - (1))

}



return "PROT_NONE"

}

function _madvice_advice_str (behavior)

{

if ((behavior) == (0)) return "MADV_NORMAL"



if ((behavior) == (1)) return "MADV_RANDOM"



if ((behavior) == (2)) return "MADV_SEQUENTIAL"



if ((behavior) == (3)) return "MADV_WILLNEED"



if ((behavior) == (4)) return "MADV_DONTNEED"



return ""

}

function _fadvice_advice_str (behavior)

{

if ((behavior) == (0)) return "FADV_NORMAL"



if ((behavior) == (1)) return "FADV_RANDOM"



if ((behavior) == (2)) return "FADV_SEQUENTIAL"



if ((behavior) == (3)) return "FADV_WILLNEED"



if ((behavior) == (4)) return "FADV_DONTNEED"



return ""

}

function _fcntl_cmd_str (cmd)

{

if ((cmd) == (0)) return "F_DUPFD"



if ((cmd) == (1)) return "F_GETFD"



if ((cmd) == (2)) return "F_SETFD"



if ((cmd) == (3)) return "F_GETFL"



if ((cmd) == (4)) return "F_SETFL"



if ((cmd) == (5)) return "F_GETLK"



if ((cmd) == (6)) return "F_SETLK"



if ((cmd) == (7)) return "F_SETLKW"



if ((cmd) == (8)) return "F_SETOWN"



if ((cmd) == (9)) return "F_GETOWN"



if ((cmd) == (10)) return "F_SETSIG"



if ((cmd) == (11)) return "F_GETLK64"



if ((cmd) == (12)) return "F_SETLK64"



if ((cmd) == (13)) return "F_SETLKW64"



return ""

}

function _seek_whence_str (w)

{

if ((w) == (0)) return "SEEK_SET"



if ((w) == (1)) return "SEEK_CUR"



if ((w) == (2)) return "SEEK_END"



return ""

}

function _quotactl_cmd_str (cmd)

{

if ((cmd) == (8388610)) return "Q_QUOTAON"


F"

if ((cmd) == (8388615)) return "Q_GETQUOTA"

if ((cmd) == (8388616)) return "Q_SETQUOTA"

if ((cmd) == (8388613)) return "Q_GETINFO"

if ((cmd) == (8388614)) return "Q_SETINFO"

if ((cmd) == (8388612)) return "Q_GETFMT"

if ((cmd) == (8388609)) return "Q_SYNC"

if ((cmd) == (22529)) return "Q_XQUOTAON"

if ((cmd) == (22530)) return "Q_XQUOTAOFF"

if ((cmd) == (22531)) return "Q_XGETQUOTA"

if ((cmd) == (22532)) return "Q_XSETQLIM"

if ((cmd) == (22533)) return "Q_XGETQSTAT"

if ((cmd) == (22534)) return "Q_XQUOTARM"

return ""
}
function _sockopt_optname_str (opt)
{
if ((opt) == (1)) return "SO_DEBUG"

if ((opt) == (2)) return "SO_REUSEADDR"

if ((opt) == (3)) return "SO_TYPE"

if ((opt) == (4)) return "SO_ERROR"

if ((opt) == (5)) return "SO_DONTROUTE"

if ((opt) == (6)) return "SO_BROADCAST"

if ((opt) == (7)) return "SO_SNDBUF"

if ((opt) == (8)) return "SO_RCVBUF"

if ((opt) == (9)) return "SO_KEEPALIVE"

if ((opt) == (10)) return "SO_OOBINLINE"

if ((opt) == (11)) return "SO_NO_CHECK"

if ((opt) == (12)) return "SO_PRIORITY"

if ((opt) == (13)) return "SO_LINGER"

if ((opt) == (14)) return "SO_BSDCOMPAT"

if ((opt) == (16)) return "SO_PASSCRED"

if ((opt) == (17)) return "SO_PEERCRED"

if ((opt) == (18)) return "SO_RCVLOWAT"

if ((opt) == (19)) return "SO_SNDLOWAT"

if ((opt) == (20)) return "SO_RCVTIMEO"

if ((opt) == (21)) return "SO_SNDTIMEO"

return ""
}
function _sockopt_level_str (l)
{
if ((l) == (0)) return "IP"

if ((l) == (1)) return "ICMP"

if ((l) == (2)) return "IGMP"

if ((l) == (3)) return "GGP"

if ((l) == (4)) return "IP-ENCAP"

if ((l) == (5)) return "ST"

if ((l) == (6)) return "TCP"

if ((l) == (7)) return "CBT"

if ((l) == (8)) return "EGP"

if ((l) == (9)) return "IGP"

if ((l) == (10)) return "BBN-RCC-MON"

if ((l) == (11)) return "NVP-II"

if ((l) == (12)) return "PUP"

if ((l) == (13)) return "ARGUS"

if ((l) == (14)) return "EMCON"

if ((l) == (15)) return "XNET"

if ((l) == (16)) return "CHAOS"

if ((l) == (17)) return "UDP"

if ((l) == (18)) return "MUX"

if ((l) == (19)) return "DCN-MEAS"

if ((l) == (20)) return "HMP"

if ((l) == (21)) return "PRM"

if ((l) == (22)) return "XNS-IDP"

if ((l) == (23)) return "TRUNK-1"

if ((l) == (24)) return "TRUNK-2"

if ((l) == (25)) return "LEAF-1"

if ((l) == (26)) return "LEAF-2"

if ((l) == (27)) return "RDP"

if ((l) == (28)) return "IRTP"

if ((l) == (29)) return "ISO-TP4"

if ((l) == (30)) return "NETBLT"

if ((l) == (31)) return "MFE-NSP"

if ((l) == (32)) return "MERIT-INP"

if ((l) == (33)) return "SEP"

if ((l) == (34)) return "3PC"

if ((l) == (35)) return "IDPR"

if ((l) == (36)) return "XTP"

if ((l) == (37)) return "DDP"

if ((l) == (38)) return "IDPR-CMTP"

if ((l) == (39)) return "TP++"

if ((l) == (40)) return "IL"

if ((l) == (41)) return "IPv6"

if ((l) == (42)) return "SDRP"

if ((l) == (43)) return "IPv6-Route"

if ((l) == (44)) return "IPv6-Frag"

if ((l) == (45)) return "IDRP"

if ((l) == (46)) return "RSVP"

if ((l) == (47)) return "GRE"

if ((l) == (48)) return "MHRP"

if ((l) == (49)) return "BNA"

if ((l) == (50)) return "IPv6-Crypt"

if ((l) == (51)) return "IPv6-Auth"

if ((l) == (52)) return "I-NLSP"

if ((l) == (53)) return "SWIPE"

if ((l) == (54)) return "NARP"

if ((l) == (55)) return "MOBILE"

if ((l) == (56)) return "TLSP"

if ((l) == (57)) return "SKIP"

if ((l) == (58)) return "IPv6-ICMP"

if ((l) == (59)) return "IPv6-NoNxt"

if ((l) == (60)) return "IPv6-Opts"

if ((l) == (62)) return "CFTP"

if ((l) == (64)) return "SAT-EXPAK"

if ((l) == (65)) return "KRYPTOLAN"

if ((l) == (66)) return "RVD"

if ((l) == (67)) return "IPPC"

if ((l) == (69)) return "SAT-MON"

if ((l) == (70)) return "VISA"

if ((l) == (71)) return "IPCV"

if ((l) == (72)) return "CPNX"

if ((l) == (73)) return "CPHB"

if ((l) == (74)) return "WSN"

if ((l) == (75)) return "PVP"

if ((l) == (76)) return "BR-SAT-MON"

if (
if ((cmd) == (8388611)) return "Q_QUOTAOFF"



if ((cmd) == (8388615)) return "Q_GETQUOTA"



if ((cmd) == (8388616)) return "Q_SETQUOTA"



if ((cmd) == (8388613)) return "Q_GETINFO"



if ((cmd) == (8388614)) return "Q_SETINFO"



if ((cmd) == (8388612)) return "Q_GETFMT"



if ((cmd) == (8388609)) return "Q_SYNC"



if ((cmd) == (22529)) return "Q_XQUOTAON"



if ((cmd) == (22530)) return "Q_XQUOTAOFF"



if ((cmd) == (22531)) return "Q_XGETQUOTA"



if ((cmd) == (22532)) return "Q_XSETQLIM"



if ((cmd) == (22533)) return "Q_XGETQSTAT"



if ((cmd) == (22534)) return "Q_XQUOTARM"



return ""

}

function _sockopt_optname_str (opt)

{

if ((opt) == (1)) return "SO_DEBUG"



if ((opt) == (2)) return "SO_REUSEADDR"



if ((opt) == (3)) return "SO_TYPE"



if ((opt) == (4)) return "SO_ERROR"



if ((opt) == (5)) return "SO_DONTROUTE"



if ((opt) == (6)) return "SO_BROADCAST"



if ((opt) == (7)) return "SO_SNDBUF"



if ((opt) == (8)) return "SO_RCVBUF"



if ((opt) == (9)) return "SO_KEEPALIVE"



if ((opt) == (10)) return "SO_OOBINLINE"



if ((opt) == (11)) return "SO_NO_CHECK"



if ((opt) == (12)) return "SO_PRIORITY"



if ((opt) == (13)) return "SO_LINGER"



if ((opt) == (14)) return "SO_BSDCOMPAT"



if ((opt) == (16)) return "SO_PASSCRED"



if ((opt) == (17)) return "SO_PEERCRED"



if ((opt) == (18)) return "SO_RCVLOWAT"



if ((opt) == (19)) return "SO_SNDLOWAT"



if ((opt) == (20)) return "SO_RCVTIMEO"



if ((opt) == (21)) return "SO_SNDTIMEO"



return ""

}

function _sockopt_level_str (l)

{

if ((l) == (0)) return "IP"



if ((l) == (1)) return "ICMP"



if ((l) == (2)) return "IGMP"



if ((l) == (3)) return "GGP"



if ((l) == (4)) return "IP-ENCAP"



if ((l) == (5)) return "ST"



if ((l) == (6)) return "TCP"



if ((l) == (7)) return "CBT"



if ((l) == (8)) return "EGP"



if ((l) == (9)) return "IGP"



if ((l) == (10)) return "BBN-RCC-MON"



if ((l) == (11)) return "NVP-II"



if ((l) == (12)) return "PUP"



if ((l) == (13)) return "ARGUS"



if ((l) == (14)) return "EMCON"



if ((l) == (15)) return "XNET"



if ((l) == (16)) return "CHAOS"



if ((l) == (17)) return "UDP"



if ((l) == (18)) return "MUX"



if ((l) == (19)) return "DCN-MEAS"



if ((l) == (20)) return "HMP"



if ((l) == (21)) return "PRM"



if ((l) == (22)) return "XNS-IDP"



if ((l) == (23)) return "TRUNK-1"



if ((l) == (24)) return "TRUNK-2"



if ((l) == (25)) return "LEAF-1"



if ((l) == (26)) return "LEAF-2"



if ((l) == (27)) return "RDP"



if ((l) == (28)) return "IRTP"



if ((l) == (29)) return "ISO-TP4"



if ((l) == (30)) return "NETBLT"



if ((l) == (31)) return "MFE-NSP"



if ((l) == (32)) return "MERIT-INP"



if ((l) == (33)) return "SEP"



if ((l) == (34)) return "3PC"



if ((l) == (35)) return "IDPR"



if ((l) == (36)) return "XTP"



if ((l) == (37)) return "DDP"



if ((l) == (38)) return "IDPR-CMTP"



if ((l) == (39)) return "TP++"



if ((l) == (40)) return "IL"



if ((l) == (41)) return "IPv6"



if ((l) == (42)) return "SDRP"



if ((l) == (43)) return "IPv6-Route"



if ((l) == (44)) return "IPv6-Frag"



if ((l) == (45)) return "IDRP"



if ((l) == (46)) return "RSVP"



if ((l) == (47)) return "GRE"



if ((l) == (48)) return "MHRP"



if ((l) == (49)) return "BNA"



if ((l) == (50)) return "IPv6-Crypt"



if ((l) == (51)) return "IPv6-Auth"



if ((l) == (52)) return "I-NLSP"



if ((l) == (53)) return "SWIPE"



if ((l) == (54)) return "NARP"



if ((l) == (55)) return "MOBILE"



if ((l) == (56)) return "TLSP"



if ((l) == (57)) return "SKIP"



if ((l) == (58)) return "IPv6-ICMP"



if ((l) == (59)) return "IPv6-NoNxt"



if ((l) == (60)) return "IPv6-Opts"



if ((l) == (62)) return "CFTP"



if ((l) == (64)) return "SAT-EXPAK"



if ((l) == (65)) return "KRYPTOLAN"



if ((l) == (66)) return "RVD"



if ((l) == (67)) return "IPPC"



if ((l) == (69)) return "SAT-MON"



if ((l) == (70)) return "VISA"



if ((l) == (71)) return "IPCV"



if ((l) == (72)) return "CPNX"



if ((l) == (73)) return "CPHB"



if ((l) == (74)) return "WSN"



if ((l) == (75)) return "PVP"



if ((l) == (76)) return "BR-SAT-MON"


(l) == (77)) return "SUN-ND"

if ((l) == (78)) return "WB-MON"

if ((l) == (79)) return "WB-EXPAK"

if ((l) == (80)) return "ISO-IP"

if ((l) == (81)) return "VMTP"

if ((l) == (82)) return "SECURE-VMTP"

if ((l) == (83)) return "VINES"

if ((l) == (84)) return "TTP"

if ((l) == (85)) return "NSFNET-IGP"

if ((l) == (86)) return "DGP"

if ((l) == (87)) return "TCF"

if ((l) == (88)) return "EIGRP"

if ((l) == (89)) return "OSPFIGP"

if ((l) == (90)) return "Sprite-RPC"

if ((l) == (91)) return "LARP"

if ((l) == (92)) return "MTP"

if ((l) == (93)) return "AX.25"

if ((l) == (94)) return "IPIP"

if ((l) == (95)) return "MICP"

if ((l) == (96)) return "SCC-SP"

if ((l) == (97)) return "ETHERIP"

if ((l) == (98)) return "ENCAP"

if ((l) == (100)) return "GMTP"

if ((l) == (101)) return "IFMP"

if ((l) == (102)) return "PNNI"

if ((l) == (103)) return "PIM"

if ((l) == (104)) return "ARIS"

if ((l) == (105)) return "SCPS"

if ((l) == (106)) return "QNX"

if ((l) == (107)) return "A/N"

if ((l) == (108)) return "IPComp"

if ((l) == (109)) return "SNP"

if ((l) == (110)) return "Compaq-Peer"

if ((l) == (111)) return "IPX-in-IP"

if ((l) == (112)) return "VRRP"

if ((l) == (113)) return "PGM"

if ((l) == (115)) return "L2TP"

if ((l) == (116)) return "DDX"

if ((l) == (117)) return "IATP"

if ((l) == (118)) return "STP"

if ((l) == (119)) return "SRP"

if ((l) == (120)) return "UTI"

if ((l) == (121)) return "SMP"

if ((l) == (122)) return "SM"

if ((l) == (123)) return "PTP"

if ((l) == (124)) return "ISIS"

if ((l) == (125)) return "FIRE"

if ((l) == (126)) return "CRTP"

if ((l) == (127)) return "CRUDP"

if ((l) == (128)) return "SSCOPMCE"

if ((l) == (129)) return "IPLT"

if ((l) == (130)) return "SPS"

if ((l) == (131)) return "PIPE"

if ((l) == (132)) return "SCTP"

if ((l) == (133)) return "FC"

return ""
}
function _sock_family_str (f)
{
if ((f) == (0)) return "PF_UNSPEC"

if ((f) == (1)) return "PF_UNIX"

if ((f) == (1)) return "PF_LOCAL"

if ((f) == (2)) return "PF_INET"

if ((f) == (3)) return "PF_AX25"

if ((f) == (4)) return "PF_IPX"

if ((f) == (5)) return "PF_APPLETALK"

if ((f) == (6)) return "PF_NETROM"

if ((f) == (7)) return "PF_BRIDGE"

if ((f) == (8)) return "PF_ATMPVC"

if ((f) == (9)) return "PF_X25"

if ((f) == (10)) return "PF_INET6"

if ((f) == (11)) return "PF_ROSE"

if ((f) == (12)) return "PF_DECnet"

if ((f) == (13)) return "PF_NETBEUI"

if ((f) == (14)) return "PF_SECURITY"

if ((f) == (15)) return "PF_KEY"

if ((f) == (16)) return "PF_NETLINK"

if ((f) == (17)) return "PF_PACKET"

if ((f) == (18)) return "PF_ASH"

if ((f) == (19)) return "PF_ECONET"

if ((f) == (20)) return "PF_ATMSVC"

if ((f) == (22)) return "PF_SNA"

if ((f) == (23)) return "PF_IRDA"

if ((f) == (24)) return "PF_PPPOX"

if ((f) == (25)) return "PF_WANPIPE"

if ((f) == (26)) return "PF_LLC"

if ((f) == (31)) return "PF_BLUETOOTH"

if ((f) == (32)) return "PF_MAX"

return ""
}
function _sock_type_str (t)
{
if ((t) == (1)) return "SOCK_STREAM"

if ((t) == (2)) return "SOCK_DGRAM"

if ((t) == (5)) return "SOCK_SEQPACKET"

if ((t) == (3)) return "SOCK_RAW"

if ((t) == (4)) return "SOCK_RDM"

if ((t) == (10)) return "SOCK_PACKET"

return ""
}
function _opoll_op_str (o)
{
if ((o) == (1)) return "EPOLL_CTL_ADD"

if ((o) == (3)) return "EPOLL_CTL_MOD"

if ((o) == (2)) return "EPOLL_CTL_DEL"

return ""
}
function _epoll_events_str (e)
{
if ((e) == (1)) return "EPOLLIN"

if ((e) == (4)) return "EPOLLOUT"

if ((e) == (2)) return "EPOLLPRI"

if ((e) == (8)) return "EPOLLERR"

if ((e) == (16)) return "EPOLLHUP"

if ((e) == (-(2147483648))) return "EPOLLET"

if ((e) == (1073741824)) return "EPOLLONESHOT"

return ""
}
function _rlimit_resource_str (r)
{
if ((r) == (-(1))) return "RLIM_INFINITY"

if ((r) == (9)) return "RLIMIT_AS"

if ((r) == (4)) return "RLIMIT_CORE"

if ((r) == (0)) return "RLIMIT_CPU"

if ((r) == 
if ((l) == (77)) return "SUN-ND"



if ((l) == (78)) return "WB-MON"



if ((l) == (79)) return "WB-EXPAK"



if ((l) == (80)) return "ISO-IP"



if ((l) == (81)) return "VMTP"



if ((l) == (82)) return "SECURE-VMTP"



if ((l) == (83)) return "VINES"



if ((l) == (84)) return "TTP"



if ((l) == (85)) return "NSFNET-IGP"



if ((l) == (86)) return "DGP"



if ((l) == (87)) return "TCF"



if ((l) == (88)) return "EIGRP"



if ((l) == (89)) return "OSPFIGP"



if ((l) == (90)) return "Sprite-RPC"



if ((l) == (91)) return "LARP"



if ((l) == (92)) return "MTP"



if ((l) == (93)) return "AX.25"



if ((l) == (94)) return "IPIP"



if ((l) == (95)) return "MICP"



if ((l) == (96)) return "SCC-SP"



if ((l) == (97)) return "ETHERIP"



if ((l) == (98)) return "ENCAP"



if ((l) == (100)) return "GMTP"



if ((l) == (101)) return "IFMP"



if ((l) == (102)) return "PNNI"



if ((l) == (103)) return "PIM"



if ((l) == (104)) return "ARIS"



if ((l) == (105)) return "SCPS"



if ((l) == (106)) return "QNX"



if ((l) == (107)) return "A/N"



if ((l) == (108)) return "IPComp"



if ((l) == (109)) return "SNP"



if ((l) == (110)) return "Compaq-Peer"



if ((l) == (111)) return "IPX-in-IP"



if ((l) == (112)) return "VRRP"



if ((l) == (113)) return "PGM"



if ((l) == (115)) return "L2TP"



if ((l) == (116)) return "DDX"



if ((l) == (117)) return "IATP"



if ((l) == (118)) return "STP"



if ((l) == (119)) return "SRP"



if ((l) == (120)) return "UTI"



if ((l) == (121)) return "SMP"



if ((l) == (122)) return "SM"



if ((l) == (123)) return "PTP"



if ((l) == (124)) return "ISIS"



if ((l) == (125)) return "FIRE"



if ((l) == (126)) return "CRTP"



if ((l) == (127)) return "CRUDP"



if ((l) == (128)) return "SSCOPMCE"



if ((l) == (129)) return "IPLT"



if ((l) == (130)) return "SPS"



if ((l) == (131)) return "PIPE"



if ((l) == (132)) return "SCTP"



if ((l) == (133)) return "FC"



return ""

}

function _sock_family_str (f)

{

if ((f) == (0)) return "PF_UNSPEC"



if ((f) == (1)) return "PF_UNIX"



if ((f) == (1)) return "PF_LOCAL"



if ((f) == (2)) return "PF_INET"



if ((f) == (3)) return "PF_AX25"



if ((f) == (4)) return "PF_IPX"



if ((f) == (5)) return "PF_APPLETALK"



if ((f) == (6)) return "PF_NETROM"



if ((f) == (7)) return "PF_BRIDGE"



if ((f) == (8)) return "PF_ATMPVC"



if ((f) == (9)) return "PF_X25"



if ((f) == (10)) return "PF_INET6"



if ((f) == (11)) return "PF_ROSE"



if ((f) == (12)) return "PF_DECnet"



if ((f) == (13)) return "PF_NETBEUI"



if ((f) == (14)) return "PF_SECURITY"



if ((f) == (15)) return "PF_KEY"



if ((f) == (16)) return "PF_NETLINK"



if ((f) == (17)) return "PF_PACKET"



if ((f) == (18)) return "PF_ASH"



if ((f) == (19)) return "PF_ECONET"



if ((f) == (20)) return "PF_ATMSVC"



if ((f) == (22)) return "PF_SNA"



if ((f) == (23)) return "PF_IRDA"



if ((f) == (24)) return "PF_PPPOX"



if ((f) == (25)) return "PF_WANPIPE"



if ((f) == (26)) return "PF_LLC"



if ((f) == (31)) return "PF_BLUETOOTH"



if ((f) == (32)) return "PF_MAX"



return ""

}

function _sock_type_str (t)

{

if ((t) == (1)) return "SOCK_STREAM"



if ((t) == (2)) return "SOCK_DGRAM"



if ((t) == (5)) return "SOCK_SEQPACKET"



if ((t) == (3)) return "SOCK_RAW"



if ((t) == (4)) return "SOCK_RDM"



if ((t) == (10)) return "SOCK_PACKET"



return ""

}

function _opoll_op_str (o)

{

if ((o) == (1)) return "EPOLL_CTL_ADD"



if ((o) == (3)) return "EPOLL_CTL_MOD"



if ((o) == (2)) return "EPOLL_CTL_DEL"



return ""

}

function _epoll_events_str (e)

{

if ((e) == (1)) return "EPOLLIN"



if ((e) == (4)) return "EPOLLOUT"



if ((e) == (2)) return "EPOLLPRI"



if ((e) == (8)) return "EPOLLERR"



if ((e) == (16)) return "EPOLLHUP"



if ((e) == (-(2147483648))) return "EPOLLET"



if ((e) == (1073741824)) return "EPOLLONESHOT"



return ""

}

function _rlimit_resource_str (r)

{

if ((r) == (-(1))) return "RLIM_INFINITY"



if ((r) == (9)) return "RLIMIT_AS"



if ((r) == (4)) return "RLIMIT_CORE"



if ((r) == (0)) return "RLIMIT_CPU"


(2)) return "RLIMIT_DATA"

if ((r) == (1)) return "RLIMIT_FSIZE"

if ((r) == (10)) return "RLIMIT_LOCKS"

if ((r) == (8)) return "RLIMIT_MEMLOCK"

if ((r) == (7)) return "RLIMIT_NOFILE"

if ((r) == (6)) return "RLIMIT_NPROC"

if ((r) == (5)) return "RLIMIT_RSS"

if ((r) == (3)) return "RLIMIT_STACK"

return ""
}
function _rusage_who_str (w)
{
if ((w) == (0)) return "RUSAGE_SELF"

if ((w) == (-(1))) return "RUSAGE_CHILDREN"

return ""
}
function __short (val)
%{ /* pure */
	THIS->__retvalue = (short)THIS->val;
%}
function __uid (val)
%{ /* pure */
	THIS->__retvalue = (int)THIS->val;
%}

# file /usr/local/share/systemtap/tapset/context.stp
function print_regs ()
%{
	if (CONTEXT->regs) {
		_stp_print_regs (CONTEXT->regs);
	}
%}
function print_backtrace ()
%{
	if (CONTEXT->regs) {
		_stp_stack_print(CONTEXT->regs, CONTEXT->pi);
	}
%}
function backtrace ()
%{ /* pure */
	if (CONTEXT->regs) {
                /* XXX: this won't be necessary when runtime and translator */
		/* agree on what a string is. */
		String str = _stp_string_init (0);
		_stp_stack_sprint (str, CONTEXT->regs, 0, CONTEXT->pi);	
		strlcpy (THIS->__retvalue, _stp_string_ptr(str), MAXSTRINGLEN);
	} else 
		strlcpy (THIS->__retvalue, "", MAXSTRINGLEN);
%}
function execname ()
%{ /* pure */
	strlcpy (THIS->__retvalue, current->comm, MAXSTRINGLEN);
%}
function pid ()
%{ /* pure */
	THIS->__retvalue = current->tgid;
%}
function tid ()
%{ /* pure */
	THIS->__retvalue = current->pid;
%}
function ppid ()
%{ /* pure */
	THIS->__retvalue = current->parent->tgid;
%}
function pexecname ()
%{ /* pure */
	strlcpy (THIS->__retvalue, current->parent->comm, MAXSTRINGLEN);
%}
function gid ()
%{ /* pure */
	THIS->__retvalue = current->gid;		
%}
function egid ()
%{ /* pure */
	THIS->__retvalue = current->egid;		
%}
function uid ()
%{ /* pure */
	THIS->__retvalue = current->uid;		
%}
function euid ()
%{ /* pure */
	THIS->__retvalue = current->euid;		
%}
function cpuid ()
%{ /* pure */
	THIS->__retvalue = current->thread_info->cpu;
%}
function cpu ()
%{ /* pure */
	THIS->__retvalue = current->thread_info->cpu; /* smp_processor_id()? */
%}
function print_stack (stk)
%{
	char *ptr = THIS->stk;
	char *tok = strsep(&ptr, " ");
	while (tok && *tok) {
		_stp_print_cstr(" ");
		_stp_symbol_print (simple_strtol(tok, NULL, 16));
		_stp_print_cstr("\n");
		tok = strsep(&ptr, " ");
	}
%}
function pp ()
%{ /* pure */
	strlcpy (THIS->__retvalue, CONTEXT->probe_point, MAXSTRINGLEN);
%}
function probefunc ()
%{ /* pure */
	char *ptr, *start;

	start = strstr(CONTEXT->probe_point, "function(\"");
	ptr = start + 10; 
	if (!start) {
		start = strstr(CONTEXT->probe_point, "inline(\"");
		ptr = start + 8;
	}

	if (start) {
		int len = MAXSTRINGLEN;
		char *dst = THIS->__retvalue;
		while (*ptr != '@' && --len > 0 && *ptr)
			*dst++ = *ptr++;
		*dst = 0;

	} else if (CONTEXT->regs &&
#if defined (__ia64__)
		((unsigned long)REG_IP(CONTEXT->regs) >= (unsigned long)KERNEL_START)) {
#else
		((unsigned long)REG_IP(CONTEXT->regs) >= (unsigned long)PAGE_OFFSET)) {
#endif
		_stp_symbol_sprint_basic(THIS->__retvalue, MAXSTRINGLEN,
				REG_IP(CONTEXT->regs));
       	         if (THIS->__retvalue[0] == '.')  /* powerpc symbol has a dot*/
       	         	strlcpy(THIS->__retvalue,THIS->__retvalue + 1,MAXSTRINGLEN);
	} else {
		THIS->__retvalue[0] = '\0';
	}
%}
function probemod ()
%{ /* pure */
	char *ptr, *start;

	start = strstr(CONTEXT->probe_point, "module(\"");
	ptr = start + 8;

	if (start) {
		int len = MAXSTRINGLEN;
		char *dst = THIS->__retvalue;
		while (*ptr != '"' && --len && *ptr)
			*dst++ = *ptr++;
		*dst = 0;
	} else {
		/* XXX: need a PC- and symbol-table-based fallback. */
		THIS->__retvalue[0] = '\0';
	}
%}
function is_return ()
%{ /* pure */
	if (CONTEXT->pi)
		THIS->__retvalue = 1;
	else	
		THIS->__retvalue = 0;	
%}
function target ()
%{ /* pure */
        THIS->__retvalue = _stp_target;
%}
function stp_pid ()

if ((r) == (2)) return "RLIMIT_DATA"



if ((r) == (1)) return "RLIMIT_FSIZE"



if ((r) == (10)) return "RLIMIT_LOCKS"



if ((r) == (8)) return "RLIMIT_MEMLOCK"



if ((r) == (7)) return "RLIMIT_NOFILE"



if ((r) == (6)) return "RLIMIT_NPROC"



if ((r) == (5)) return "RLIMIT_RSS"



if ((r) == (3)) return "RLIMIT_STACK"



return ""

}

function _rusage_who_str (w)

{

if ((w) == (0)) return "RUSAGE_SELF"



if ((w) == (-(1))) return "RUSAGE_CHILDREN"



return ""

}

function __short (val)

%{ /* pure */

	THIS->__retvalue = (short)THIS->val;

%}

function __uid (val)

%{ /* pure */

	THIS->__retvalue = (int)THIS->val;

%}



# file /usr/local/share/systemtap/tapset/context.stp

function print_regs ()

%{

	if (CONTEXT->regs) {

		_stp_print_regs (CONTEXT->regs);

	}

%}

function print_backtrace ()

%{

	if (CONTEXT->regs) {

		_stp_stack_print(CONTEXT->regs, CONTEXT->pi);

	}

%}

function backtrace ()

%{ /* pure */

	if (CONTEXT->regs) {

                /* XXX: this won't be necessary when runtime and translator */

		/* agree on what a string is. */

		String str = _stp_string_init (0);

		_stp_stack_sprint (str, CONTEXT->regs, 0, CONTEXT->pi);	

		strlcpy (THIS->__retvalue, _stp_string_ptr(str), MAXSTRINGLEN);

	} else 

		strlcpy (THIS->__retvalue, "", MAXSTRINGLEN);

%}

function execname ()

%{ /* pure */

	strlcpy (THIS->__retvalue, current->comm, MAXSTRINGLEN);

%}

function pid ()

%{ /* pure */

	THIS->__retvalue = current->tgid;

%}

function tid ()

%{ /* pure */

	THIS->__retvalue = current->pid;

%}

function ppid ()

%{ /* pure */

	THIS->__retvalue = current->parent->tgid;

%}

function pexecname ()

%{ /* pure */

	strlcpy (THIS->__retvalue, current->parent->comm, MAXSTRINGLEN);

%}

function gid ()

%{ /* pure */

	THIS->__retvalue = current->gid;		

%}

function egid ()

%{ /* pure */

	THIS->__retvalue = current->egid;		

%}

function uid ()

%{ /* pure */

	THIS->__retvalue = current->uid;		

%}

function euid ()

%{ /* pure */

	THIS->__retvalue = current->euid;		

%}

function cpuid ()

%{ /* pure */

	THIS->__retvalue = current->thread_info->cpu;

%}

function cpu ()

%{ /* pure */

	THIS->__retvalue = current->thread_info->cpu; /* smp_processor_id()? */

%}

function print_stack (stk)

%{

	char *ptr = THIS->stk;

	char *tok = strsep(&ptr, " ");

	while (tok && *tok) {

		_stp_print_cstr(" ");

		_stp_symbol_print (simple_strtol(tok, NULL, 16));

		_stp_print_cstr("\n");

		tok = strsep(&ptr, " ");

	}

%}

function pp ()

%{ /* pure */

	strlcpy (THIS->__retvalue, CONTEXT->probe_point, MAXSTRINGLEN);

%}

function probefunc ()

%{ /* pure */

	char *ptr, *start;



	start = strstr(CONTEXT->probe_point, "function(\"");

	ptr = start + 10; 

	if (!start) {

		start = strstr(CONTEXT->probe_point, "inline(\"");

		ptr = start + 8;

	}



	if (start) {

		int len = MAXSTRINGLEN;

		char *dst = THIS->__retvalue;

		while (*ptr != '@' && --len > 0 && *ptr)

			*dst++ = *ptr++;

		*dst = 0;



	} else if (CONTEXT->regs &&

#if defined (__ia64__)

		((unsigned long)REG_IP(CONTEXT->regs) >= (unsigned long)KERNEL_START)) {

#else

		((unsigned long)REG_IP(CONTEXT->regs) >= (unsigned long)PAGE_OFFSET)) {

#endif

		_stp_symbol_sprint_basic(THIS->__retvalue, MAXSTRINGLEN,

				REG_IP(CONTEXT->regs));

       	         if (THIS->__retvalue[0] == '.')  /* powerpc symbol has a dot*/

       	         	strlcpy(THIS->__retvalue,THIS->__retvalue + 1,MAXSTRINGLEN);

	} else {

		THIS->__retvalue[0] = '\0';

	}

%}

function probemod ()

%{ /* pure */

	char *ptr, *start;



	start = strstr(CONTEXT->probe_point, "module(\"");

	ptr = start + 8;



	if (start) {

		int len = MAXSTRINGLEN;

		char *dst = THIS->__retvalue;

		while (*ptr != '"' && --len && *ptr)

			*dst++ = *ptr++;

		*dst = 0;

	} else {

		/* XXX: need a PC- and symbol-table-based fallback. */

		THIS->__retvalue[0] = '\0';

	}

%}

function is_return ()

%{ /* pure */

	if (CONTEXT->pi)

		THIS->__retvalue = 1;

	else	

		THIS->__retvalue = 0;	

%}

function target ()

%{ /* pure */

        THIS->__retvalue = _stp_target;

%}

function stp_pid ()
%{ /* pure */
        THIS->__retvalue = _stp_pid;
%}
function stack_size ()
%{ /* pure */
        THIS->__retvalue = THREAD_SIZE;
%}
function stack_used ()
%{ /* pure */
	char a;
        THIS->__retvalue = THREAD_SIZE - ((long)&a & (THREAD_SIZE-1));
%}
function stack_unused ()
%{ /* pure */
	char a;
        THIS->__retvalue = (long)&a & (THREAD_SIZE-1);
%}
function caller_addr ()
%{ /* pure */
        if (CONTEXT->pi)
		THIS->__retvalue = (int64_t)(long)_stp_ret_addr_r(CONTEXT->pi);
        else
		THIS->__retvalue = 0;
%}
function caller ()
%{ /* pure */
        if (CONTEXT->pi) 
		_stp_symbol_sprint_basic( THIS->__retvalue, MAXSTRINGLEN, 
			(unsigned long)_stp_ret_addr_r(CONTEXT->pi));
        else
		strlcpy(THIS->__retvalue,"unknown",MAXSTRINGLEN);
%}

# file /usr/local/share/systemtap/tapset/conversions.stp
function kernel_string (addr)
%{ /* pure */
  char *destination = THIS->__retvalue;
  deref_string (destination, THIS->addr, MAXSTRINGLEN);
  goto success;
deref_fault: /* branched to from deref() */
  {
    static char errmsg[40];
    snprintf (errmsg, 40, "kernel string copy fault at 0x%p",
	 (void *) (uintptr_t) THIS->addr);
    CONTEXT->last_error = errmsg;
  }
success: ;
%}
function user_string (addr)
%{ /* pure */
  if (_stp_strncpy_from_user (THIS->__retvalue, 
		(const char __user*) (uintptr_t) THIS->addr,
		MAXSTRINGLEN) < 0)
	strlcpy (THIS->__retvalue, "<unknown>", MAXSTRINGLEN);
%}
function user_string2 (addr, err_msg)
%{ /* pure */
  if (_stp_strncpy_from_user (THIS->__retvalue, 
		(const char __user*) (uintptr_t) THIS->addr,
		MAXSTRINGLEN) < 0)
    strlcpy (THIS->__retvalue, THIS->err_msg, MAXSTRINGLEN);
%}
function user_string_warn (addr)
%{ /* pure */
  long rc = _stp_strncpy_from_user (THIS->__retvalue,
		(const char __user*) (uintptr_t) THIS->addr, MAXSTRINGLEN);
  if (rc < 0) {
	static char errmsg[40];
	snprintf (errmsg, 40, "user string copy fault %ld at %p", rc,
		(void *) (uintptr_t) THIS->addr);
	_stp_warn(errmsg);
	strlcpy (THIS->__retvalue, "<unknown>", MAXSTRINGLEN);
  }
%}
function user_string_quoted (addr)
%{ /* pure */
  if (THIS->addr == 0)	
	strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);
  else
	_stp_text_str(THIS->__retvalue, (char *)(uintptr_t)THIS->addr, MAXSTRINGLEN, 1, 1);
%}

# file /usr/local/share/systemtap/tapset/ctime.stp
function ctime (epochsecs)
%{

#define SECSPERMIN	60L
#define MINSPERHOUR	60L
#define HOURSPERDAY	24L
#define SECSPERHOUR	(SECSPERMIN * MINSPERHOUR)
#define SECSPERDAY	(SECSPERHOUR * HOURSPERDAY)
#define DAYSPERWEEK	7
#define MONSPERYEAR	12

#define EPOCH_YEAR      1970
#define EPOCH_WDAY      4

#define isleap(y) ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0)

    static const int mon_lengths[2][MONSPERYEAR] = {
	{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
	{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}
    } ;

    static const int year_lengths[2] = {
	365,
	366
    } ;

    static const char day_name[7][3] = {
	"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
    };
    static const char mon_name[12][3] = {
	"Jan", "Feb", "Mar", "Apr", "May", "Jun", 
	"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
    };

    long days, rem;
    time_t lcltime;
    int yleap;
    const int *ip;
    int tm_sec;         /* seconds */
    int tm_min;         /* minutes */
    int tm_hour;        /* hours */
    int tm_mday;        /* day of the month */
    int tm_mon;         /* month */
    int tm_year;        /* year */
    int tm_wday;        /* day of the week */

    lcltime = THIS->epochsecs;
   
    days = ((long)lcltime) / SECSPERDAY;
    rem = ((long)lcltime) % SECSPERDAY;
    while (rem < 0) 
    {
	rem += SECSPERDAY;
	--days;
    }
    while (rem >= SECSPERDAY)
    {
	rem -= SECSPERDAY;
	++days;
    }
 
    /* compute hour, min, and sec */  
    tm_hour = (int) (rem / SECSPERHOUR);
    rem %= SECSPERHOUR;
    tm_min = (int) (rem / SECSPERMIN);
    tm_sec = (int) (rem % SECSPERMIN);

    /* comput
%{ /* pure */

        THIS->__retvalue = _stp_pid;

%}

function stack_size ()

%{ /* pure */

        THIS->__retvalue = THREAD_SIZE;

%}

function stack_used ()

%{ /* pure */

	char a;

        THIS->__retvalue = THREAD_SIZE - ((long)&a & (THREAD_SIZE-1));

%}

function stack_unused ()

%{ /* pure */

	char a;

        THIS->__retvalue = (long)&a & (THREAD_SIZE-1);

%}

function caller_addr ()

%{ /* pure */

        if (CONTEXT->pi)

		THIS->__retvalue = (int64_t)(long)_stp_ret_addr_r(CONTEXT->pi);

        else

		THIS->__retvalue = 0;

%}

function caller ()

%{ /* pure */

        if (CONTEXT->pi) 

		_stp_symbol_sprint_basic( THIS->__retvalue, MAXSTRINGLEN, 

			(unsigned long)_stp_ret_addr_r(CONTEXT->pi));

        else

		strlcpy(THIS->__retvalue,"unknown",MAXSTRINGLEN);

%}



# file /usr/local/share/systemtap/tapset/conversions.stp

function kernel_string (addr)

%{ /* pure */

  char *destination = THIS->__retvalue;

  deref_string (destination, THIS->addr, MAXSTRINGLEN);

  goto success;

deref_fault: /* branched to from deref() */

  {

    static char errmsg[40];

    snprintf (errmsg, 40, "kernel string copy fault at 0x%p",

	 (void *) (uintptr_t) THIS->addr);

    CONTEXT->last_error = errmsg;

  }

success: ;

%}

function user_string (addr)

%{ /* pure */

  if (_stp_strncpy_from_user (THIS->__retvalue, 

		(const char __user*) (uintptr_t) THIS->addr,

		MAXSTRINGLEN) < 0)

	strlcpy (THIS->__retvalue, "<unknown>", MAXSTRINGLEN);

%}

function user_string2 (addr, err_msg)

%{ /* pure */

  if (_stp_strncpy_from_user (THIS->__retvalue, 

		(const char __user*) (uintptr_t) THIS->addr,

		MAXSTRINGLEN) < 0)

    strlcpy (THIS->__retvalue, THIS->err_msg, MAXSTRINGLEN);

%}

function user_string_warn (addr)

%{ /* pure */

  long rc = _stp_strncpy_from_user (THIS->__retvalue,

		(const char __user*) (uintptr_t) THIS->addr, MAXSTRINGLEN);

  if (rc < 0) {

	static char errmsg[40];

	snprintf (errmsg, 40, "user string copy fault %ld at %p", rc,

		(void *) (uintptr_t) THIS->addr);

	_stp_warn(errmsg);

	strlcpy (THIS->__retvalue, "<unknown>", MAXSTRINGLEN);

  }

%}

function user_string_quoted (addr)

%{ /* pure */

  if (THIS->addr == 0)	

	strlcpy (THIS->__retvalue, "NULL", MAXSTRINGLEN);

  else

	_stp_text_str(THIS->__retvalue, (char *)(uintptr_t)THIS->addr, MAXSTRINGLEN, 1, 1);

%}



# file /usr/local/share/systemtap/tapset/ctime.stp

function ctime (epochsecs)

%{



#define SECSPERMIN	60L

#define MINSPERHOUR	60L

#define HOURSPERDAY	24L

#define SECSPERHOUR	(SECSPERMIN * MINSPERHOUR)

#define SECSPERDAY	(SECSPERHOUR * HOURSPERDAY)

#define DAYSPERWEEK	7

#define MONSPERYEAR	12



#define EPOCH_YEAR      1970

#define EPOCH_WDAY      4



#define isleap(y) ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0)



    static const int mon_lengths[2][MONSPERYEAR] = {

	{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},

	{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}

    } ;



    static const int year_lengths[2] = {

	365,

	366

    } ;



    static const char day_name[7][3] = {

	"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"

    };

    static const char mon_name[12][3] = {

	"Jan", "Feb", "Mar", "Apr", "May", "Jun", 

	"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"

    };



    long days, rem;

    time_t lcltime;

    int yleap;

    const int *ip;

    int tm_sec;         /* seconds */

    int tm_min;         /* minutes */

    int tm_hour;        /* hours */

    int tm_mday;        /* day of the month */

    int tm_mon;         /* month */

    int tm_year;        /* year */

    int tm_wday;        /* day of the week */



    lcltime = THIS->epochsecs;

   

    days = ((long)lcltime) / SECSPERDAY;

    rem = ((long)lcltime) % SECSPERDAY;

    while (rem < 0) 

    {

	rem += SECSPERDAY;

	--days;

    }

    while (rem >= SECSPERDAY)

    {

	rem -= SECSPERDAY;

	++days;

    }

 

    /* compute hour, min, and sec */  

    tm_hour = (int) (rem / SECSPERHOUR);

    rem %= SECSPERHOUR;

    tm_min = (int) (rem / SECSPERMIN);

    tm_sec = (int) (rem % SECSPERMIN);


e day of week */
    if ((tm_wday = ((EPOCH_WDAY + days) % DAYSPERWEEK)) < 0)
	tm_wday += DAYSPERWEEK;

    /* compute year & day of year */
    tm_year = EPOCH_YEAR;
    if (days >= 0)
    {
	for (;;)
	{
	    yleap = isleap(tm_year);
	    if (days < year_lengths[yleap])
		break;
	    tm_year++;
	    days -= year_lengths[yleap];
	}
    }
    else
    {
	do
	{
	    --tm_year;
	    yleap = isleap(tm_year);
	    days += year_lengths[yleap];
	} while (days < 0);
    }

    ip = mon_lengths[yleap];
    for (tm_mon = 0; days >= ip[tm_mon]; ++tm_mon)
	days -= ip[tm_mon];
    tm_mday = days + 1;

    /*
     * At this point we have all our information.  Now we need to
     * convert it to an ascii representation.
     */

    snprintf (THIS->__retvalue, MAXSTRINGLEN, "%.3s %.3s%3d %.2d:%.2d:%.2d %d",
	      day_name[tm_wday], mon_name[tm_mon],
	      tm_mday, tm_hour, tm_min,
	      tm_sec, tm_year);
%}

# file /usr/local/share/systemtap/tapset/endian.stp
function set_endian (val)
%{
	_stp_endian = THIS->val;	
%}
function big_endian2 (val)
%{ /* pure */
	THIS->__retvalue = cpu_to_be16(THIS->val);
%}
function big_endian4 (val)
%{ /* pure */
	THIS->__retvalue = cpu_to_be32(THIS->val);
%}
function big_endian8 (val)
%{ /* pure */
	THIS->__retvalue = cpu_to_be64(THIS->val);
%}
function little_endian2 (val)
%{ /* pure */
	THIS->__retvalue = cpu_to_le16(THIS->val);
%}
function little_endian4 (val)
%{ /* pure */
	THIS->__retvalue = cpu_to_le32(THIS->val);
%}
function little_endian8 (val)
%{ /* pure */
	THIS->__retvalue = cpu_to_le64(THIS->val);
%}

# file /usr/local/share/systemtap/tapset/errno.stp
%{
#define N(a) [a]=#a

const char * const errlist[] = {
/* from asm-generic/errno-base.h */
[1] = "EPERM",
[2] = "ENOENT",
[3] = "ESRCH",
[4] = "EINTR",
[5] = "EIO",
[6] = "ENXIO",
[7] = "E2BIG",
[8] = "ENOEXEC",
[9] = "EBADF",
[10]= "ECHILD",
[11]= "EAGAIN",
[12]= "ENOMEM",
[13]= "EACCES",
[14]= "EFAULT",
[15]= "ENOTBLK",
[16]= "EBUSY",
[17]= "EEXIST",
[18]= "EXDEV",
[19]= "ENODEV",
[20]= "ENOTDIR",
[21]= "EISDIR",
[22]= "EINVAL",
[23]= "ENFILE",
[24]= "EMFILE",
[25]= "ENOTTY",
[26]= "ETXTBSY",
[27]= "EFBIG",
[28]= "ENOSPC",
[29]= "ESPIPE",
[30]= "EROFS",
[31]= "EMLINK",
[32]= "EPIPE",
[33]= "EDOM",
[34]= "ERANGE",
/* end of errno-base.h */
/* The rest of this is arch-dependent */
#ifdef EDEADLK
	N(EDEADLK),
#endif
#ifdef ENAMETOOLONG
	N(ENAMETOOLONG),
#endif
#ifdef ENOLCK
	N(ENOLCK),
#endif
#ifdef ENOSYS
	N(ENOSYS),
#endif
#ifdef ENOTEMPTY
	N(ENOTEMPTY),
#endif
#ifdef ELOOP
	N(ELOOP),
#endif
#ifdef ENOMSG
	N(ENOMSG),
#endif
#ifdef EIDRM
	N(EIDRM),
#endif
#ifdef ECHRNG
	N(ECHRNG),
#endif
#ifdef EL2NSYNC
	N(EL2NSYNC),
#endif
#ifdef EL3HLT
	N(EL3HLT),
#endif
#ifdef EL3RST
	N(EL3RST),
#endif
#ifdef ELNRNG
	N(ELNRNG),
#endif
#ifdef EUNATCH
	N(EUNATCH),
#endif
#ifdef ENOCSI
	N(ENOCSI),
#endif
#ifdef EL2HLT
	N(EL2HLT),
#endif
#ifdef EBADE
	N(EBADE),
#endif
#ifdef EBADR
	N(EBADR),
#endif
#ifdef EXFULL
	N(EXFULL),
#endif
#ifdef ENOANO
	N(ENOANO),
#endif
#ifdef EBADRQC
	N(EBADRQC),
#endif
#ifdef EBADSLT
	N(EBADSLT),
#endif
#ifdef EBFONT
	N(EBFONT),
#endif
#ifdef ENOSTR
	N(ENOSTR),
#endif
#ifdef ENODATA
	N(ENODATA),
#endif
#ifdef ETIME
	N(ETIME),
#endif
#ifdef ENOSR
	N(ENOSR),
#endif
#ifdef ENONET
	N(ENONET),
#endif
#ifdef ENOPKG
	N(ENOPKG),
#endif
#ifdef EREMOTE
	N(EREMOTE),
#endif
#ifdef ENOLINK
	N(ENOLINK),
#endif
#ifdef EAVD
	N(EADV),
#endif
#ifdef ESRMNT
	N(ESRMNT),
#endif
#ifdef ECOMM
	N(ECOMM),
#endif
#ifdef EPROTO
	N(EPROTO),
#endif
#ifdef EMULTIHOP
	N(EMULTIHOP),
#endif
#ifdef EDOTDOT
	N(EDOTDOT),
#endif
#ifdef EBADMSG
	N(EBADMSG),
#endif
#ifdef EOVERFLOW
	N(EOVERFLOW),
#endif
#ifdef ENOTUNIQ
	N(ENOTUNIQ),
#endif
#ifdef EBADFD
	N(EBADFD),
#endif
#ifdef EREMCHG
	N(EREMCHG),
#endif
#ifdef ELIBACC
	N(ELIBACC),
#endif
#ifdef ELIBBAD
	N(ELIBBAD),
#endif
#ifdef ELIBSCN
	N(ELIBSCN),
#endif
#ifdef ELIBM
    /* compute day of week */

    if ((tm_wday = ((EPOCH_WDAY + days) % DAYSPERWEEK)) < 0)

	tm_wday += DAYSPERWEEK;



    /* compute year & day of year */

    tm_year = EPOCH_YEAR;

    if (days >= 0)

    {

	for (;;)

	{

	    yleap = isleap(tm_year);

	    if (days < year_lengths[yleap])

		break;

	    tm_year++;

	    days -= year_lengths[yleap];

	}

    }

    else

    {

	do

	{

	    --tm_year;

	    yleap = isleap(tm_year);

	    days += year_lengths[yleap];

	} while (days < 0);

    }



    ip = mon_lengths[yleap];

    for (tm_mon = 0; days >= ip[tm_mon]; ++tm_mon)

	days -= ip[tm_mon];

    tm_mday = days + 1;



    /*

     * At this point we have all our information.  Now we need to

     * convert it to an ascii representation.

     */



    snprintf (THIS->__retvalue, MAXSTRINGLEN, "%.3s %.3s%3d %.2d:%.2d:%.2d %d",

	      day_name[tm_wday], mon_name[tm_mon],

	      tm_mday, tm_hour, tm_min,

	      tm_sec, tm_year);

%}



# file /usr/local/share/systemtap/tapset/endian.stp

function set_endian (val)

%{

	_stp_endian = THIS->val;	

%}

function big_endian2 (val)

%{ /* pure */

	THIS->__retvalue = cpu_to_be16(THIS->val);

%}

function big_endian4 (val)

%{ /* pure */

	THIS->__retvalue = cpu_to_be32(THIS->val);

%}

function big_endian8 (val)

%{ /* pure */

	THIS->__retvalue = cpu_to_be64(THIS->val);

%}

function little_endian2 (val)

%{ /* pure */

	THIS->__retvalue = cpu_to_le16(THIS->val);

%}

function little_endian4 (val)

%{ /* pure */

	THIS->__retvalue = cpu_to_le32(THIS->val);

%}

function little_endian8 (val)

%{ /* pure */

	THIS->__retvalue = cpu_to_le64(THIS->val);

%}



# file /usr/local/share/systemtap/tapset/errno.stp

%{

#define N(a) [a]=#a



const char * const errlist[] = {

/* from asm-generic/errno-base.h */

[1] = "EPERM",

[2] = "ENOENT",

[3] = "ESRCH",

[4] = "EINTR",

[5] = "EIO",

[6] = "ENXIO",

[7] = "E2BIG",

[8] = "ENOEXEC",

[9] = "EBADF",

[10]= "ECHILD",

[11]= "EAGAIN",

[12]= "ENOMEM",

[13]= "EACCES",

[14]= "EFAULT",

[15]= "ENOTBLK",

[16]= "EBUSY",

[17]= "EEXIST",

[18]= "EXDEV",

[19]= "ENODEV",

[20]= "ENOTDIR",

[21]= "EISDIR",

[22]= "EINVAL",

[23]= "ENFILE",

[24]= "EMFILE",

[25]= "ENOTTY",

[26]= "ETXTBSY",

[27]= "EFBIG",

[28]= "ENOSPC",

[29]= "ESPIPE",

[30]= "EROFS",

[31]= "EMLINK",

[32]= "EPIPE",

[33]= "EDOM",

[34]= "ERANGE",

/* end of errno-base.h */

/* The rest of this is arch-dependent */

#ifdef EDEADLK

	N(EDEADLK),

#endif

#ifdef ENAMETOOLONG

	N(ENAMETOOLONG),

#endif

#ifdef ENOLCK

	N(ENOLCK),

#endif

#ifdef ENOSYS

	N(ENOSYS),

#endif

#ifdef ENOTEMPTY

	N(ENOTEMPTY),

#endif

#ifdef ELOOP

	N(ELOOP),

#endif

#ifdef ENOMSG

	N(ENOMSG),

#endif

#ifdef EIDRM

	N(EIDRM),

#endif

#ifdef ECHRNG

	N(ECHRNG),

#endif

#ifdef EL2NSYNC

	N(EL2NSYNC),

#endif

#ifdef EL3HLT

	N(EL3HLT),

#endif

#ifdef EL3RST

	N(EL3RST),

#endif

#ifdef ELNRNG

	N(ELNRNG),

#endif

#ifdef EUNATCH

	N(EUNATCH),

#endif

#ifdef ENOCSI

	N(ENOCSI),

#endif

#ifdef EL2HLT

	N(EL2HLT),

#endif

#ifdef EBADE

	N(EBADE),

#endif

#ifdef EBADR

	N(EBADR),

#endif

#ifdef EXFULL

	N(EXFULL),

#endif

#ifdef ENOANO

	N(ENOANO),

#endif

#ifdef EBADRQC

	N(EBADRQC),

#endif

#ifdef EBADSLT

	N(EBADSLT),

#endif

#ifdef EBFONT

	N(EBFONT),

#endif

#ifdef ENOSTR

	N(ENOSTR),

#endif

#ifdef ENODATA

	N(ENODATA),

#endif

#ifdef ETIME

	N(ETIME),

#endif

#ifdef ENOSR

	N(ENOSR),

#endif

#ifdef ENONET

	N(ENONET),

#endif

#ifdef ENOPKG

	N(ENOPKG),

#endif

#ifdef EREMOTE

	N(EREMOTE),

#endif

#ifdef ENOLINK

	N(ENOLINK),

#endif

#ifdef EAVD

	N(EADV),

#endif

#ifdef ESRMNT

	N(ESRMNT),

#endif

#ifdef ECOMM

	N(ECOMM),

#endif

#ifdef EPROTO

	N(EPROTO),

#endif

#ifdef EMULTIHOP

	N(EMULTIHOP),

#endif

#ifdef EDOTDOT

	N(EDOTDOT),

#endif

#ifdef EBADMSG

	N(EBADMSG),

#endif

#ifdef EOVERFLOW

	N(EOVERFLOW),

#endif

#ifdef ENOTUNIQ

	N(ENOTUNIQ),

#endif

#ifdef EBADFD

	N(EBADFD),

#endif

#ifdef EREMCHG

	N(EREMCHG),

#endif

#ifdef ELIBACC

	N(ELIBACC),

#endif

#ifdef ELIBBAD

	N(ELIBBAD),

#endif

#ifdef ELIBSCN

	N(ELIBSCN),

#endif
AX
	N(ELIBMAX),
#endif
#ifdef ELIBEXEC
	N(ELIBEXEC),
#endif
#ifdef EILSEQ
	N(EILSEQ),
#endif
#ifdef ERESTART
	N(ERESTART),
#endif
#ifdef ESTRPIPE
	N(ESTRPIPE),
#endif
#ifdef EUSERS
	N(EUSERS),
#endif
#ifdef ENOTSOCK
	N(ENOTSOCK),
#endif
#ifdef EDESTADDRREQ
	N(EDESTADDRREQ),
#endif
#ifdef EMSGSIZE
	N(EMSGSIZE),
#endif
#ifdef EPROTOTYPE
	N(EPROTOTYPE),
#endif
#ifdef ENOPROTOOPT
	N(ENOPROTOOPT),
#endif
#ifdef EPROTONOSUPPORT
	N(EPROTONOSUPPORT),
#endif
#ifdef ESOCKTNOSUPPORT
	N(ESOCKTNOSUPPORT),
#endif
#ifdef EOPNOTSUPP
	N(EOPNOTSUPP),
#endif
#ifdef EPFNOSUPPORT
	N(EPFNOSUPPORT),
#endif
#ifdef EAFNOSUPPORT
	N(EAFNOSUPPORT),
#endif
#ifdef EADDRINUSE
	N(EADDRINUSE),
#endif
#ifdef EADDRNOTAVAIL
	N(EADDRNOTAVAIL),
#endif
#ifdef ENETDOWN
	N(ENETDOWN),
#endif
#ifdef ENETUNREACH
	N(ENETUNREACH),
#endif
#ifdef ENETRESET
	N(ENETRESET),
#endif
#ifdef ECONNABORTED
	N(ECONNABORTED),
#endif
#ifdef ECONNRESET
	N(ECONNRESET),
#endif
#ifdef ENOBUFS
	N(ENOBUFS),
#endif
#ifdef EISCONN
	N(EISCONN),
#endif
#ifdef ENOTCONN
	N(ENOTCONN),
#endif
#ifdef ESHUTDOWN
	N(ESHUTDOWN),
#endif
#ifdef ETOOMANYREFS
	N(ETOOMANYREFS),
#endif
#ifdef ETIMEDOUT
	N(ETIMEDOUT),
#endif
#ifdef ECONNREFUSED
	N(ECONNREFUSED),
#endif
#ifdef EHOSTDOWN
	N(EHOSTDOWN),
#endif
#ifdef EHOSTUNREACH
	N(EHOSTUNREACH),
#endif
#ifdef EALREADY
	N(EALREADY),
#endif
#ifdef EINPROGRESS
	N(EINPROGRESS),
#endif
#ifdef ESTALE
	N(ESTALE),
#endif
#ifdef EUCLEAN
	N(EUCLEAN),
#endif
#ifdef ENOTNAM
	N(ENOTNAM),
#endif
#ifdef ENAVAIL
	N(ENAVAIL),
#endif
#ifdef EISNAM
	N(EISNAM),
#endif
#ifdef EREMOTEIO
	N(EREMOTEIO),
#endif
#ifdef EDQUOT
	N(EDQUOT),
#endif
#ifdef ENOMEDIUM
	N(ENOMEDIUM),
#endif
#ifdef EMEDIUMTYPE
	N(EMEDIUMTYPE),
#endif
#ifdef ECANCELED
	N(ECANCELED),
#endif
#ifdef ENOKEY
	N(ENOKEY),
#endif
#ifdef EKEYEXPIRED
	N(EKEYEXPIRED),
#endif
#ifdef EKEYREVOKED
	N(EKEYREVOKED),
#endif
#ifdef EKEYREJECTED
	N(EKEYREJECTED),
#endif
#ifdef EOWNERDEAD
	N(EOWNERDEAD),
#endif
#ifdef ENOTRECOVERABLE
	N(ENOTRECOVERABLE),
#endif
#if defined (EDEADLOCK) && EDEADLOCK != EDEADLK
	N(EDEADLOCK),
#endif
#ifdef E
	N(EADV),
#endif
};
#undef N
const int Maxerrno = sizeof(errlist)/sizeof(char *);
%}function errno_str (err)
%{ /* pure */
	long e = THIS->err;
	if (e < 0 && e > -Maxerrno && errlist[-e])
		strlcpy (THIS->__retvalue, errlist[-e], MAXSTRINGLEN);
	else if (e > 0 && e < Maxerrno && errlist[e])
		strlcpy (THIS->__retvalue, errlist[e], MAXSTRINGLEN);
%}
function returnstr (returnp)
%{ /* pure */
	long ret;

	/* XXX: unfortunate duplication with return.stp:retval() */

        if (CONTEXT->regs) {
#if defined (__i386__)
                ret = CONTEXT->regs->eax;
#elif defined (__x86_64__)
                ret = CONTEXT->regs->rax;
#elif defined (__powerpc64__)
                ret = CONTEXT->regs->gpr[3];
#elif defined (__ia64__)
                ret = CONTEXT->regs->r8;
#elif defined (__sparc64__)
                ret = CONTEXT->regs->u_regs[UREG_RETPC];
#else
                return;
#endif
        } else
                return;
	
	if (ret < 0 && ret > -Maxerrno && errlist[-ret])
		snprintf (THIS->__retvalue, MAXSTRINGLEN, "%ld (%s)", ret, errlist[-ret]);
	else if (THIS->returnp == 2)
		snprintf (THIS->__retvalue, MAXSTRINGLEN, "0x%lx", ret);
	else if (THIS->returnp == 3)
		snprintf (THIS->__retvalue, MAXSTRINGLEN, "%#lo", ret);
	else 	
		snprintf (THIS->__retvalue, MAXSTRINGLEN, "%ld", ret);
%}

# file /usr/local/share/systemtap/tapset/indent-default.stp
function __indent_timestamp ()
{
return gettimeofday_us()
}

# file /usr/local/share/systemtap/tapset/indent.stp
global _indent_counters
global _indent_timestamps
function _generic_indent (idx, delta)
{
(ts) = (__indent_timestamp())
if (!(_indent_counters[idx])) (_indent_timestamps[idx]) = (ts)

(x) = ((_indent_counters[idx]) + (((delta) > (0))?(delta):(0)))
(_indent_counters[idx]) += (delta)
(r) = (sprintf("%6d %s(%d):", (ts) - (_indent_ti
#ifdef ELIBMAX

	N(ELIBMAX),

#endif

#ifdef ELIBEXEC

	N(ELIBEXEC),

#endif

#ifdef EILSEQ

	N(EILSEQ),

#endif

#ifdef ERESTART

	N(ERESTART),

#endif

#ifdef ESTRPIPE

	N(ESTRPIPE),

#endif

#ifdef EUSERS

	N(EUSERS),

#endif

#ifdef ENOTSOCK

	N(ENOTSOCK),

#endif

#ifdef EDESTADDRREQ

	N(EDESTADDRREQ),

#endif

#ifdef EMSGSIZE

	N(EMSGSIZE),

#endif

#ifdef EPROTOTYPE

	N(EPROTOTYPE),

#endif

#ifdef ENOPROTOOPT

	N(ENOPROTOOPT),

#endif

#ifdef EPROTONOSUPPORT

	N(EPROTONOSUPPORT),

#endif

#ifdef ESOCKTNOSUPPORT

	N(ESOCKTNOSUPPORT),

#endif

#ifdef EOPNOTSUPP

	N(EOPNOTSUPP),

#endif

#ifdef EPFNOSUPPORT

	N(EPFNOSUPPORT),

#endif

#ifdef EAFNOSUPPORT

	N(EAFNOSUPPORT),

#endif

#ifdef EADDRINUSE

	N(EADDRINUSE),

#endif

#ifdef EADDRNOTAVAIL

	N(EADDRNOTAVAIL),

#endif

#ifdef ENETDOWN

	N(ENETDOWN),

#endif

#ifdef ENETUNREACH

	N(ENETUNREACH),

#endif

#ifdef ENETRESET

	N(ENETRESET),

#endif

#ifdef ECONNABORTED

	N(ECONNABORTED),

#endif

#ifdef ECONNRESET

	N(ECONNRESET),

#endif

#ifdef ENOBUFS

	N(ENOBUFS),

#endif

#ifdef EISCONN

	N(EISCONN),

#endif

#ifdef ENOTCONN

	N(ENOTCONN),

#endif

#ifdef ESHUTDOWN

	N(ESHUTDOWN),

#endif

#ifdef ETOOMANYREFS

	N(ETOOMANYREFS),

#endif

#ifdef ETIMEDOUT

	N(ETIMEDOUT),

#endif

#ifdef ECONNREFUSED

	N(ECONNREFUSED),

#endif

#ifdef EHOSTDOWN

	N(EHOSTDOWN),

#endif

#ifdef EHOSTUNREACH

	N(EHOSTUNREACH),

#endif

#ifdef EALREADY

	N(EALREADY),

#endif

#ifdef EINPROGRESS

	N(EINPROGRESS),

#endif

#ifdef ESTALE

	N(ESTALE),

#endif

#ifdef EUCLEAN

	N(EUCLEAN),

#endif

#ifdef ENOTNAM

	N(ENOTNAM),

#endif

#ifdef ENAVAIL

	N(ENAVAIL),

#endif

#ifdef EISNAM

	N(EISNAM),

#endif

#ifdef EREMOTEIO

	N(EREMOTEIO),

#endif

#ifdef EDQUOT

	N(EDQUOT),

#endif

#ifdef ENOMEDIUM

	N(ENOMEDIUM),

#endif

#ifdef EMEDIUMTYPE

	N(EMEDIUMTYPE),

#endif

#ifdef ECANCELED

	N(ECANCELED),

#endif

#ifdef ENOKEY

	N(ENOKEY),

#endif

#ifdef EKEYEXPIRED

	N(EKEYEXPIRED),

#endif

#ifdef EKEYREVOKED

	N(EKEYREVOKED),

#endif

#ifdef EKEYREJECTED

	N(EKEYREJECTED),

#endif

#ifdef EOWNERDEAD

	N(EOWNERDEAD),

#endif

#ifdef ENOTRECOVERABLE

	N(ENOTRECOVERABLE),

#endif

#if defined (EDEADLOCK) && EDEADLOCK != EDEADLK

	N(EDEADLOCK),

#endif

#ifdef E

	N(EADV),

#endif

};

#undef N

const int Maxerrno = sizeof(errlist)/sizeof(char *);

%}function errno_str (err)

%{ /* pure */

	long e = THIS->err;

	if (e < 0 && e > -Maxerrno && errlist[-e])

		strlcpy (THIS->__retvalue, errlist[-e], MAXSTRINGLEN);

	else if (e > 0 && e < Maxerrno && errlist[e])

		strlcpy (THIS->__retvalue, errlist[e], MAXSTRINGLEN);

%}

function returnstr (returnp)

%{ /* pure */

	long ret;



	/* XXX: unfortunate duplication with return.stp:retval() */



        if (CONTEXT->regs) {

#if defined (__i386__)

                ret = CONTEXT->regs->eax;

#elif defined (__x86_64__)

                ret = CONTEXT->regs->rax;

#elif defined (__powerpc64__)

                ret = CONTEXT->regs->gpr[3];

#elif defined (__ia64__)

                ret = CONTEXT->regs->r8;

#elif defined (__sparc64__)

                ret = CONTEXT->regs->u_regs[UREG_RETPC];

#else

                return;

#endif

        } else

                return;

	

	if (ret < 0 && ret > -Maxerrno && errlist[-ret])

		snprintf (THIS->__retvalue, MAXSTRINGLEN, "%ld (%s)", ret, errlist[-ret]);

	else if (THIS->returnp == 2)

		snprintf (THIS->__retvalue, MAXSTRINGLEN, "0x%lx", ret);

	else if (THIS->returnp == 3)

		snprintf (THIS->__retvalue, MAXSTRINGLEN, "%#lo", ret);

	else 	

		snprintf (THIS->__retvalue, MAXSTRINGLEN, "%ld", ret);

%}



# file /usr/local/share/systemtap/tapset/indent-default.stp

function __indent_timestamp ()

{

return gettimeofday_us()

}



# file /usr/local/share/systemtap/tapset/indent.stp

global _indent_counters

global _indent_timestamps

function _generic_indent (idx, delta)

{

(ts) = (__indent_timestamp())

if (!(_indent_counters[idx])) (_indent_timestamps[idx]) = (ts)



(x) = ((_indent_counters[idx]) + (((delta) > (0))?(delta):(0)))

(_indent_counters[idx]) += (delta)
mestamps[idx]), execname(), tid()))
for ((i) = (1); (i) < (x); (i)++) (r) .= (" ")
return r
}
function thread_indent (delta)
{
return _generic_indent(tid(), delta)
}

# file /usr/local/share/systemtap/tapset/inet_sock.stp
%{
#include <linux/version.h>
#include <net/sock.h>
#include <net/tcp.h>
#include <net/ip.h>

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,11)
#define LPORT   (inet->inet.num)
#define DADDR   (&inet->inet.daddr)
#else
#define LPORT   (inet->num)
#define DADDR   (&inet->daddr)
#endif
%}function inet_get_local_port (sock)
%{
	unsigned long ptr = (unsigned long) THIS->sock;
	struct inet_sock *inet = (struct inet_sock *) ptr;
        THIS->__retvalue = deref(sizeof(LPORT), &(LPORT));
        if (0) {
deref_fault:
            CONTEXT->last_error = "pointer dereference fault";
        }
%}
function inet_get_ip_source (sock)
%{
	unsigned long ptr = (unsigned long) THIS->sock;
	struct inet_sock *inet = (struct inet_sock *) ptr;
	unsigned char addr[4];

	memcpy(addr, DADDR, sizeof(addr));
	sprintf(THIS->__retvalue, "%d.%d.%d.%d",
           addr[0], addr[1],  addr[2], addr[3]);
%}

# file /usr/local/share/systemtap/tapset/ioblock.stp
%{
#include <linux/bio.h>
#include <linux/genhd.h>
%}global BIO_READ
global BIO_WRITE
probe ioblock.request = kernel.function("generic_make_request"){
(devname) = (__bio_devname($bio))
(ino) = (__bio_ino($bio))
(sector) = ($bio->bi_sector)
(flags) = ($bio->bi_flags)
(rw) = ($bio->bi_rw)
(vcnt) = ($bio->bi_vcnt)
(idx) = ($bio->bi_idx)
(phys_segments) = ($bio->bi_phys_segments)
(hw_segments) = ($bio->bi_hw_segments)
(size) = ($bio->bi_size)
(bdev) = ($bio->bi_bdev)
(bdev_contains) = ($bio->bi_bdev->bd_contains)
(p_start_sect) = (__bio_start_sect($bio))
}
probe ioblock.end = kernel.function("bio_endio"){
(devname) = (__bio_devname($bio))
(ino) = (__bio_ino($bio))
(bytes_done) = ($bytes_done)
(error) = ($error)
(sector) = ($bio->bi_sector)
(flags) = ($bio->bi_flags)
(rw) = ($bio->bi_rw)
(vcnt) = ($bio->bi_vcnt)
(idx) = ($bio->bi_idx)
(phys_segments) = ($bio->bi_phys_segments)
(hw_segments) = ($bio->bi_hw_segments)
(size) = ($bio->bi_size)
}
probe begin{
(BIO_READ) = (0)
(BIO_WRITE) = (1)
}
function __bio_ino (bio)
%{
        struct bio  *bio;
        struct page *bv_page;
        struct address_space *mapping;
        struct inode *host;

	bio = (struct bio *)(long)THIS->bio;
        bv_page = (struct page*)deref(sizeof(bio->bi_io_vec[0].bv_page),
        	&(bio->bi_io_vec[0].bv_page));
        if (bv_page == NULL) {
        	THIS->__retvalue = -1;
        	goto end;
        }
        mapping = (struct address_space*)deref(sizeof(bv_page->mapping),
        	&(bv_page->mapping));
        if (mapping == NULL) {
        	THIS->__retvalue = -1;
        	goto end;
        }
        host = (struct inode*)deref(sizeof(mapping->host),
        	&(mapping->host));
        if (host == NULL) {
        	THIS->__retvalue = -1;
        	goto end;
        }
        THIS->__retvalue = deref(sizeof(host->i_ino), &(host->i_ino));

        if (0) {
deref_fault:
        	CONTEXT->last_error = "pointer dereference fault";
        }
end: ;
%}
function __bio_direction (rw)
%{
        long rw = (long)THIS->rw;
        THIS->__retvalue = (rw & (1 << BIO_RW));
%}
function bio_rw_str (rw)
{
return ((__bio_direction(rw)) == (BIO_READ))?("R"):("W")
}
function __bio_start_sect (bio)
%{ 
	struct bio *bio;
        struct block_device *bi_bdev;
        struct hd_struct *bd_part;

	bio = (struct bio *)(long)THIS->bio;
        bi_bdev = (struct block_device *)deref(sizeof(bio->bi_bdev), 
		&(bio->bi_bdev));
        if (bi_bdev == NULL) {
        	THIS->__retvalue = -1;
		goto end;
        } 
        bd_part = (struct hd_struct *)deref(sizeof(bi_bdev->bd_part),
		 &(bi_bdev->bd_part));
        if (bd_part == NULL) {
        	THIS->__retvalue = -1;
		goto end;
        }

       /*
          There is a bug in deref() that prevents the code below. 
          THIS->__retvalue = der
(r) = (sprintf("%6d %s(%d):", (ts) - (_indent_timestamps[idx]), execname(), tid()))

for ((i) = (1); (i) < (x); (i)++) (r) .= (" ")

return r

}

function thread_indent (delta)

{

return _generic_indent(tid(), delta)

}



# file /usr/local/share/systemtap/tapset/inet_sock.stp

%{

#include <linux/version.h>

#include <net/sock.h>

#include <net/tcp.h>

#include <net/ip.h>



#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,11)

#define LPORT   (inet->inet.num)

#define DADDR   (&inet->inet.daddr)

#else

#define LPORT   (inet->num)

#define DADDR   (&inet->daddr)

#endif

%}function inet_get_local_port (sock)

%{

	unsigned long ptr = (unsigned long) THIS->sock;

	struct inet_sock *inet = (struct inet_sock *) ptr;

        THIS->__retvalue = deref(sizeof(LPORT), &(LPORT));

        if (0) {

deref_fault:

            CONTEXT->last_error = "pointer dereference fault";

        }

%}

function inet_get_ip_source (sock)

%{

	unsigned long ptr = (unsigned long) THIS->sock;

	struct inet_sock *inet = (struct inet_sock *) ptr;

	unsigned char addr[4];



	memcpy(addr, DADDR, sizeof(addr));

	sprintf(THIS->__retvalue, "%d.%d.%d.%d",

           addr[0], addr[1],  addr[2], addr[3]);

%}



# file /usr/local/share/systemtap/tapset/ioblock.stp

%{

#include <linux/bio.h>

#include <linux/genhd.h>

%}global BIO_READ

global BIO_WRITE

probe ioblock.request = kernel.function("generic_make_request"){

(devname) = (__bio_devname($bio))

(ino) = (__bio_ino($bio))

(sector) = ($bio->bi_sector)

(flags) = ($bio->bi_flags)

(rw) = ($bio->bi_rw)

(vcnt) = ($bio->bi_vcnt)

(idx) = ($bio->bi_idx)

(phys_segments) = ($bio->bi_phys_segments)

(hw_segments) = ($bio->bi_hw_segments)

(size) = ($bio->bi_size)

(bdev) = ($bio->bi_bdev)

(bdev_contains) = ($bio->bi_bdev->bd_contains)

(p_start_sect) = (__bio_start_sect($bio))

}

probe ioblock.end = kernel.function("bio_endio"){

(devname) = (__bio_devname($bio))

(ino) = (__bio_ino($bio))

(bytes_done) = ($bytes_done)

(error) = ($error)

(sector) = ($bio->bi_sector)

(flags) = ($bio->bi_flags)

(rw) = ($bio->bi_rw)

(vcnt) = ($bio->bi_vcnt)

(idx) = ($bio->bi_idx)

(phys_segments) = ($bio->bi_phys_segments)

(hw_segments) = ($bio->bi_hw_segments)

(size) = ($bio->bi_size)

}

probe begin{

(BIO_READ) = (0)

(BIO_WRITE) = (1)

}

function __bio_ino (bio)

%{

        struct bio  *bio;

        struct page *bv_page;

        struct address_space *mapping;

        struct inode *host;



	bio = (struct bio *)(long)THIS->bio;

        bv_page = (struct page*)deref(sizeof(bio->bi_io_vec[0].bv_page),

        	&(bio->bi_io_vec[0].bv_page));

        if (bv_page == NULL) {

        	THIS->__retvalue = -1;

        	goto end;

        }

        mapping = (struct address_space*)deref(sizeof(bv_page->mapping),

        	&(bv_page->mapping));

        if (mapping == NULL) {

        	THIS->__retvalue = -1;

        	goto end;

        }

        host = (struct inode*)deref(sizeof(mapping->host),

        	&(mapping->host));

        if (host == NULL) {

        	THIS->__retvalue = -1;

        	goto end;

        }

        THIS->__retvalue = deref(sizeof(host->i_ino), &(host->i_ino));



        if (0) {

deref_fault:

        	CONTEXT->last_error = "pointer dereference fault";

        }

end: ;

%}

function __bio_direction (rw)

%{

        long rw = (long)THIS->rw;

        THIS->__retvalue = (rw & (1 << BIO_RW));

%}

function bio_rw_str (rw)

{

return ((__bio_direction(rw)) == (BIO_READ))?("R"):("W")

}

function __bio_start_sect (bio)

%{ 

	struct bio *bio;

        struct block_device *bi_bdev;

        struct hd_struct *bd_part;



	bio = (struct bio *)(long)THIS->bio;

        bi_bdev = (struct block_device *)deref(sizeof(bio->bi_bdev), 

		&(bio->bi_bdev));

        if (bi_bdev == NULL) {

        	THIS->__retvalue = -1;

		goto end;

        } 

        bd_part = (struct hd_struct *)deref(sizeof(bi_bdev->bd_part),

		 &(bi_bdev->bd_part));

        if (bd_part == NULL) {

        	THIS->__retvalue = -1;

		goto end;

        }



       /*

          There is a bug in deref() that prevents the code below. 
ef(sizeof(bd_part->start_sect), 
		&(bd_part->start_sect));
       */

       THIS->__retvalue = bd_part->start_sect;

       if (0) {
deref_fault:
       		CONTEXT->last_error = "pointer dereference fault";
       } 
end: ;
%}
function __bio_devname (bio)
%{
        char b[BDEVNAME_SIZE];
        struct bio *bio = (struct bio *)(long)THIS->bio;
        if (bio == NULL || bio->bi_bdev == NULL) {
                strlcpy(THIS->__retvalue, "N/A", MAXSTRINGLEN);
                return;
        }
        deref_string(THIS->__retvalue, bdevname(bio->bi_bdev,b), MAXSTRINGLEN);
        if (0) {
deref_fault:
                CONTEXT->last_error = "pointer dereference fault";
        }
%}

# file /usr/local/share/systemtap/tapset/ioscheduler.stp
%{
#include <linux/blkdev.h>
#include <linux/elevator.h>
%}probe ioscheduler.elv_next_request = kernel.function("elv_next_request"){
(elevator_name) = (kernel_string($q->elevator->elevator_type->elevator_name))
}
probe ioscheduler.elv_next_request.return = kernel.function("elv_next_request").return{
if (($return) == (0)) {
(req) = (0)
(req_flags) = (0)
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
(req) = ($return)
(req_flags) = ($return->flags)
if (($return->rq_disk) == (0)) {
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
(disk_major) = ($return->rq_disk->major)
(disk_minor) = ($return->rq_disk->first_minor)
}

}

}
probe ioscheduler.elv_add_request = kernel.function("__elv_add_request"){
(elevator_name) = (kernel_string($q->elevator->elevator_type->elevator_name))
if (($rq) == (0)) {
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
if (($rq->rq_disk) == (0)) {
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
(disk_major) = ($rq->rq_disk->major)
(disk_minor) = ($rq->rq_disk->first_minor)
}

}

(req) = ($rq)
(req_flags) = ($rq->flags)
}
probe ioscheduler.elv_completed_request = kernel.function("elv_completed_request"){
(elevator_name) = (kernel_string($q->elevator->elevator_type->elevator_name))
if (($rq) == (0)) {
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
if (($rq->rq_disk) == (0)) {
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
(disk_major) = ($rq->rq_disk->major)
(disk_minor) = ($rq->rq_disk->first_minor)
}

}

(req) = ($rq)
(req_flags) = ($rq->flags)
}
function disk_major_from_request (var_q)
%{ /* pure */
	struct request_queue *q;
	struct request *rq;

	q = (struct request_queue *)((long)THIS->var_q);

	if(list_empty(&(q->queue_head)))
		THIS->__retvalue = -1;
	else  {
		rq = list_entry_rq(q->queue_head.next);
		THIS->__retvalue =  rq->rq_disk->first_minor;
	}
%}
function disk_minor_from_request (var_q)
%{ /* pure */
	struct request_queue *q;
	struct request *rq;

	q = (struct request_queue *)((long)THIS->var_q);

	if(list_empty(&(q->queue_head)))
		THIS->__retvalue = -1;
	else  {
		rq = list_entry_rq(q->queue_head.next);
		THIS->__retvalue =  rq->rq_disk->first_minor;
	}
%}

# file /usr/local/share/systemtap/tapset/logging.stp
function log (msg)
%{
	_stp_printf ("%s\n", THIS->msg);
%}
function warn (msg)
%{
    _stp_warn ("%s", THIS->msg);
%}
function exit ()
%{
    atomic_set (&session_state, STAP_SESSION_STOPPING);
    _stp_exit ();
%}
function error (msg)
%{
    /* This is an assignment of a local char[] to a global char*.
       It would normally be just as unsafe as returning a pointer to
       a local variable from a function.  However, the translated
       code ensures that upon an error (last_error != NULL), the
       context stack is only ever unwound, and not reused, before
       the probe-level stp-error call.  */
    CONTEXT->last_error = THIS->msg;
    CONTEXT->last_stmt = NULL;
%}
function stp_print_binary (n, arg1, arg2, arg3, arg4)
%{
	_stp_print_binary (THIS->n, THIS->arg1, THIS->arg2, THIS->arg3, THIS->arg4);
%}

# file /usr/local/share/systemtap/tapset/memory.stp
probe vm.pagefault = kernel.function("__handle_mm_fault"){
(write_access) = ($write_access)
(address) =
          THIS->__retvalue = deref(sizeof(bd_part->start_sect), 

		&(bd_part->start_sect));

       */



       THIS->__retvalue = bd_part->start_sect;



       if (0) {

deref_fault:

       		CONTEXT->last_error = "pointer dereference fault";

       } 

end: ;

%}

function __bio_devname (bio)

%{

        char b[BDEVNAME_SIZE];

        struct bio *bio = (struct bio *)(long)THIS->bio;

        if (bio == NULL || bio->bi_bdev == NULL) {

                strlcpy(THIS->__retvalue, "N/A", MAXSTRINGLEN);

                return;

        }

        deref_string(THIS->__retvalue, bdevname(bio->bi_bdev,b), MAXSTRINGLEN);

        if (0) {

deref_fault:

                CONTEXT->last_error = "pointer dereference fault";

        }

%}



# file /usr/local/share/systemtap/tapset/ioscheduler.stp

%{

#include <linux/blkdev.h>

#include <linux/elevator.h>

%}probe ioscheduler.elv_next_request = kernel.function("elv_next_request"){

(elevator_name) = (kernel_string($q->elevator->elevator_type->elevator_name))

}

probe ioscheduler.elv_next_request.return = kernel.function("elv_next_request").return{

if (($return) == (0)) {

(req) = (0)

(req_flags) = (0)

(disk_major) = (-(1))

(disk_minor) = (-(1))

}

else {

(req) = ($return)

(req_flags) = ($return->flags)

if (($return->rq_disk) == (0)) {

(disk_major) = (-(1))

(disk_minor) = (-(1))

}

else {

(disk_major) = ($return->rq_disk->major)

(disk_minor) = ($return->rq_disk->first_minor)

}



}



}

probe ioscheduler.elv_add_request = kernel.function("__elv_add_request"){

(elevator_name) = (kernel_string($q->elevator->elevator_type->elevator_name))

if (($rq) == (0)) {

(disk_major) = (-(1))

(disk_minor) = (-(1))

}

else {

if (($rq->rq_disk) == (0)) {

(disk_major) = (-(1))

(disk_minor) = (-(1))

}

else {

(disk_major) = ($rq->rq_disk->major)

(disk_minor) = ($rq->rq_disk->first_minor)

}



}



(req) = ($rq)

(req_flags) = ($rq->flags)

}

probe ioscheduler.elv_completed_request = kernel.function("elv_completed_request"){

(elevator_name) = (kernel_string($q->elevator->elevator_type->elevator_name))

if (($rq) == (0)) {

(disk_major) = (-(1))

(disk_minor) = (-(1))

}

else {

if (($rq->rq_disk) == (0)) {

(disk_major) = (-(1))

(disk_minor) = (-(1))

}

else {

(disk_major) = ($rq->rq_disk->major)

(disk_minor) = ($rq->rq_disk->first_minor)

}



}



(req) = ($rq)

(req_flags) = ($rq->flags)

}

function disk_major_from_request (var_q)

%{ /* pure */

	struct request_queue *q;

	struct request *rq;



	q = (struct request_queue *)((long)THIS->var_q);



	if(list_empty(&(q->queue_head)))

		THIS->__retvalue = -1;

	else  {

		rq = list_entry_rq(q->queue_head.next);

		THIS->__retvalue =  rq->rq_disk->first_minor;

	}

%}

function disk_minor_from_request (var_q)

%{ /* pure */

	struct request_queue *q;

	struct request *rq;



	q = (struct request_queue *)((long)THIS->var_q);



	if(list_empty(&(q->queue_head)))

		THIS->__retvalue = -1;

	else  {

		rq = list_entry_rq(q->queue_head.next);

		THIS->__retvalue =  rq->rq_disk->first_minor;

	}

%}



# file /usr/local/share/systemtap/tapset/logging.stp

function log (msg)

%{

	_stp_printf ("%s\n", THIS->msg);

%}

function warn (msg)

%{

    _stp_warn ("%s", THIS->msg);

%}

function exit ()

%{

    atomic_set (&session_state, STAP_SESSION_STOPPING);

    _stp_exit ();

%}

function error (msg)

%{

    /* This is an assignment of a local char[] to a global char*.

       It would normally be just as unsafe as returning a pointer to

       a local variable from a function.  However, the translated

       code ensures that upon an error (last_error != NULL), the

       context stack is only ever unwound, and not reused, before

       the probe-level stp-error call.  */

    CONTEXT->last_error = THIS->msg;

    CONTEXT->last_stmt = NULL;

%}

function stp_print_binary (n, arg1, arg2, arg3, arg4)

%{

	_stp_print_binary (THIS->n, THIS->arg1, THIS->arg2, THIS->arg3, THIS->arg4);

%}



# file /usr/local/share/systemtap/tapset/memory.stp

probe vm.pagefault = kernel.function("__handle_mm_fault"){

(write_access) = ($write_access)
 ($address)
}
probe vm.write_shared = kernel.function("do_wp_page"){
(address) = ($address)
}
probe vm.write_shared_copy = kernel.inline("copy_cow_page")?{
(address) = ($address)
(zero) = (_IS_ZERO_PAGE($from, address))
;
}
probe vm.mmap = kernel.inline("do_mmap"), kernel.inline("do_mmap2")?{
(address) = ($addr)
(length) = ($len)
}
probe vm.munmap = kernel.function("do_munmap"){
(address) = ($start)
(length) = ($len)
}
probe vm.brk = kernel.function("do_brk"){
(address) = ($addr)
(length) = ($len)
}
probe vm.oom_kill = kernel.function("__oom_kill_task"){
(task) = ($p)
}
function addr_to_node (addr)
%{
        int nid;
        int pfn = __pa(THIS->addr) >> PAGE_SHIFT;
        for_each_online_node(nid)
                if ( node_start_pfn(nid) <= pfn &&
                        pfn < (node_start_pfn(nid) +
                        NODE_DATA(nid)->node_spanned_pages) )
                {
			THIS->__retvalue = nid;
                        break;
                }
%}
function _IS_ZERO_PAGE (from, vaddr)
%{ /* pure */
    THIS->__retvalue = (from == ZERO_PAGE(vaddr));
%}

# file /usr/local/share/systemtap/tapset/networking.stp
%{
#include <linux/netdevice.h>
%}probe netdev.receive = kernel.function("netif_receive_skb"){
(dev_name) = (kernel_string($skb->dev->name))
(length) = ($skb->len)
(protocol) = ($skb->protocol)
(truesize) = ($skb->truesize)
}
probe netdev.transmit = kernel.function("dev_queue_xmit"){
(dev_name) = (kernel_string($skb->dev->name))
(length) = ($skb->len)
(protocol) = ($skb->protocol)
(truesize) = ($skb->truesize)
}

# file /usr/local/share/systemtap/tapset/nfs.stp
%{
#include <linux/kernel.h>
#include <linux/nfs_fs.h>
%}%{ 
  struct nfs_inode * __nfs_i (struct inode *inode)
  {
    struct nfs_inode * nfsi = NFS_I(inode);

    return (nfsi);
  }
%}probe nfs.fop.entries = nfs.fop.llseek, nfs.fop.read, nfs.fop.write, nfs.fop.aio_read, nfs.fop.aio_write, nfs.fop.mmap, nfs.fop.open, nfs.fop.flush, nfs.fop.release, nfs.fop.fsync, nfs.fop.lock, nfs.fop.sendfile{
}
probe nfs.fop.return = nfs.fop.llseek.return, nfs.fop.read.return, nfs.fop.write.return, nfs.fop.aio_read.return, nfs.fop.aio_write.return, nfs.fop.mmap.return, nfs.fop.open.return, nfs.fop.flush.return, nfs.fop.release.return, nfs.fop.fsync.return, nfs.fop.lock.return, nfs.fop.sendfile.return{
}
probe nfs.fop.llseek = kernel.function("nfs_file_llseek")?, module("nfs").function("nfs_file_llseek")?{
(dev) = (__file_dev($filp))
(ino) = (__file_ino($filp))
(s_id) = (__file_id($filp))
(devname) = (kernel_string(s_id))
(maxbyte) = (__file_maxbytes($filp))
(offset) = ($offset)
(origin) = ($origin)
(name) = ("nfs.fop.llseek")
(argstr) = (sprintf("%d, %d", offset, origin))
}
probe nfs.fop.llseek.return = kernel.function("nfs_file_llseek").return?, module("nfs").function("nfs_file_llseek").return?{
(name) = ("nfs.fop.llseek.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.read = vfs.do_sync_read{
(s_id) = (__file_id($filp))
(devname) = (kernel_string(s_id))
(name) = ("nfs.fop.read")
}
probe nfs.fop.read.return = vfs.do_sync_read.return{
(name) = ("nfs.fop.read.return")
}
probe nfs.fop.write = vfs.do_sync_write{
(s_id) = (__file_id($filp))
(devname) = (kernel_string(s_id))
(name) = ("nfs.fop.write")
}
probe nfs.fop.write.return = vfs.do_sync_write.return{
(name) = ("nfs.fop.write.return")
}
probe nfs.fop.aio_read = kernel.function("nfs_file_read")?, module("nfs").function("nfs_file_read")?{
(dev) = (__file_dev($iocb->ki_filp))
(ino) = (__file_ino($iocb->ki_filp))
(s_id) = (__file_id($iocb->ki_filp))
(devname) = (kernel_string(s_id))
(count) = ($count)
(pos) = ($pos)
(buf) = ($buf)
(parent_name) = (__file_parentname($iocb->ki_filp))
(file_name) = (__file_filename($iocb->ki_filp))
(cache_valid) = (__nfsi_cache_valid(__file_inode($iocb->ki_filp)))
(cache_time) = (__nfsi_rcache_time(__file_inode($iocb->ki_filp)))
(attr_time) = (__nfsi_attr_time(__file_inode($iocb->ki_filp)))
(name) = ("nfs.fop.aio_read")
(argstr) = (sprintf("%p,%d, %d", buf, 
(address) = ($address)

}

probe vm.write_shared = kernel.function("do_wp_page"){

(address) = ($address)

}

probe vm.write_shared_copy = kernel.inline("copy_cow_page")?{

(address) = ($address)

(zero) = (_IS_ZERO_PAGE($from, address))

;

}

probe vm.mmap = kernel.inline("do_mmap"), kernel.inline("do_mmap2")?{

(address) = ($addr)

(length) = ($len)

}

probe vm.munmap = kernel.function("do_munmap"){

(address) = ($start)

(length) = ($len)

}

probe vm.brk = kernel.function("do_brk"){

(address) = ($addr)

(length) = ($len)

}

probe vm.oom_kill = kernel.function("__oom_kill_task"){

(task) = ($p)

}

function addr_to_node (addr)

%{

        int nid;

        int pfn = __pa(THIS->addr) >> PAGE_SHIFT;

        for_each_online_node(nid)

                if ( node_start_pfn(nid) <= pfn &&

                        pfn < (node_start_pfn(nid) +

                        NODE_DATA(nid)->node_spanned_pages) )

                {

			THIS->__retvalue = nid;

                        break;

                }

%}

function _IS_ZERO_PAGE (from, vaddr)

%{ /* pure */

    THIS->__retvalue = (from == ZERO_PAGE(vaddr));

%}



# file /usr/local/share/systemtap/tapset/networking.stp

%{

#include <linux/netdevice.h>

%}probe netdev.receive = kernel.function("netif_receive_skb"){

(dev_name) = (kernel_string($skb->dev->name))

(length) = ($skb->len)

(protocol) = ($skb->protocol)

(truesize) = ($skb->truesize)

}

probe netdev.transmit = kernel.function("dev_queue_xmit"){

(dev_name) = (kernel_string($skb->dev->name))

(length) = ($skb->len)

(protocol) = ($skb->protocol)

(truesize) = ($skb->truesize)

}



# file /usr/local/share/systemtap/tapset/nfs.stp

%{

#include <linux/kernel.h>

#include <linux/nfs_fs.h>

%}%{ 

  struct nfs_inode * __nfs_i (struct inode *inode)

  {

    struct nfs_inode * nfsi = NFS_I(inode);



    return (nfsi);

  }

%}probe nfs.fop.entries = nfs.fop.llseek, nfs.fop.read, nfs.fop.write, nfs.fop.aio_read, nfs.fop.aio_write, nfs.fop.mmap, nfs.fop.open, nfs.fop.flush, nfs.fop.release, nfs.fop.fsync, nfs.fop.lock, nfs.fop.sendfile{

}

probe nfs.fop.return = nfs.fop.llseek.return, nfs.fop.read.return, nfs.fop.write.return, nfs.fop.aio_read.return, nfs.fop.aio_write.return, nfs.fop.mmap.return, nfs.fop.open.return, nfs.fop.flush.return, nfs.fop.release.return, nfs.fop.fsync.return, nfs.fop.lock.return, nfs.fop.sendfile.return{

}

probe nfs.fop.llseek = kernel.function("nfs_file_llseek")?, module("nfs").function("nfs_file_llseek")?{

(dev) = (__file_dev($filp))

(ino) = (__file_ino($filp))

(s_id) = (__file_id($filp))

(devname) = (kernel_string(s_id))

(maxbyte) = (__file_maxbytes($filp))

(offset) = ($offset)

(origin) = ($origin)

(name) = ("nfs.fop.llseek")

(argstr) = (sprintf("%d, %d", offset, origin))

}

probe nfs.fop.llseek.return = kernel.function("nfs_file_llseek").return?, module("nfs").function("nfs_file_llseek").return?{

(name) = ("nfs.fop.llseek.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.fop.read = vfs.do_sync_read{

(s_id) = (__file_id($filp))

(devname) = (kernel_string(s_id))

(name) = ("nfs.fop.read")

}

probe nfs.fop.read.return = vfs.do_sync_read.return{

(name) = ("nfs.fop.read.return")

}

probe nfs.fop.write = vfs.do_sync_write{

(s_id) = (__file_id($filp))

(devname) = (kernel_string(s_id))

(name) = ("nfs.fop.write")

}

probe nfs.fop.write.return = vfs.do_sync_write.return{

(name) = ("nfs.fop.write.return")

}

probe nfs.fop.aio_read = kernel.function("nfs_file_read")?, module("nfs").function("nfs_file_read")?{

(dev) = (__file_dev($iocb->ki_filp))

(ino) = (__file_ino($iocb->ki_filp))

(s_id) = (__file_id($iocb->ki_filp))

(devname) = (kernel_string(s_id))

(count) = ($count)

(pos) = ($pos)

(buf) = ($buf)

(parent_name) = (__file_parentname($iocb->ki_filp))

(file_name) = (__file_filename($iocb->ki_filp))

(cache_valid) = (__nfsi_cache_valid(__file_inode($iocb->ki_filp)))

(cache_time) = (__nfsi_rcache_time(__file_inode($iocb->ki_filp)))

(attr_time) = (__nfsi_attr_time(__file_inode($iocb->ki_filp)))

(name) = ("nfs.fop.aio_read")
count, pos))
(size) = (count)
(units) = ("bytes")
}
probe nfs.fop.aio_read.return = kernel.function("nfs_file_read").return?, module("nfs").function("nfs_file_read").return?{
(name) = ("nfs.fop.aio_read.return")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}

}
probe nfs.fop.aio_write = kernel.function("nfs_file_write")?, module("nfs").function("nfs_file_write")?{
(dev) = (__file_dev($iocb->ki_filp))
(ino) = (__file_ino($iocb->ki_filp))
(s_id) = (__file_id($iocb->ki_filp))
(devname) = (kernel_string(s_id))
(count) = ($count)
(pos) = ($pos)
(buf) = ($buf)
(parent_name) = (__file_parentname($iocb->ki_filp))
(file_name) = (__file_filename($iocb->ki_filp))
(name) = ("nfs.fop.aio.write")
(argstr) = (sprintf("%p, %d, %d", buf, count, pos))
(size) = (count)
(units) = ("bytes")
}
probe nfs.fop.aio_write.return = kernel.function("nfs_file_write").return?, module("nfs").function("nfs_file_write").return?{
(name) = ("nfs.fop.aio_write.return")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}

}
probe nfs.fop.mmap = kernel.function("nfs_file_mmap")?, module("nfs").function("nfs_file_mmap")?{
(dev) = (__file_dev($file))
(ino) = (__file_ino($file))
(s_id) = (__file_id($file))
(devname) = (kernel_string(s_id))
(vm_start) = ($vma->vm_start)
(vm_end) = ($vma->vm_end)
(vm_flags) = ($vma->vm_flags)
(parent_name) = (__file_parentname($file))
(file_name) = (__file_filename($file))
(cache_valid) = (__nfsi_cache_valid(__file_inode($file)))
(cache_time) = (__nfsi_rcache_time(__file_inode($file)))
(attr_time) = (__nfsi_attr_time(__file_inode($file)))
(name) = ("nfs.fop.mmap")
(argstr) = (sprintf("0x%x, 0x%x, 0x%x", vm_start, vm_end, vm_flags))
}
probe nfs.fop.mmap.return = kernel.function("nfs_file_mmap").return?, module("nfs").function("nfs_file_mmap").return?{
(name) = ("nfs.fop.mmap.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.open = kernel.function("nfs_file_open")?, module("nfs").function("nfs_file_open")?{
(dev) = (__file_dev($filp))
(ino) = ($inode->i_ino)
(s_id) = ($inode->i_sb->s_id)
(devname) = (kernel_string(s_id))
(filename) = (__file_filename($filp))
(flag) = ($filp->f_flags)
(i_size) = ($inode->i_size)
(name) = ("nfs.fop.open")
(argstr) = (sprintf("%d,%d, %s", flag, ino, filename))
}
probe nfs.fop.open.return = kernel.function("nfs_file_open").return?, module("nfs").function("nfs_file_open").return?{
(name) = ("nfs.fop.open.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.flush = kernel.function("nfs_file_flush")?, module("nfs").function("nfs_file_flush")?{
(dev) = (__file_dev($file))
(ino) = (__file_ino($file))
(s_id) = (__file_id($file))
(devname) = (kernel_string(s_id))
(mode) = ($file->f_mode)
(ndirty) = (__nfsi_ndirty(__file_inode($file)))
(name) = ("nfs.fop.flush")
(argstr) = (sprintf("%d", ino))
}
probe nfs.fop.flush.return = kernel.function("nfs_file_flush").return?, module("nfs").function("nfs_file_flush").return?{
(name) = ("nfs.fop.flush.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.release = kernel.function("nfs_file_release")?, module("nfs").function("nfs_file_release")?{
(dev) = (__file_dev($filp))
(ino) = ($inode->i_ino)
(s_id) = ($inode->i_sb->s_id)
(devname) = (kernel_string(s_id))
(mode) = ($filp->f_mode)
(name) = ("nfs.fop.release")
(argstr) = (sprintf("%d", ino))
}
probe nfs.fop.release.return = kernel.function("nfs_file_release").return?, module("nfs").function("nfs_file_release").return?{
(name) = ("nfs.fop.release.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.fsync = kernel.function("nfs_fsync")?, module("nfs").function("nfs_fsync")?{
(dev) = (__file_dev($file))
(ino) = (__file_ino($file))
(s_id) = (__file_id($file))
(devname) = (kernel_string(s_id))
(ndirty) = (__nfsi_ndirty(__file_inode($file)))
(name) = ("nfs.fop.fsync")
(argstr) = (sprintf("%d", ino))
}
probe nfs.fop.fsync.return = kernel.function("nfs_fsync").return?, module("nfs").functi
(argstr) = (sprintf("%p,%d, %d", buf, count, pos))

(size) = (count)

(units) = ("bytes")

}

probe nfs.fop.aio_read.return = kernel.function("nfs_file_read").return?, module("nfs").function("nfs_file_read").return?{

(name) = ("nfs.fop.aio_read.return")

(retstr) = (sprintf("%d", $return))

if (($return) > (0)) {

(size) = ($return)

(units) = ("bytes")

}



}

probe nfs.fop.aio_write = kernel.function("nfs_file_write")?, module("nfs").function("nfs_file_write")?{

(dev) = (__file_dev($iocb->ki_filp))

(ino) = (__file_ino($iocb->ki_filp))

(s_id) = (__file_id($iocb->ki_filp))

(devname) = (kernel_string(s_id))

(count) = ($count)

(pos) = ($pos)

(buf) = ($buf)

(parent_name) = (__file_parentname($iocb->ki_filp))

(file_name) = (__file_filename($iocb->ki_filp))

(name) = ("nfs.fop.aio.write")

(argstr) = (sprintf("%p, %d, %d", buf, count, pos))

(size) = (count)

(units) = ("bytes")

}

probe nfs.fop.aio_write.return = kernel.function("nfs_file_write").return?, module("nfs").function("nfs_file_write").return?{

(name) = ("nfs.fop.aio_write.return")

(retstr) = (sprintf("%d", $return))

if (($return) > (0)) {

(size) = ($return)

(units) = ("bytes")

}



}

probe nfs.fop.mmap = kernel.function("nfs_file_mmap")?, module("nfs").function("nfs_file_mmap")?{

(dev) = (__file_dev($file))

(ino) = (__file_ino($file))

(s_id) = (__file_id($file))

(devname) = (kernel_string(s_id))

(vm_start) = ($vma->vm_start)

(vm_end) = ($vma->vm_end)

(vm_flags) = ($vma->vm_flags)

(parent_name) = (__file_parentname($file))

(file_name) = (__file_filename($file))

(cache_valid) = (__nfsi_cache_valid(__file_inode($file)))

(cache_time) = (__nfsi_rcache_time(__file_inode($file)))

(attr_time) = (__nfsi_attr_time(__file_inode($file)))

(name) = ("nfs.fop.mmap")

(argstr) = (sprintf("0x%x, 0x%x, 0x%x", vm_start, vm_end, vm_flags))

}

probe nfs.fop.mmap.return = kernel.function("nfs_file_mmap").return?, module("nfs").function("nfs_file_mmap").return?{

(name) = ("nfs.fop.mmap.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.fop.open = kernel.function("nfs_file_open")?, module("nfs").function("nfs_file_open")?{

(dev) = (__file_dev($filp))

(ino) = ($inode->i_ino)

(s_id) = ($inode->i_sb->s_id)

(devname) = (kernel_string(s_id))

(filename) = (__file_filename($filp))

(flag) = ($filp->f_flags)

(i_size) = ($inode->i_size)

(name) = ("nfs.fop.open")

(argstr) = (sprintf("%d,%d, %s", flag, ino, filename))

}

probe nfs.fop.open.return = kernel.function("nfs_file_open").return?, module("nfs").function("nfs_file_open").return?{

(name) = ("nfs.fop.open.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.fop.flush = kernel.function("nfs_file_flush")?, module("nfs").function("nfs_file_flush")?{

(dev) = (__file_dev($file))

(ino) = (__file_ino($file))

(s_id) = (__file_id($file))

(devname) = (kernel_string(s_id))

(mode) = ($file->f_mode)

(ndirty) = (__nfsi_ndirty(__file_inode($file)))

(name) = ("nfs.fop.flush")

(argstr) = (sprintf("%d", ino))

}

probe nfs.fop.flush.return = kernel.function("nfs_file_flush").return?, module("nfs").function("nfs_file_flush").return?{

(name) = ("nfs.fop.flush.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.fop.release = kernel.function("nfs_file_release")?, module("nfs").function("nfs_file_release")?{

(dev) = (__file_dev($filp))

(ino) = ($inode->i_ino)

(s_id) = ($inode->i_sb->s_id)

(devname) = (kernel_string(s_id))

(mode) = ($filp->f_mode)

(name) = ("nfs.fop.release")

(argstr) = (sprintf("%d", ino))

}

probe nfs.fop.release.return = kernel.function("nfs_file_release").return?, module("nfs").function("nfs_file_release").return?{

(name) = ("nfs.fop.release.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.fop.fsync = kernel.function("nfs_fsync")?, module("nfs").function("nfs_fsync")?{

(dev) = (__file_dev($file))

(ino) = (__file_ino($file))

(s_id) = (__file_id($file))

(devname) = (kernel_string(s_id))

(ndirty) = (__nfsi_ndirty(__file_inode($file)))

(name) = ("nfs.fop.fsync")

(argstr) = (sprintf("%d", ino))

}
on("nfs_fsync").return?{
(name) = ("nfs.fop.fsync.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.lock = kernel.function("nfs_lock")?, module("nfs").function("nfs_lock")?{
(dev) = (__file_dev($filp))
(ino) = (__file_ino($filp))
(s_id) = (__file_id($filp))
(devname) = (kernel_string(s_id))
(i_mode) = (__file_mode($filp))
(cmd) = ($cmd)
(fl_type) = ($fl->fl_type)
(fl_flag) = ($fl->fl_flags)
(fl_start) = ($fl->fl_start)
(fl_end) = ($fl->fl_end)
(name) = ("nfs.fop.lock")
(argstr) = (sprintf("%d,%d", cmd, i_mode))
}
probe nfs.fop.lock.return = kernel.function("nfs_lock").return?, module("nfs").function("nfs_lock").return?{
(name) = ("nfs.fop.lock.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.fop.sendfile = kernel.function("nfs_file_sendfile")?, module("nfs").function("nfs_file_sendfile")?{
(dev) = (__file_dev($filp))
(ino) = (__file_ino($filp))
(s_id) = (__file_id($filp))
(devname) = (kernel_string(s_id))
(count) = ($count)
(ppos) = (__d_loff_t($ppos))
(cache_valid) = (__nfsi_cache_valid(__file_inode($filp)))
(cache_time) = (__nfsi_rcache_time(__file_inode($filp)))
(attr_time) = (__nfsi_attr_time(__file_inode($filp)))
(name) = ("nfs.fop.sendfile")
(argstr) = (sprintf("%d,%d", count, ppos))
(size) = (count)
(units) = ("bytes")
}
probe nfs.fop.sendfile.return = kernel.function("nfs_file_sendfile").return?, module("nfs").function("nfs_file_sendfile").return?{
(name) = ("nfs.fopsendfile.return")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}

}
probe nfs.fop.check_flags = kernel.function("nfs_check_flags")?, module("nfs").function("nfs_check_flags")?{
(flag) = ($flags)
(name) = ("nfs.fop.check_flags")
(argstr) = (sprintf("%d", flag))
}
probe nfs.fop.check_flags.return = kernel.function("nfs_check_flags").return?, module("nfs").function("nfs_check_flags").return?{
(name) = ("nfs.fop.check_flags.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.aop.entries = nfs.aop.readpage, nfs.aop.readpages, nfs.aop.writepage, nfs.aop.writepages, nfs.aop.release_page?, nfs.aop.prepare_write, nfs.aop.commit_write{
}
probe nfs.aop.return = nfs.aop.readpage.return, nfs.aop.readpages.return, nfs.aop.writepage.return, nfs.aop.writepages.return, nfs.aop.release_page.return?, nfs.aop.prepare_write.return, nfs.aop.commit_write.return{
}
probe nfs.aop.readpage = kernel.function("nfs_readpage")?, module("nfs").function("nfs_readpage")?{
(__page) = ($page)
(dev) = (__page_dev(__page))
(ino) = (__page_ino(__page))
(i_flag) = (__p2i_flag($page))
(i_size) = (__p2i_size($page))
(sb_flag) = (__p2sb_flag($page))
(file) = ($file)
(page_index) = ($page->index)
(__inode) = (__p2i($page))
(rsize) = (__nfs_server_rsize(__inode))
(name) = ("nfs.aop.readpage")
(argstr) = (sprintf("%d,%d", page_index, r_size))
(size) = (1)
(units) = ("pages")
}
probe nfs.aop.readpage.return = kernel.function("nfs_readpage").return?, module("nfs").function("nfs_readpage").return?{
(name) = ("nfs.aop.readpage.return")
(retstr) = (sprintf("%d", $return))
(size) = (1)
(units) = ("pages")
}
probe nfs.aop.readpages = kernel.function("nfs_readpages")?, module("nfs").function("nfs_readpages")?{
(dev) = ($mapping->host->i_sb->s_dev)
(ino) = ($mapping->host->i_ino)
(nr_pages) = ($nr_pages)
(file) = ($filp)
(rpages) = (__nfs_rpages($mapping->host))
(rsize) = (__nfs_server_rsize($mapping->host))
(name) = ("nfs.aop.readpages")
(argstr) = (sprintf("%d", nr_pages))
(size) = (nr_pages)
(units) = ("pages")
}
probe nfs.aop.readpages.return = kernel.function("nfs_readpages").return?, module("nfs").function("nfs_readpages").return?{
(name) = ("nfs.aop.readpages.return")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = (retstr)
}

(units) = ("pages")
}
probe nfs.aop.set_page_dirty = kernel.function("__set_page_dirty_nobuffers")?, module("nfs").function("__set_page_dirty_nobuffers")?{
(__page) = ($page)
(page_flag) = ($page->flags)
(name) = ("nfs.aop.set_page_dirty")
(argstr) = (sprintf("%d", flag))
}
probe nfs.fop.fsync.return = kernel.function("nfs_fsync").return?, module("nfs").function("nfs_fsync").return?{

(name) = ("nfs.fop.fsync.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.fop.lock = kernel.function("nfs_lock")?, module("nfs").function("nfs_lock")?{

(dev) = (__file_dev($filp))

(ino) = (__file_ino($filp))

(s_id) = (__file_id($filp))

(devname) = (kernel_string(s_id))

(i_mode) = (__file_mode($filp))

(cmd) = ($cmd)

(fl_type) = ($fl->fl_type)

(fl_flag) = ($fl->fl_flags)

(fl_start) = ($fl->fl_start)

(fl_end) = ($fl->fl_end)

(name) = ("nfs.fop.lock")

(argstr) = (sprintf("%d,%d", cmd, i_mode))

}

probe nfs.fop.lock.return = kernel.function("nfs_lock").return?, module("nfs").function("nfs_lock").return?{

(name) = ("nfs.fop.lock.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.fop.sendfile = kernel.function("nfs_file_sendfile")?, module("nfs").function("nfs_file_sendfile")?{

(dev) = (__file_dev($filp))

(ino) = (__file_ino($filp))

(s_id) = (__file_id($filp))

(devname) = (kernel_string(s_id))

(count) = ($count)

(ppos) = (__d_loff_t($ppos))

(cache_valid) = (__nfsi_cache_valid(__file_inode($filp)))

(cache_time) = (__nfsi_rcache_time(__file_inode($filp)))

(attr_time) = (__nfsi_attr_time(__file_inode($filp)))

(name) = ("nfs.fop.sendfile")

(argstr) = (sprintf("%d,%d", count, ppos))

(size) = (count)

(units) = ("bytes")

}

probe nfs.fop.sendfile.return = kernel.function("nfs_file_sendfile").return?, module("nfs").function("nfs_file_sendfile").return?{

(name) = ("nfs.fopsendfile.return")

(retstr) = (sprintf("%d", $return))

if (($return) > (0)) {

(size) = ($return)

(units) = ("bytes")

}



}

probe nfs.fop.check_flags = kernel.function("nfs_check_flags")?, module("nfs").function("nfs_check_flags")?{

(flag) = ($flags)

(name) = ("nfs.fop.check_flags")

(argstr) = (sprintf("%d", flag))

}

probe nfs.fop.check_flags.return = kernel.function("nfs_check_flags").return?, module("nfs").function("nfs_check_flags").return?{

(name) = ("nfs.fop.check_flags.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.aop.entries = nfs.aop.readpage, nfs.aop.readpages, nfs.aop.writepage, nfs.aop.writepages, nfs.aop.release_page?, nfs.aop.prepare_write, nfs.aop.commit_write{

}

probe nfs.aop.return = nfs.aop.readpage.return, nfs.aop.readpages.return, nfs.aop.writepage.return, nfs.aop.writepages.return, nfs.aop.release_page.return?, nfs.aop.prepare_write.return, nfs.aop.commit_write.return{

}

probe nfs.aop.readpage = kernel.function("nfs_readpage")?, module("nfs").function("nfs_readpage")?{

(__page) = ($page)

(dev) = (__page_dev(__page))

(ino) = (__page_ino(__page))

(i_flag) = (__p2i_flag($page))

(i_size) = (__p2i_size($page))

(sb_flag) = (__p2sb_flag($page))

(file) = ($file)

(page_index) = ($page->index)

(__inode) = (__p2i($page))

(rsize) = (__nfs_server_rsize(__inode))

(name) = ("nfs.aop.readpage")

(argstr) = (sprintf("%d,%d", page_index, r_size))

(size) = (1)

(units) = ("pages")

}

probe nfs.aop.readpage.return = kernel.function("nfs_readpage").return?, module("nfs").function("nfs_readpage").return?{

(name) = ("nfs.aop.readpage.return")

(retstr) = (sprintf("%d", $return))

(size) = (1)

(units) = ("pages")

}

probe nfs.aop.readpages = kernel.function("nfs_readpages")?, module("nfs").function("nfs_readpages")?{

(dev) = ($mapping->host->i_sb->s_dev)

(ino) = ($mapping->host->i_ino)

(nr_pages) = ($nr_pages)

(file) = ($filp)

(rpages) = (__nfs_rpages($mapping->host))

(rsize) = (__nfs_server_rsize($mapping->host))

(name) = ("nfs.aop.readpages")

(argstr) = (sprintf("%d", nr_pages))

(size) = (nr_pages)

(units) = ("pages")

}

probe nfs.aop.readpages.return = kernel.function("nfs_readpages").return?, module("nfs").function("nfs_readpages").return?{

(name) = ("nfs.aop.readpages.return")

(retstr) = (sprintf("%d", $return))

if (($return) > (0)) {

(size) = (retstr)

}



(units) = ("pages")

}

probe nfs.aop.set_page_dirty = kernel.function("__set_page_dirty_nobuffers")?, module("nfs").function("__set_page_dirty_nobuffers")?{

(__page) = ($page)

(page_flag) = ($page->flags)

(name) = ("nfs.aop.set_page_dirty")

(argstr) = (sprintf("%d", flag))

probe nfs.aop.set_page_dirty.return = kernel.function("__set_page_dirty_nobuffers").return?, module("nfs").function("__set_page_dirty_nobuffers").return?{
(name) = ("nfs.aop.set_page_dirty.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.aop.writepage = kernel.function("nfs_writepage")?, module("nfs").function("nfs_writepage")?{
(__page) = ($page)
(dev) = (__page_dev(__page))
(ino) = (__page_ino(__page))
(for_reclaim) = ($wbc->for_reclaim)
(for_kupdate) = ($wbc->for_kupdate)
(i_flag) = (__p2i_flag($page))
(i_state) = (__p2i_state($page))
(i_size) = (__p2i_size($page))
(sb_flag) = (__p2sb_flag($page))
(page_index) = ($page->index)
(__inode) = (__p2i($page))
(wsize) = (__nfs_server_wsize(__inode))
(name) = ("nfs.aop.writepage")
(argstr) = (sprintf("%d", page_index))
(size) = (1)
(units) = ("pages")
}
probe nfs.aop.writepage.return = kernel.function("nfs_writepage").return?, module("nfs").function("nfs_writepage").return?{
(name) = ("nfs.aop.writepage.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.aop.writepages = kernel.function("nfs_writepages")?, module("nfs").function("nfs_writepages")?{
(dev) = ($mapping->host->i_sb->s_dev)
(ino) = ($mapping->host->i_ino)
(for_reclaim) = ($wbc->for_reclaim)
(for_kupdate) = ($wbc->for_kupdate)
(nr_to_write) = ($wbc->nr_to_write)
(wsize) = (__nfs_server_wsize($mapping->host))
(wpages) = (__nfs_wpages($mapping->host))
(name) = ("nfs.aop.writepages")
(argstr) = (sprintf("%d", nr_to_write))
(size) = (nr_to_write)
(units) = ("pages")
}
probe nfs.aop.writepages.return = kernel.function("nfs_writepages").return?, module("nfs").function("nfs_writepages").return?{
(name) = ("nfs.aop.writepages.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.aop.prepare_write = kernel.function("nfs_prepare_write")?, module("nfs").function("nfs_prepare_write")?{
(dev) = (__page_dev(__page))
(devname) = (__find_bdevname(dev, __page_bdev(__page)))
(ino) = (__page_ino(__page))
(offset) = ($offset)
(to) = ($to)
(page_index) = ($page->index)
(__page) = ($page)
(name) = ("nfs.aop.prepare_write")
(argstr) = (sprintf("%d", page_index))
(size) = ((to) - (offset))
(units) = ("bytes")
}
probe nfs.aop.prepare_write.return = kernel.function("nfs_prepare_write").return?, module("nfs").function("nfs_prepare_write").return?{
(name) = ("nfs.aop.nfs_prepare_write.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.aop.commit_write = kernel.function("nfs_commit_write")?, module("nfs").function("nfs_commit_write")?{
(__page) = ($page)
(dev) = (__page_dev(__page))
(ino) = (__page_ino(__page))
(offset) = ($offset)
(to) = ($to)
(i_flag) = (__p2i_flag($page))
(i_size) = (__p2i_size($page))
(sb_flag) = (__p2sb_flag($page))
(page_index) = ($page->index)
(name) = ("nfs.aop.commit_write")
(argstr) = (sprintf("%d, %d", offset, to))
(size) = ((to) - (offset))
(units) = ("bytes")
}
probe nfs.aop.commit_write.return = kernel.function("nfs_commit_write").return?, module("nfs").function("nfs_commit_write").return?{
(name) = ("nfs.aop.nfs_commit_write.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.aop.release_page = kernel.function("nfs_release_page")?, module("nfs").function("nfs_release_page")?{
(__page) = ($page)
(dev) = (__page_dev(__page))
(ino) = (__page_ino(__page))
(page_index) = ($page->index)
(name) = ("nfs.aop.releasepage")
(argstr) = (sprintf("%d", page_index))
(size) = (1)
(units) = ("pages")
}
probe nfs.aop.release_page.return = kernel.function("nfs_release_page").return?, module("nfs").function("nfs_release_page").return?{
(name) = ("nfs.aop.nfs_release_page.return")
(retstr) = (sprintf("%d", $return))
}
function __nfsi_cache_valid (inode)
%{ /* pure */
    struct inode * inode = (struct inode *)(THIS->inode);
    struct nfs_inode * nfsi;

    if(inode == NULL) 
    {
        THIS->__retvalue = -1;
        return;
    }
    nfsi = __nfs_i(inode);
    THIS->__retvalue = nfsi->cache_validity;
%}
function __nfsi_rcache_time (inode)
%{ /* pure */
    struct inode * inode = (struct inode 
}

probe nfs.aop.set_page_dirty.return = kernel.function("__set_page_dirty_nobuffers").return?, module("nfs").function("__set_page_dirty_nobuffers").return?{

(name) = ("nfs.aop.set_page_dirty.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.aop.writepage = kernel.function("nfs_writepage")?, module("nfs").function("nfs_writepage")?{

(__page) = ($page)

(dev) = (__page_dev(__page))

(ino) = (__page_ino(__page))

(for_reclaim) = ($wbc->for_reclaim)

(for_kupdate) = ($wbc->for_kupdate)

(i_flag) = (__p2i_flag($page))

(i_state) = (__p2i_state($page))

(i_size) = (__p2i_size($page))

(sb_flag) = (__p2sb_flag($page))

(page_index) = ($page->index)

(__inode) = (__p2i($page))

(wsize) = (__nfs_server_wsize(__inode))

(name) = ("nfs.aop.writepage")

(argstr) = (sprintf("%d", page_index))

(size) = (1)

(units) = ("pages")

}

probe nfs.aop.writepage.return = kernel.function("nfs_writepage").return?, module("nfs").function("nfs_writepage").return?{

(name) = ("nfs.aop.writepage.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.aop.writepages = kernel.function("nfs_writepages")?, module("nfs").function("nfs_writepages")?{

(dev) = ($mapping->host->i_sb->s_dev)

(ino) = ($mapping->host->i_ino)

(for_reclaim) = ($wbc->for_reclaim)

(for_kupdate) = ($wbc->for_kupdate)

(nr_to_write) = ($wbc->nr_to_write)

(wsize) = (__nfs_server_wsize($mapping->host))

(wpages) = (__nfs_wpages($mapping->host))

(name) = ("nfs.aop.writepages")

(argstr) = (sprintf("%d", nr_to_write))

(size) = (nr_to_write)

(units) = ("pages")

}

probe nfs.aop.writepages.return = kernel.function("nfs_writepages").return?, module("nfs").function("nfs_writepages").return?{

(name) = ("nfs.aop.writepages.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.aop.prepare_write = kernel.function("nfs_prepare_write")?, module("nfs").function("nfs_prepare_write")?{

(dev) = (__page_dev(__page))

(devname) = (__find_bdevname(dev, __page_bdev(__page)))

(ino) = (__page_ino(__page))

(offset) = ($offset)

(to) = ($to)

(page_index) = ($page->index)

(__page) = ($page)

(name) = ("nfs.aop.prepare_write")

(argstr) = (sprintf("%d", page_index))

(size) = ((to) - (offset))

(units) = ("bytes")

}

probe nfs.aop.prepare_write.return = kernel.function("nfs_prepare_write").return?, module("nfs").function("nfs_prepare_write").return?{

(name) = ("nfs.aop.nfs_prepare_write.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.aop.commit_write = kernel.function("nfs_commit_write")?, module("nfs").function("nfs_commit_write")?{

(__page) = ($page)

(dev) = (__page_dev(__page))

(ino) = (__page_ino(__page))

(offset) = ($offset)

(to) = ($to)

(i_flag) = (__p2i_flag($page))

(i_size) = (__p2i_size($page))

(sb_flag) = (__p2sb_flag($page))

(page_index) = ($page->index)

(name) = ("nfs.aop.commit_write")

(argstr) = (sprintf("%d, %d", offset, to))

(size) = ((to) - (offset))

(units) = ("bytes")

}

probe nfs.aop.commit_write.return = kernel.function("nfs_commit_write").return?, module("nfs").function("nfs_commit_write").return?{

(name) = ("nfs.aop.nfs_commit_write.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.aop.release_page = kernel.function("nfs_release_page")?, module("nfs").function("nfs_release_page")?{

(__page) = ($page)

(dev) = (__page_dev(__page))

(ino) = (__page_ino(__page))

(page_index) = ($page->index)

(name) = ("nfs.aop.releasepage")

(argstr) = (sprintf("%d", page_index))

(size) = (1)

(units) = ("pages")

}

probe nfs.aop.release_page.return = kernel.function("nfs_release_page").return?, module("nfs").function("nfs_release_page").return?{

(name) = ("nfs.aop.nfs_release_page.return")

(retstr) = (sprintf("%d", $return))

}

function __nfsi_cache_valid (inode)

%{ /* pure */

    struct inode * inode = (struct inode *)(THIS->inode);

    struct nfs_inode * nfsi;



    if(inode == NULL) 

    {

        THIS->__retvalue = -1;

        return;

    }

    nfsi = __nfs_i(inode);

    THIS->__retvalue = nfsi->cache_validity;

%}

function __nfsi_rcache_time (inode)

%{ /* pure */
*)(THIS->inode);
    struct nfs_inode * nfsi ;

    if(inode == NULL) 
    {
        THIS->__retvalue = -1;
        return;
    }

    nfsi = (struct nfs_inode *) __nfs_i(inode);

    THIS->__retvalue = nfsi->read_cache_jiffies;
%}
function __nfsi_attr_time (inode)
%{ /* pure */
    struct inode * inode = (struct inode *)(THIS->inode);
    struct nfs_inode * nfsi ;

    if(inode == NULL) 
    {
        THIS->__retvalue = -1;
        return;
    }
    nfsi= (struct nfs_inode *) __nfs_i(inode);

    THIS->__retvalue = nfsi->attrtimeo;
%}
function __nfsi_ndirty (inode)
%{ /* pure */
      struct inode *inode = (struct inode *)((long)THIS->inode);
      struct nfs_inode *nfsi ;

      if(inode == NULL) 
      {
          THIS->__retvalue = -1;
          return;
      }
      nfsi = NFS_I(inode);
 
      THIS->__retvalue = nfsi->ndirty;
%}
function __nfs_server_rsize (inode)
%{ /* pure */
       struct inode * inode = (struct inode *)((long)THIS->inode);

       if(inode == NULL) 
       {
           THIS->__retvalue = -1;
           return;
       }
       THIS->__retvalue = NFS_SERVER(inode)->rsize;
%}
function __nfs_version (inode)
%{ /* pure */
       struct inode * inode = (struct inode *)((long)THIS->inode);

       if(inode == NULL) 
       {
           THIS->__retvalue = -1;
           return;
       }
       THIS->__retvalue = NFS_PROTO(inode)->version;
%}
function __nfs_server_wsize (inode)
%{ /* pure */
       struct inode * inode = (struct inode *)((long)THIS->inode);

       if(inode == NULL) 
       {
           THIS->__retvalue = -1;
           return;
       }
       THIS->__retvalue = NFS_SERVER(inode)->wsize;
%}
function __nfs_rpages (inode)
%{ /* pure */
       struct inode * inode = (struct inode *)((long)THIS->inode);

       if(inode == NULL) 
       {
           THIS->__retvalue = -1;
           return;
       }
       THIS->__retvalue = NFS_SERVER(inode)->rpages;
%}
function __nfs_wpages (inode)
%{ /* pure */
      struct inode *inode = (struct inode*)((long)THIS->inode);
      if(inode == NULL) 
      {
          THIS->__retvalue = -1;
          return;
      }
      THIS->__retvalue = NFS_SERVER(inode)->wpages;
%}
function __p2i (page)
%{ /* pure */
      struct page *page = (struct page *)((long)THIS->page);

      if ((page == NULL) || (page->mapping == NULL)) {
                THIS->__retvalue = 0;
                return;
        }

        THIS->__retvalue = deref(sizeof(page->mapping->host),
                &(page->mapping->host));
        if (0) {
deref_fault:
                CONTEXT->last_error = "pointer dereference fault";
        }
%}
function __p2i_flag (page)
%{ /* pure */
      struct page *page = (struct page *) (THIS->page);

      if ((page == NULL) || (page->mapping == NULL) \
          ||(page->mapping->host == NULL)) {
                THIS->__retvalue = -1;
                return;
        }

        THIS->__retvalue = deref(sizeof(page->mapping->host->i_flags),
                &(page->mapping->host->i_flags));
        if (0) {
deref_fault:
                CONTEXT->last_error = "pointer dereference fault";
        }
%}
function __p2i_state (page)
%{ /* pure */
      struct page *page = (struct page *) (THIS->page);
      
      if ((page == NULL) || (page->mapping == NULL) \
          ||(page->mapping->host == NULL)) {
                THIS->__retvalue = -1;
                return;
        }

        THIS->__retvalue = deref(sizeof(page->mapping->host->i_state),
                &(page->mapping->host->i_state));
        if (0) {
deref_fault:
                CONTEXT->last_error = "pointer dereference fault";
        }
%}
function __p2i_size (page)
%{ /* pure */
      struct page *page = (struct page *) (THIS->page);

      if ((page == NULL) || (page->mapping == NULL) \
          ||(page->mapping->host == NULL)) {
                THIS->__retvalue = -1;
                return;
        }

        THIS->__retvalue = deref(sizeof(page->
    struct inode * inode = (struct inode *)(THIS->inode);

    struct nfs_inode * nfsi ;



    if(inode == NULL) 

    {

        THIS->__retvalue = -1;

        return;

    }



    nfsi = (struct nfs_inode *) __nfs_i(inode);



    THIS->__retvalue = nfsi->read_cache_jiffies;

%}

function __nfsi_attr_time (inode)

%{ /* pure */

    struct inode * inode = (struct inode *)(THIS->inode);

    struct nfs_inode * nfsi ;



    if(inode == NULL) 

    {

        THIS->__retvalue = -1;

        return;

    }

    nfsi= (struct nfs_inode *) __nfs_i(inode);



    THIS->__retvalue = nfsi->attrtimeo;

%}

function __nfsi_ndirty (inode)

%{ /* pure */

      struct inode *inode = (struct inode *)((long)THIS->inode);

      struct nfs_inode *nfsi ;



      if(inode == NULL) 

      {

          THIS->__retvalue = -1;

          return;

      }

      nfsi = NFS_I(inode);

 

      THIS->__retvalue = nfsi->ndirty;

%}

function __nfs_server_rsize (inode)

%{ /* pure */

       struct inode * inode = (struct inode *)((long)THIS->inode);



       if(inode == NULL) 

       {

           THIS->__retvalue = -1;

           return;

       }

       THIS->__retvalue = NFS_SERVER(inode)->rsize;

%}

function __nfs_version (inode)

%{ /* pure */

       struct inode * inode = (struct inode *)((long)THIS->inode);



       if(inode == NULL) 

       {

           THIS->__retvalue = -1;

           return;

       }

       THIS->__retvalue = NFS_PROTO(inode)->version;

%}

function __nfs_server_wsize (inode)

%{ /* pure */

       struct inode * inode = (struct inode *)((long)THIS->inode);



       if(inode == NULL) 

       {

           THIS->__retvalue = -1;

           return;

       }

       THIS->__retvalue = NFS_SERVER(inode)->wsize;

%}

function __nfs_rpages (inode)

%{ /* pure */

       struct inode * inode = (struct inode *)((long)THIS->inode);



       if(inode == NULL) 

       {

           THIS->__retvalue = -1;

           return;

       }

       THIS->__retvalue = NFS_SERVER(inode)->rpages;

%}

function __nfs_wpages (inode)

%{ /* pure */

      struct inode *inode = (struct inode*)((long)THIS->inode);

      if(inode == NULL) 

      {

          THIS->__retvalue = -1;

          return;

      }

      THIS->__retvalue = NFS_SERVER(inode)->wpages;

%}

function __p2i (page)

%{ /* pure */

      struct page *page = (struct page *)((long)THIS->page);



      if ((page == NULL) || (page->mapping == NULL)) {

                THIS->__retvalue = 0;

                return;

        }



        THIS->__retvalue = deref(sizeof(page->mapping->host),

                &(page->mapping->host));

        if (0) {

deref_fault:

                CONTEXT->last_error = "pointer dereference fault";

        }

%}

function __p2i_flag (page)

%{ /* pure */

      struct page *page = (struct page *) (THIS->page);



      if ((page == NULL) || (page->mapping == NULL) \

          ||(page->mapping->host == NULL)) {

                THIS->__retvalue = -1;

                return;

        }



        THIS->__retvalue = deref(sizeof(page->mapping->host->i_flags),

                &(page->mapping->host->i_flags));

        if (0) {

deref_fault:

                CONTEXT->last_error = "pointer dereference fault";

        }

%}

function __p2i_state (page)

%{ /* pure */

      struct page *page = (struct page *) (THIS->page);

      

      if ((page == NULL) || (page->mapping == NULL) \

          ||(page->mapping->host == NULL)) {

                THIS->__retvalue = -1;

                return;

        }



        THIS->__retvalue = deref(sizeof(page->mapping->host->i_state),

                &(page->mapping->host->i_state));

        if (0) {

deref_fault:

                CONTEXT->last_error = "pointer dereference fault";

        }

%}

function __p2i_size (page)

%{ /* pure */

      struct page *page = (struct page *) (THIS->page);



      if ((page == NULL) || (page->mapping == NULL) \

          ||(page->mapping->host == NULL)) {

                THIS->__retvalue = -1;

                return;

        }


mapping->host->i_size),
                &(page->mapping->host->i_size));
        if (0) {
deref_fault:
                CONTEXT->last_error = "pointer dereference fault";
        }
%}
function __p2sb_flag (page)
%{ /* pure */
      struct page *page = (struct page *)(THIS->page);
      
      if ((page == NULL) || (page->mapping == NULL) \
          ||(page->mapping->host == NULL)) {
                THIS->__retvalue = -1;
                return;
        }

        THIS->__retvalue = deref(sizeof(page->mapping->host->i_flags),
                &(page->mapping->host->i_flags));
        if (0) {
deref_fault:
                CONTEXT->last_error = "pointer dereference fault";
        }
%}
function __d_loff_t (ppos)
%{ /* pure */
        loff_t * ppos = (loff_t *) ((long)THIS->ppos);
     
        if (ppos == NULL)
        {
                THIS->__retvalue = -1;
                return;
        }

        THIS->__retvalue = *ppos;
%}
function __file_inode (file)
%{ /* pure */
	struct file *file = (struct file *)(long)THIS->file;
	if ((file == NULL) || (file->f_dentry == NULL)) {
		THIS->__retvalue = 0;
		return;
	}
	THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode),
		&(file->f_dentry->d_inode));
	if (0) {
deref_fault:
		CONTEXT->last_error = "pointer dereference fault";
	}
%}
function __file_id (file)
%{ /* pure */
	struct file *file = (struct file *)(long)THIS->file;
	if ((file == NULL) || (file->f_dentry == NULL)) {
		THIS->__retvalue = 0;
		return;
	}
	THIS->__retvalue = (long)&(file->f_dentry->d_inode->i_sb->s_id);
%}
function __file_mode (file)
%{ /* pure */
	struct file *file = (struct file *)(long)THIS->file;
	if ((file == NULL) || (file->f_dentry == NULL)) {
		THIS->__retvalue = 0;
		return;
	}
	THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode->i_mode),
		&(file->f_dentry->d_inode->i_mode));
	if (0) {
deref_fault:
		CONTEXT->last_error = "pointer dereference fault";
	}
%}
function __file_parentname (file)
%{ /* pure */
	struct file *file = (struct file *)(long)THIS->file;
	if ((file == NULL) 
		|| (file->f_dentry == NULL) 
		|| (file->f_dentry->d_parent == NULL))
		strlcpy(THIS->__retvalue, "NULL", MAXSTRINGLEN);
	else {
		strlcpy(THIS->__retvalue, file->f_dentry->d_parent->d_name->name, MAXSTRINGLEN);
	}
%}

# file /usr/local/share/systemtap/tapset/nfs_proc.stp
%{
	#include <linux/nfs_fs.h>
	#include <linux/nfs_xdr.h>
%}%{
/*Get ip address from a rpc_task*/
	__u32 get_ip(struct rpc_task *);
/*Get protocol types from a rpc_task*/
	int get_prot(struct rpc_task *);
%}%{
     __u32 get_ip(struct rpc_task * task)
     {
        struct rpc_clnt * tk_client;
        struct rpc_xprt * cl_xprt;
        struct sockaddr_in *addr;
        tk_client = task->tk_client;
        cl_xprt= tk_client->cl_xprt;
        addr = (struct sockaddr_in *)&(cl_xprt->addr);
        if (addr->sin_family != AF_INET)
                /* Now consider ipv4 only */
                return 0;
        return addr->sin_addr.s_addr;
     }
     int get_prot(struct rpc_task * task)
     {
        struct rpc_clnt * tk_client;
        struct rpc_xprt * cl_xprt;
        tk_client = task->tk_client;
        cl_xprt= tk_client->cl_xprt;

        return cl_xprt->prot;
    }
%}probe nfs.proc.entries = nfs.proc.lookup, nfs.proc.read, nfs.proc.write, nfs.proc.commit, nfs.proc.read_setup, nfs.proc.write_setup, nfs.proc.commit_setup, nfs.proc.read_done, nfs.proc.write_done, nfs.proc.commit_done, nfs.proc.open, nfs.proc.create, nfs.proc.rename, nfs.proc.remove, nfs.proc.release{
}
probe nfs.proc.return = nfs.proc.lookup.return, nfs.proc.read.return, nfs.proc.write.return, nfs.proc.commit.return, nfs.proc.read_setup.return, nfs.proc.write_setup.return, nfs.proc.commit_setup.return, nfs.proc.read_done.return, nfs.proc.write_done.return, nfs.proc.commit_done.return, nfs.proc.open.return, nfs.proc.create.return, nfs.proc.rename.return, nfs.proc.remove.return, nfs.proc.release.return{
}
probe nfs.proc.lookup = nfs.proc2.lookup, nfs.proc3.looku
        THIS->__retvalue = deref(sizeof(page->mapping->host->i_size),

                &(page->mapping->host->i_size));

        if (0) {

deref_fault:

                CONTEXT->last_error = "pointer dereference fault";

        }

%}

function __p2sb_flag (page)

%{ /* pure */

      struct page *page = (struct page *)(THIS->page);

      

      if ((page == NULL) || (page->mapping == NULL) \

          ||(page->mapping->host == NULL)) {

                THIS->__retvalue = -1;

                return;

        }



        THIS->__retvalue = deref(sizeof(page->mapping->host->i_flags),

                &(page->mapping->host->i_flags));

        if (0) {

deref_fault:

                CONTEXT->last_error = "pointer dereference fault";

        }

%}

function __d_loff_t (ppos)

%{ /* pure */

        loff_t * ppos = (loff_t *) ((long)THIS->ppos);

     

        if (ppos == NULL)

        {

                THIS->__retvalue = -1;

                return;

        }



        THIS->__retvalue = *ppos;

%}

function __file_inode (file)

%{ /* pure */

	struct file *file = (struct file *)(long)THIS->file;

	if ((file == NULL) || (file->f_dentry == NULL)) {

		THIS->__retvalue = 0;

		return;

	}

	THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode),

		&(file->f_dentry->d_inode));

	if (0) {

deref_fault:

		CONTEXT->last_error = "pointer dereference fault";

	}

%}

function __file_id (file)

%{ /* pure */

	struct file *file = (struct file *)(long)THIS->file;

	if ((file == NULL) || (file->f_dentry == NULL)) {

		THIS->__retvalue = 0;

		return;

	}

	THIS->__retvalue = (long)&(file->f_dentry->d_inode->i_sb->s_id);

%}

function __file_mode (file)

%{ /* pure */

	struct file *file = (struct file *)(long)THIS->file;

	if ((file == NULL) || (file->f_dentry == NULL)) {

		THIS->__retvalue = 0;

		return;

	}

	THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode->i_mode),

		&(file->f_dentry->d_inode->i_mode));

	if (0) {

deref_fault:

		CONTEXT->last_error = "pointer dereference fault";

	}

%}

function __file_parentname (file)

%{ /* pure */

	struct file *file = (struct file *)(long)THIS->file;

	if ((file == NULL) 

		|| (file->f_dentry == NULL) 

		|| (file->f_dentry->d_parent == NULL))

		strlcpy(THIS->__retvalue, "NULL", MAXSTRINGLEN);

	else {

		strlcpy(THIS->__retvalue, file->f_dentry->d_parent->d_name->name, MAXSTRINGLEN);

	}

%}



# file /usr/local/share/systemtap/tapset/nfs_proc.stp

%{

	#include <linux/nfs_fs.h>

	#include <linux/nfs_xdr.h>

%}%{

/*Get ip address from a rpc_task*/

	__u32 get_ip(struct rpc_task *);

/*Get protocol types from a rpc_task*/

	int get_prot(struct rpc_task *);

%}%{

     __u32 get_ip(struct rpc_task * task)

     {

        struct rpc_clnt * tk_client;

        struct rpc_xprt * cl_xprt;

        struct sockaddr_in *addr;

        tk_client = task->tk_client;

        cl_xprt= tk_client->cl_xprt;

        addr = (struct sockaddr_in *)&(cl_xprt->addr);

        if (addr->sin_family != AF_INET)

                /* Now consider ipv4 only */

                return 0;

        return addr->sin_addr.s_addr;

     }

     int get_prot(struct rpc_task * task)

     {

        struct rpc_clnt * tk_client;

        struct rpc_xprt * cl_xprt;

        tk_client = task->tk_client;

        cl_xprt= tk_client->cl_xprt;



        return cl_xprt->prot;

    }

%}probe nfs.proc.entries = nfs.proc.lookup, nfs.proc.read, nfs.proc.write, nfs.proc.commit, nfs.proc.read_setup, nfs.proc.write_setup, nfs.proc.commit_setup, nfs.proc.read_done, nfs.proc.write_done, nfs.proc.commit_done, nfs.proc.open, nfs.proc.create, nfs.proc.rename, nfs.proc.remove, nfs.proc.release{

}

probe nfs.proc.return = nfs.proc.lookup.return, nfs.proc.read.return, nfs.proc.write.return, nfs.proc.commit.return, nfs.proc.read_setup.return, nfs.proc.write_setup.return, nfs.proc.commit_setup.return, nfs.proc.read_done.return, nfs.proc.write_done.return, nfs.proc.commit_done.return, nfs.proc.open.return, nfs.proc.create.return, nfs.proc.rename.return, nfs.proc.remove.return, nfs.proc.release.return{

}
p, nfs.proc4.lookup{
}
probe nfs.proc.lookup.return = nfs.proc2.lookup.return, nfs.proc3.lookup.return, nfs.proc4.lookup.return{
}
probe nfs.proc2.lookup = kernel.function("nfs_proc_lookup")?, module("nfs").function("nfs_proc_lookup")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (2)
(filename) = (kernel_string($name->name))
(name_len) = ($name->len)
(name) = ("nfs.proc2.lookup")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc2.lookup.return = kernel.function("nfs_proc_lookup").return?, module("nfs").function("nfs_proc_lookup").return?{
(version) = (2)
(name) = ("nfs.proc2.lookup.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc3.lookup = kernel.function("nfs3_proc_lookup")?, module("nfs").function("nfs3_proc_lookup")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (3)
(filename) = (kernel_string($name->name))
(name_len) = ($name->len)
(name) = ("nfs.proc3.lookup")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc3.lookup.return = kernel.function("nfs3_proc_lookup").return?, module("nfs").function("nfs3_proc_lookup").return?{
(version) = (3)
(name) = ("nfs.proc3.lookup.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.lookup = kernel.function("nfs4_proc_lookup")?, module("nfs").function("nfs4_proc_lookup")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (4)
(filename) = (kernel_string($name->name))
(name_len) = ($name->len)
(bitmask0) = (__nfsv4_bitmask($dir, 0))
(bitmask1) = (__nfsv4_bitmask($dir, 1))
(name) = ("nfs.proc4.lookup")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc4.lookup.return = kernel.function("nfs4_proc_lookup").return?, module("nfs").function("nfs4_proc_lookup").return?{
(version) = (4)
(name) = ("nfs.proc4.lookup.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.read = nfs.proc2.read, nfs.proc3.read, nfs.proc4.read{
}
probe nfs.proc.read.return = nfs.proc2.read.return, nfs.proc3.read.return, nfs.proc4.read.return{
}
probe nfs.proc2.read = kernel.function("nfs_proc_read")?, module("nfs").function("nfs_proc_read")?{
(server_ip) = (__nfs_read_data_info($rdata, 0))
(prot) = (__nfs_read_data_info($rdata, 1))
(version) = (2)
(flags) = ($rdata->flags)
(count) = ($rdata->args->count)
(offset) = ($rdata->args->offset)
(name) = ("nfs.proc2.read")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc2.read.return = kernel.function("nfs_proc_read").return?, module("nfs").function("nfs_proc_read").return?{
(version) = (2)
(name) = ("nfs.proc2.read.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}

}
probe nfs.proc3.read = kernel.function("nfs3_proc_read")?, module("nfs").function("nfs3_proc_read")?{
(server_ip) = (__nfs_read_data_info($rdata, 0))
(prot) = (__nfs_read_data_info($rdata, 1))
(version) = (3)
(flags) = ($rdata->flags)
(count) = ($rdata->args->count)
(offset) = ($rdata->args->offset)
(name) = ("nfs.proc3.read")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc3.read.return = kernel.function("nfs3_proc_read").return?, module("nfs").function("nfs3_proc_read").return?{
(version) = (3)
(name) = ("nfs.proc3.read.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}

}
probe nfs.proc4.read = kernel.function("nfs4_proc_read")?, module("nfs").function("nfs4_proc_read")?{
(server_ip) = (__nfs_read_data_info($rdata, 0))
(prot) = (__nfs_read_data_info($rdata, 1))
(version) = (4)
(flags) = ($rdata->flags)
(count) = ($rdata->args->count)
(offset) = ($rdata->args->offset)
(name) = ("nfs.proc4.read")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc4.read.return = kernel.function("nfs4_proc_read").return?, module("nfs").function("nfs4_proc_read").return?{
(version) = (4)
(name) = ("n
probe nfs.proc.lookup = nfs.proc2.lookup, nfs.proc3.lookup, nfs.proc4.lookup{

}

probe nfs.proc.lookup.return = nfs.proc2.lookup.return, nfs.proc3.lookup.return, nfs.proc4.lookup.return{

}

probe nfs.proc2.lookup = kernel.function("nfs_proc_lookup")?, module("nfs").function("nfs_proc_lookup")?{

(server_ip) = (__i2n_ip_proto($dir, 0))

(prot) = (__i2n_ip_proto($dir, 1))

(version) = (2)

(filename) = (kernel_string($name->name))

(name_len) = ($name->len)

(name) = ("nfs.proc2.lookup")

(argstr) = (sprintf("%s", filename))

}

probe nfs.proc2.lookup.return = kernel.function("nfs_proc_lookup").return?, module("nfs").function("nfs_proc_lookup").return?{

(version) = (2)

(name) = ("nfs.proc2.lookup.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc3.lookup = kernel.function("nfs3_proc_lookup")?, module("nfs").function("nfs3_proc_lookup")?{

(server_ip) = (__i2n_ip_proto($dir, 0))

(prot) = (__i2n_ip_proto($dir, 1))

(version) = (3)

(filename) = (kernel_string($name->name))

(name_len) = ($name->len)

(name) = ("nfs.proc3.lookup")

(argstr) = (sprintf("%s", filename))

}

probe nfs.proc3.lookup.return = kernel.function("nfs3_proc_lookup").return?, module("nfs").function("nfs3_proc_lookup").return?{

(version) = (3)

(name) = ("nfs.proc3.lookup.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc4.lookup = kernel.function("nfs4_proc_lookup")?, module("nfs").function("nfs4_proc_lookup")?{

(server_ip) = (__i2n_ip_proto($dir, 0))

(prot) = (__i2n_ip_proto($dir, 1))

(version) = (4)

(filename) = (kernel_string($name->name))

(name_len) = ($name->len)

(bitmask0) = (__nfsv4_bitmask($dir, 0))

(bitmask1) = (__nfsv4_bitmask($dir, 1))

(name) = ("nfs.proc4.lookup")

(argstr) = (sprintf("%s", filename))

}

probe nfs.proc4.lookup.return = kernel.function("nfs4_proc_lookup").return?, module("nfs").function("nfs4_proc_lookup").return?{

(version) = (4)

(name) = ("nfs.proc4.lookup.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc.read = nfs.proc2.read, nfs.proc3.read, nfs.proc4.read{

}

probe nfs.proc.read.return = nfs.proc2.read.return, nfs.proc3.read.return, nfs.proc4.read.return{

}

probe nfs.proc2.read = kernel.function("nfs_proc_read")?, module("nfs").function("nfs_proc_read")?{

(server_ip) = (__nfs_read_data_info($rdata, 0))

(prot) = (__nfs_read_data_info($rdata, 1))

(version) = (2)

(flags) = ($rdata->flags)

(count) = ($rdata->args->count)

(offset) = ($rdata->args->offset)

(name) = ("nfs.proc2.read")

(argstr) = (sprintf("%d,%d", count, offset))

(size) = (count)

(units) = ("bytes")

}

probe nfs.proc2.read.return = kernel.function("nfs_proc_read").return?, module("nfs").function("nfs_proc_read").return?{

(version) = (2)

(name) = ("nfs.proc2.read.return")

(retstr) = (sprintf("%d", $return))

if ((retsrt) >= (0)) {

(size) = (retstr)

(units) = ("bytes")

}



}

probe nfs.proc3.read = kernel.function("nfs3_proc_read")?, module("nfs").function("nfs3_proc_read")?{

(server_ip) = (__nfs_read_data_info($rdata, 0))

(prot) = (__nfs_read_data_info($rdata, 1))

(version) = (3)

(flags) = ($rdata->flags)

(count) = ($rdata->args->count)

(offset) = ($rdata->args->offset)

(name) = ("nfs.proc3.read")

(argstr) = (sprintf("%d,%d", count, offset))

(size) = (count)

(units) = ("bytes")

}

probe nfs.proc3.read.return = kernel.function("nfs3_proc_read").return?, module("nfs").function("nfs3_proc_read").return?{

(version) = (3)

(name) = ("nfs.proc3.read.return")

(retstr) = (sprintf("%d", $return))

if ((retsrt) >= (0)) {

(size) = (retstr)

(units) = ("bytes")

}



}

probe nfs.proc4.read = kernel.function("nfs4_proc_read")?, module("nfs").function("nfs4_proc_read")?{

(server_ip) = (__nfs_read_data_info($rdata, 0))

(prot) = (__nfs_read_data_info($rdata, 1))

(version) = (4)

(flags) = ($rdata->flags)

(count) = ($rdata->args->count)

(offset) = ($rdata->args->offset)

(name) = ("nfs.proc4.read")

(argstr) = (sprintf("%d,%d", count, offset))

(size) = (count)

(units) = ("bytes")

}

probe nfs.proc4.read.return = kernel.function("nfs4_proc_read").return?, module("nfs").function("nfs4_proc_read").return?{

(version) = (4)
fs.proc4.read.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}

}
probe nfs.proc.write = nfs.proc2.write, nfs.proc3.write, nfs.proc4.write{
}
probe nfs.proc.write.return = nfs.proc2.write.return, nfs.proc3.write.return, nfs.proc4.write.return{
}
probe nfs.proc2.write = kernel.function("nfs_proc_write")?, module("nfs").function("nfs_proc_write")?{
(server_ip) = (__nfs_write_data_info($wdata, 0))
(prot) = (__nfs_write_data_info($wdata, 1))
(version) = (2)
(flags) = ($wdata->flags)
(count) = ($wdata->args->count)
(offset) = ($wdata->args->offset)
(name) = ("nfs.proc2.write")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc2.write.return = kernel.function("nfs_proc_write").return?, module("nfs").function("nfs_proc_write").return?{
(version) = (2)
(name) = ("nfs.proc2.write.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}

}
probe nfs.proc3.write = kernel.function("nfs3_proc_write")?, module("nfs").function("nfs3_proc_write")?{
(server_ip) = (__nfs_write_data_info($wdata, 0))
(prot) = (__nfs_write_data_info($wdata, 1))
(version) = (3)
(flags) = ($wdata->flags)
(count) = ($wdata->args->count)
(offset) = ($wdata->args->offset)
(name) = ("nfs.proc3.write")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc3.write.return = kernel.function("nfs3_proc_write").return?, module("nfs").function("nfs3_proc_write").return?{
(version) = (3)
(name) = ("nfs.proc3.write.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}

}
probe nfs.proc4.write = kernel.function("nfs4_proc_write")?, module("nfs").function("nfs4_proc_write")?{
(server_ip) = (__nfs_write_data_info($wdata, 0))
(prot) = (__nfs_write_data_info($wdata, 1))
(version) = (4)
(flags) = ($wdata->flags)
(count) = ($wdata->args->count)
(offset) = ($wdata->args->offset)
(bitmask0) = (__nfsv4_bitmask($wdata->inode, 0))
(bitmask1) = (__nfsv4_bitmask($wdata->inode, 1))
(name) = ("nfs.proc4.write")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc4.write.return = kernel.function("nfs4_proc_write").return?, module("nfs").function("nfs4_proc_write").return?{
(version) = (4)
(name) = ("nfs.proc4.write.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}

}
probe nfs.proc.commit = nfs.proc3.commit, nfs.proc4.commit{
}
probe nfs.proc.commit.return = nfs.proc3.commit.return, nfs.proc4.commit.return{
}
probe nfs.proc3.commit = kernel.function("nfs3_proc_commit")?, module("nfs").function("nfs3_proc_commit")?{
(server_ip) = (__nfs_write_data_info($cdata, 0))
(prot) = (__nfs_write_data_info($cdata, 1))
(version) = (3)
(count) = ($cdata->args->count)
(offset) = ($cdata->args->offset)
(name) = ("nfs.proc3.commit")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc3.commit.return = kernel.function("nfs3_proc_commit").return?, module("nfs").function("nfs3_proc_commit").return?{
(version) = (3)
(name) = ("nfs.proc3.commit.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}

}
probe nfs.proc4.commit = kernel.function("nfs4_proc_commit")?, module("nfs").function("nfs4_proc_commit")?{
(server_ip) = (__nfs_write_data_info($cdata, 0))
(prot) = (__nfs_write_data_info($cdata, 1))
(version) = (4)
(count) = ($cdata->args->count)
(offset) = ($cdata->args->offset)
(bitmask0) = (__nfsv4_bitmask($cdata->inode, 0))
(bitmask1) = (__nfsv4_bitmask($cdata->inode, 1))
(name) = ("nfs.proc4.commit")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc4.commit.return = kernel.function("nfs4_proc_commit").return?, module("nfs").function("nfs4_proc_commit").return?{
(version) = (4)
(name) = ("nf
(name) = ("nfs.proc4.read.return")

(retstr) = (sprintf("%d", $return))

if ((retsrt) >= (0)) {

(size) = (retstr)

(units) = ("bytes")

}



}

probe nfs.proc.write = nfs.proc2.write, nfs.proc3.write, nfs.proc4.write{

}

probe nfs.proc.write.return = nfs.proc2.write.return, nfs.proc3.write.return, nfs.proc4.write.return{

}

probe nfs.proc2.write = kernel.function("nfs_proc_write")?, module("nfs").function("nfs_proc_write")?{

(server_ip) = (__nfs_write_data_info($wdata, 0))

(prot) = (__nfs_write_data_info($wdata, 1))

(version) = (2)

(flags) = ($wdata->flags)

(count) = ($wdata->args->count)

(offset) = ($wdata->args->offset)

(name) = ("nfs.proc2.write")

(argstr) = (sprintf("%d,%d", count, offset))

(size) = (count)

(units) = ("bytes")

}

probe nfs.proc2.write.return = kernel.function("nfs_proc_write").return?, module("nfs").function("nfs_proc_write").return?{

(version) = (2)

(name) = ("nfs.proc2.write.return")

(retstr) = (sprintf("%d", $return))

if ((retsrt) >= (0)) {

(size) = (retstr)

(units) = ("bytes")

}



}

probe nfs.proc3.write = kernel.function("nfs3_proc_write")?, module("nfs").function("nfs3_proc_write")?{

(server_ip) = (__nfs_write_data_info($wdata, 0))

(prot) = (__nfs_write_data_info($wdata, 1))

(version) = (3)

(flags) = ($wdata->flags)

(count) = ($wdata->args->count)

(offset) = ($wdata->args->offset)

(name) = ("nfs.proc3.write")

(argstr) = (sprintf("%d,%d", count, offset))

(size) = (count)

(units) = ("bytes")

}

probe nfs.proc3.write.return = kernel.function("nfs3_proc_write").return?, module("nfs").function("nfs3_proc_write").return?{

(version) = (3)

(name) = ("nfs.proc3.write.return")

(retstr) = (sprintf("%d", $return))

if ((retsrt) >= (0)) {

(size) = (retstr)

(units) = ("bytes")

}



}

probe nfs.proc4.write = kernel.function("nfs4_proc_write")?, module("nfs").function("nfs4_proc_write")?{

(server_ip) = (__nfs_write_data_info($wdata, 0))

(prot) = (__nfs_write_data_info($wdata, 1))

(version) = (4)

(flags) = ($wdata->flags)

(count) = ($wdata->args->count)

(offset) = ($wdata->args->offset)

(bitmask0) = (__nfsv4_bitmask($wdata->inode, 0))

(bitmask1) = (__nfsv4_bitmask($wdata->inode, 1))

(name) = ("nfs.proc4.write")

(argstr) = (sprintf("%d,%d", count, offset))

(size) = (count)

(units) = ("bytes")

}

probe nfs.proc4.write.return = kernel.function("nfs4_proc_write").return?, module("nfs").function("nfs4_proc_write").return?{

(version) = (4)

(name) = ("nfs.proc4.write.return")

(retstr) = (sprintf("%d", $return))

if ((retsrt) >= (0)) {

(size) = (retstr)

(units) = ("bytes")

}



}

probe nfs.proc.commit = nfs.proc3.commit, nfs.proc4.commit{

}

probe nfs.proc.commit.return = nfs.proc3.commit.return, nfs.proc4.commit.return{

}

probe nfs.proc3.commit = kernel.function("nfs3_proc_commit")?, module("nfs").function("nfs3_proc_commit")?{

(server_ip) = (__nfs_write_data_info($cdata, 0))

(prot) = (__nfs_write_data_info($cdata, 1))

(version) = (3)

(count) = ($cdata->args->count)

(offset) = ($cdata->args->offset)

(name) = ("nfs.proc3.commit")

(argstr) = (sprintf("%d,%d", count, offset))

(size) = (count)

(units) = ("bytes")

}

probe nfs.proc3.commit.return = kernel.function("nfs3_proc_commit").return?, module("nfs").function("nfs3_proc_commit").return?{

(version) = (3)

(name) = ("nfs.proc3.commit.return")

(retstr) = (sprintf("%d", $return))

if ((retsrt) >= (0)) {

(size) = (retstr)

(units) = ("bytes")

}



}

probe nfs.proc4.commit = kernel.function("nfs4_proc_commit")?, module("nfs").function("nfs4_proc_commit")?{

(server_ip) = (__nfs_write_data_info($cdata, 0))

(prot) = (__nfs_write_data_info($cdata, 1))

(version) = (4)

(count) = ($cdata->args->count)

(offset) = ($cdata->args->offset)

(bitmask0) = (__nfsv4_bitmask($cdata->inode, 0))

(bitmask1) = (__nfsv4_bitmask($cdata->inode, 1))

(name) = ("nfs.proc4.commit")

(argstr) = (sprintf("%d,%d", count, offset))

(size) = (count)

(units) = ("bytes")

}

probe nfs.proc4.commit.return = kernel.function("nfs4_proc_commit").return?, module("nfs").function("nfs4_proc_commit").return?{

(version) = (4)
s.proc4.commit.return")
(retstr) = (sprintf("%d", $return))
if ((retsrt) >= (0)) {
(size) = (retstr)
(units) = ("bytes")
}

}
probe nfs.proc.read_setup = nfs.proc2.read_setup, nfs.proc3.read_setup, nfs.proc4.read_setup{
}
probe nfs.proc.read_setup.return = nfs.proc2.read_setup.return, nfs.proc3.read_setup.return, nfs.proc4.read_setup.return{
}
probe nfs.proc2.read_setup = kernel.function("nfs_proc_read_setup")?, module("nfs").function("nfs_proc_read_setup")?{
(server_ip) = (__nfs_read_data_info($data, 0))
(prot) = (__nfs_read_data_info($data, 1))
(version) = (2)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(name) = ("nfs.proc2.read_setup")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc2.read_setup.return = kernel.function("nfs_proc_read_setup").return?, module("nfs").function("nfs_proc_read_setup").return?{
(name) = ("nfs.proc2.read_setup.return")
(retvalue) = (0)
;
}
probe nfs.proc3.read_setup = kernel.function("nfs3_proc_read_setup")?, module("nfs").function("nfs3_proc_read_setup")?{
(server_ip) = (__nfs_read_data_info($data, 0))
(prot) = (__nfs_read_data_info($data, 1))
(version) = (3)
(fh) = ((count) = ($data->args->count))
(offset) = ($data->args->offset)
(name) = ("nfs.proc3.read_setup")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc3.read_setup.return = kernel.function("nfs3_proc_read_setup").return?, module("nfs").function("nfs3_proc_read_setup").return?{
(name) = ("nfs.proc3.read_setup.return")
(retvalue) = (0)
;
}
probe nfs.proc4.read_setup = kernel.function("nfs4_proc_read_setup")?, module("nfs").function("nfs4_proc_read_setup")?{
(server_ip) = (__nfs_read_data_info($data, 0))
(prot) = (__nfs_read_data_info($data, 1))
(version) = (4)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(name) = ("nfs.proc4.read_setup")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc4.read_setup.return = kernel.function("nfs4_proc_read_setup").return?, module("nfs").function("nfs4_proc_read_setup").return?{
(name) = ("nfs.proc4.read_setup.return")
(retvalue) = (0)
;
}
probe nfs.proc.read_done = nfs.proc2.read_done, nfs.proc3.read_done, nfs.proc4.read_done{
}
probe nfs.proc.read_done.return = nfs.proc2.read_done.return, nfs.proc3.read_done.return, nfs.proc4.read_done.return{
}
probe nfs.proc2.read_done = kernel.function("nfs_read_done")?, module("nfs").function("nfs_read_done")?{
(server_ip) = (__nfs_read_data_info($data, 0))
(prot) = (__nfs_read_data_info($data, 1))
(count) = (__nfs_read_data_info($data, 2))
(version) = (2)
(status) = ($task->tk_status)
(name) = ("nfs.proc2.read_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc2.read_done.return = kernel.function("nfs_read_done").return?, module("nfs").function("nfs_read_done").return?{
(version) = (2)
(name) = ("nfs.proc2.read_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc3.read_done = kernel.function("nfs3_read_done")?, module("nfs").function("nfs3_read_done")?{
(server_ip) = (__nfs_read_data_info($data, 0))
(prot) = (__nfs_read_data_info($data, 1))
(count) = (__nfs_read_data_info($data, 2))
(version) = (3)
(status) = ($task->tk_status)
(name) = ("nfs.proc3.read_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc3.read_done.return = kernel.function("nfs3_read_done").return?, module("nfs").function("nfs3_read_done").return?{
(version) = (3)
(name) = ("nfs.proc3.read_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.read_done = kernel.function("nfs4_read_done")?, module("nfs").function("nfs4_read_done")?{
(server_ip) = (__nfs_read_data_info($data, 0))
(prot) = (__nfs_read_data_info($data, 1))
(count) = (__nfs_read_data_info($data, 2))
(timestamp) = (__nfs_read_data_info($data, 4))
(version) = (4)
(status) = ($task->tk_status)
(name) = ("nfs.proc4.read_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc4.read_done.return = kernel.functi
(name) = ("nfs.proc4.commit.return")

(retstr) = (sprintf("%d", $return))

if ((retsrt) >= (0)) {

(size) = (retstr)

(units) = ("bytes")

}



}

probe nfs.proc.read_setup = nfs.proc2.read_setup, nfs.proc3.read_setup, nfs.proc4.read_setup{

}

probe nfs.proc.read_setup.return = nfs.proc2.read_setup.return, nfs.proc3.read_setup.return, nfs.proc4.read_setup.return{

}

probe nfs.proc2.read_setup = kernel.function("nfs_proc_read_setup")?, module("nfs").function("nfs_proc_read_setup")?{

(server_ip) = (__nfs_read_data_info($data, 0))

(prot) = (__nfs_read_data_info($data, 1))

(version) = (2)

(count) = ($data->args->count)

(offset) = ($data->args->offset)

(name) = ("nfs.proc2.read_setup")

(argstr) = (sprintf("%d,%d", count, offset))

(size) = (count)

(units) = ("bytes")

}

probe nfs.proc2.read_setup.return = kernel.function("nfs_proc_read_setup").return?, module("nfs").function("nfs_proc_read_setup").return?{

(name) = ("nfs.proc2.read_setup.return")

(retvalue) = (0)

;

}

probe nfs.proc3.read_setup = kernel.function("nfs3_proc_read_setup")?, module("nfs").function("nfs3_proc_read_setup")?{

(server_ip) = (__nfs_read_data_info($data, 0))

(prot) = (__nfs_read_data_info($data, 1))

(version) = (3)

(fh) = ((count) = ($data->args->count))

(offset) = ($data->args->offset)

(name) = ("nfs.proc3.read_setup")

(argstr) = (sprintf("%d,%d", count, offset))

(size) = (count)

(units) = ("bytes")

}

probe nfs.proc3.read_setup.return = kernel.function("nfs3_proc_read_setup").return?, module("nfs").function("nfs3_proc_read_setup").return?{

(name) = ("nfs.proc3.read_setup.return")

(retvalue) = (0)

;

}

probe nfs.proc4.read_setup = kernel.function("nfs4_proc_read_setup")?, module("nfs").function("nfs4_proc_read_setup")?{

(server_ip) = (__nfs_read_data_info($data, 0))

(prot) = (__nfs_read_data_info($data, 1))

(version) = (4)

(count) = ($data->args->count)

(offset) = ($data->args->offset)

(name) = ("nfs.proc4.read_setup")

(argstr) = (sprintf("%d,%d", count, offset))

(size) = (count)

(units) = ("bytes")

}

probe nfs.proc4.read_setup.return = kernel.function("nfs4_proc_read_setup").return?, module("nfs").function("nfs4_proc_read_setup").return?{

(name) = ("nfs.proc4.read_setup.return")

(retvalue) = (0)

;

}

probe nfs.proc.read_done = nfs.proc2.read_done, nfs.proc3.read_done, nfs.proc4.read_done{

}

probe nfs.proc.read_done.return = nfs.proc2.read_done.return, nfs.proc3.read_done.return, nfs.proc4.read_done.return{

}

probe nfs.proc2.read_done = kernel.function("nfs_read_done")?, module("nfs").function("nfs_read_done")?{

(server_ip) = (__nfs_read_data_info($data, 0))

(prot) = (__nfs_read_data_info($data, 1))

(count) = (__nfs_read_data_info($data, 2))

(version) = (2)

(status) = ($task->tk_status)

(name) = ("nfs.proc2.read_done")

(argstr) = (sprintf("%d", status))

}

probe nfs.proc2.read_done.return = kernel.function("nfs_read_done").return?, module("nfs").function("nfs_read_done").return?{

(version) = (2)

(name) = ("nfs.proc2.read_done.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc3.read_done = kernel.function("nfs3_read_done")?, module("nfs").function("nfs3_read_done")?{

(server_ip) = (__nfs_read_data_info($data, 0))

(prot) = (__nfs_read_data_info($data, 1))

(count) = (__nfs_read_data_info($data, 2))

(version) = (3)

(status) = ($task->tk_status)

(name) = ("nfs.proc3.read_done")

(argstr) = (sprintf("%d", status))

}

probe nfs.proc3.read_done.return = kernel.function("nfs3_read_done").return?, module("nfs").function("nfs3_read_done").return?{

(version) = (3)

(name) = ("nfs.proc3.read_done.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc4.read_done = kernel.function("nfs4_read_done")?, module("nfs").function("nfs4_read_done")?{

(server_ip) = (__nfs_read_data_info($data, 0))

(prot) = (__nfs_read_data_info($data, 1))

(count) = (__nfs_read_data_info($data, 2))

(timestamp) = (__nfs_read_data_info($data, 4))

(version) = (4)

(status) = ($task->tk_status)

(name) = ("nfs.proc4.read_done")

(argstr) = (sprintf("%d", status))

}
on("nfs4_read_done").return?, module("nfs").function("nfs4_read_done").return?{
(version) = (4)
(name) = ("nfs.proc4.read_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.write_setup = nfs.proc2.write_setup, nfs.proc3.write_setup, nfs.proc4.write_setup{
}
probe nfs.proc.write_setup.return = nfs.proc2.write_setup.return, nfs.proc3.write_setup.return, nfs.proc4.write_setup.return{
}
probe nfs.proc2.write_setup = kernel.function("nfs_proc_write_setup")?, module("nfs").function("nfs_proc_write_setup")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(version) = (2)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(name) = ("nfs.proc2.write_setup")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc2.write_setup.return = kernel.function("nfs_proc_write_setup").return?, module("nfs").function("nfs_proc_write_setup").return?{
(name) = ("nfs.proc2.write_setup.return")
(retvalue) = (0)
}
probe nfs.proc3.write_setup = kernel.function("nfs3_proc_write_setup")?, module("nfs").function("nfs3_proc_write_setup")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(version) = (3)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(how) = ($how)
(name) = ("nfs.proc3.write_setup")
(argstr) = (sprintf("%d,%d,%d", count, offset, how))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc3.write_setup.return = kernel.function("nfs3_proc_write_setup").return?, module("nfs").function("nfs3_proc_write_setup").return?{
(name) = ("nfs.proc3.write_setup.return")
(retvalue) = (0)
}
probe nfs.proc4.write_setup = kernel.function("nfs4_proc_write_setup")?, module("nfs").function("nfs4_proc_write_setup")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(version) = (4)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(how) = ($how)
(bitmask0) = (__nfsv4_bitmask($data->inode, 0))
(bitmask1) = (__nfsv4_bitmask($data->inode, 1))
(name) = ("nfs.proc4.write_setup")
(argstr) = (sprintf("%d,%d,%d", count, offset, how))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc4.write_setup.return = kernel.function("nfs4_proc_write_setup").return?, module("nfs").function("nfs4_proc_write_setup").return?{
(name) = ("nfs.proc4.write_setup.return")
(retvalue) = (0)
}
probe nfs.proc.write_done = nfs.proc2.write_done, nfs.proc3.write_done, nfs.proc4.write_done{
}
probe nfs.proc.write_done.return = nfs.proc2.write_done.return, nfs.proc3.write_done.return, nfs.proc4.write_done.return{
}
probe nfs.proc2.write_done = kernel.function("nfs_write_done")?, module("nfs").function("nfs_write_done")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(count) = (__nfs_write_data_info($data, 2))
(valid) = (__nfs_write_data_info($data, 3))
(version) = (2)
(status) = ($task->tk_status)
(name) = ("nfs.proc2.write_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc2.write_done.return = kernel.function("nfs_write_done").return?, module("nfs").function("nfs_write_done").return?{
(version) = (2)
(name) = ("nfs.proc2.write_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc3.write_done = kernel.function("nfs3_write_done")?, module("nfs").function("nfs3_write_done")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(count) = (__nfs_write_data_info($data, 2))
(valid) = (__nfs_write_data_info($data, 3))
(version) = (3)
(status) = ($task->tk_status)
(name) = ("nfs.proc3.write_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc3.write_done.return = kernel.function("nfs3_write_done").return?, module("nfs").function("nfs3_write_done").return?{
(version) = (3)
(name) = ("nfs.proc3.write_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.write_done = kernel.function("nfs4_write_done")?, module("nfs").function("nfs4_write_done")?{
(server_ip) = (__n
probe nfs.proc4.read_done.return = kernel.function("nfs4_read_done").return?, module("nfs").function("nfs4_read_done").return?{

(version) = (4)

(name) = ("nfs.proc4.read_done.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc.write_setup = nfs.proc2.write_setup, nfs.proc3.write_setup, nfs.proc4.write_setup{

}

probe nfs.proc.write_setup.return = nfs.proc2.write_setup.return, nfs.proc3.write_setup.return, nfs.proc4.write_setup.return{

}

probe nfs.proc2.write_setup = kernel.function("nfs_proc_write_setup")?, module("nfs").function("nfs_proc_write_setup")?{

(server_ip) = (__nfs_write_data_info($data, 0))

(prot) = (__nfs_write_data_info($data, 1))

(version) = (2)

(count) = ($data->args->count)

(offset) = ($data->args->offset)

(name) = ("nfs.proc2.write_setup")

(argstr) = (sprintf("%d,%d", count, offset))

(size) = (count)

(units) = ("bytes")

}

probe nfs.proc2.write_setup.return = kernel.function("nfs_proc_write_setup").return?, module("nfs").function("nfs_proc_write_setup").return?{

(name) = ("nfs.proc2.write_setup.return")

(retvalue) = (0)

}

probe nfs.proc3.write_setup = kernel.function("nfs3_proc_write_setup")?, module("nfs").function("nfs3_proc_write_setup")?{

(server_ip) = (__nfs_write_data_info($data, 0))

(prot) = (__nfs_write_data_info($data, 1))

(version) = (3)

(count) = ($data->args->count)

(offset) = ($data->args->offset)

(how) = ($how)

(name) = ("nfs.proc3.write_setup")

(argstr) = (sprintf("%d,%d,%d", count, offset, how))

(size) = (count)

(units) = ("bytes")

}

probe nfs.proc3.write_setup.return = kernel.function("nfs3_proc_write_setup").return?, module("nfs").function("nfs3_proc_write_setup").return?{

(name) = ("nfs.proc3.write_setup.return")

(retvalue) = (0)

}

probe nfs.proc4.write_setup = kernel.function("nfs4_proc_write_setup")?, module("nfs").function("nfs4_proc_write_setup")?{

(server_ip) = (__nfs_write_data_info($data, 0))

(prot) = (__nfs_write_data_info($data, 1))

(version) = (4)

(count) = ($data->args->count)

(offset) = ($data->args->offset)

(how) = ($how)

(bitmask0) = (__nfsv4_bitmask($data->inode, 0))

(bitmask1) = (__nfsv4_bitmask($data->inode, 1))

(name) = ("nfs.proc4.write_setup")

(argstr) = (sprintf("%d,%d,%d", count, offset, how))

(size) = (count)

(units) = ("bytes")

}

probe nfs.proc4.write_setup.return = kernel.function("nfs4_proc_write_setup").return?, module("nfs").function("nfs4_proc_write_setup").return?{

(name) = ("nfs.proc4.write_setup.return")

(retvalue) = (0)

}

probe nfs.proc.write_done = nfs.proc2.write_done, nfs.proc3.write_done, nfs.proc4.write_done{

}

probe nfs.proc.write_done.return = nfs.proc2.write_done.return, nfs.proc3.write_done.return, nfs.proc4.write_done.return{

}

probe nfs.proc2.write_done = kernel.function("nfs_write_done")?, module("nfs").function("nfs_write_done")?{

(server_ip) = (__nfs_write_data_info($data, 0))

(prot) = (__nfs_write_data_info($data, 1))

(count) = (__nfs_write_data_info($data, 2))

(valid) = (__nfs_write_data_info($data, 3))

(version) = (2)

(status) = ($task->tk_status)

(name) = ("nfs.proc2.write_done")

(argstr) = (sprintf("%d", status))

}

probe nfs.proc2.write_done.return = kernel.function("nfs_write_done").return?, module("nfs").function("nfs_write_done").return?{

(version) = (2)

(name) = ("nfs.proc2.write_done.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc3.write_done = kernel.function("nfs3_write_done")?, module("nfs").function("nfs3_write_done")?{

(server_ip) = (__nfs_write_data_info($data, 0))

(prot) = (__nfs_write_data_info($data, 1))

(count) = (__nfs_write_data_info($data, 2))

(valid) = (__nfs_write_data_info($data, 3))

(version) = (3)

(status) = ($task->tk_status)

(name) = ("nfs.proc3.write_done")

(argstr) = (sprintf("%d", status))

}

probe nfs.proc3.write_done.return = kernel.function("nfs3_write_done").return?, module("nfs").function("nfs3_write_done").return?{

(version) = (3)

(name) = ("nfs.proc3.write_done.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc4.write_done = kernel.function("nfs4_write_done")?, module("nfs").function("nfs4_write_done")?{
fs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(count) = (__nfs_write_data_info($data, 2))
(valid) = (__nfs_write_data_info($data, 3))
(timestamp) = (__nfs_write_data_info($data, 4))
(version) = (4)
(status) = ($task->tk_status)
(name) = ("nfs.proc4.write_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc4.write_done.return = kernel.function("nfs4_write_done").return?, module("nfs").function("nfs4_write_done").return?{
(version) = (4)
(name) = ("nfs.proc4.write_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.commit_setup = nfs.proc3.commit_setup, nfs.proc4.commit_setup{
}
probe nfs.proc.commit_setup.return = nfs.proc3.commit_setup.return, nfs.proc4.commit_setup.return{
}
probe nfs.proc3.commit_setup = kernel.function("nfs3_proc_commit_setup")?, module("nfs").function("nfs3_proc_commit_setup")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(version) = (3)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(name) = ("nfs.proc3.commit_setup")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc3.commit_setup.return = kernel.function("nfs3_proc_commit_setup").return?, module("nfs").function("nfs3_proc_commit_setup").return?{
(name) = ("nfs.proc3.commit_setup.return")
(retvalue) = (0)
}
probe nfs.proc4.commit_setup = kernel.function("nfs4_proc_commit_setup")?, module("nfs").function("nfs4_proc_commit_setup")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(version) = (4)
(count) = ($data->args->count)
(offset) = ($data->args->offset)
(bitmask0) = (__nfsv4_bitmask($data->inode, 0))
(bitmask1) = (__nfsv4_bitmask($data->inode, 1))
(name) = ("nfs.proc4.commit_setup")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfs.proc4.commit_setup.return = kernel.function("nfs4_proc_commit_setup").return?, module("nfs").function("nfs4_proc_commit_setup").return?{
(name) = ("nfs.proc4.commit_setup.return")
(retvalue) = (0)
}
probe nfs.proc.commit_done = nfs.proc3.commit_done, nfs.proc4.commit_done{
}
probe nfs.proc.commit_done.return = nfs.proc3.commit_done.return, nfs.proc4.commit_done.return{
}
probe nfs.proc3.commit_done = kernel.function("nfs3_commit_done")?, module("nfs").function("nfs3_commit_done")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(count) = (__nfs_write_data_info($data, 2))
(valid) = (__nfs_write_data_info($data, 3))
(version) = (3)
(status) = ($task->tk_status)
(name) = ("nfs.proc3.commit_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc3.commit_done.return = kernel.function("nfs3_commit_done").return?, module("nfs").function("nfs3_commit_done").return?{
(version) = (3)
(name) = ("nfs.proc3.commit_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.commit_done = kernel.function("nfs4_commit_done")?, module("nfs").function("nfs4_commit_done")?{
(server_ip) = (__nfs_write_data_info($data, 0))
(prot) = (__nfs_write_data_info($data, 1))
(count) = (__nfs_write_data_info($data, 2))
(valid) = (__nfs_write_data_info($data, 3))
(timestamp) = (__nfs_write_data_info($data, 4))
(version) = (4)
(status) = ($task->tk_status)
(name) = ("nfs.proc4.commit_done")
(argstr) = (sprintf("%d", status))
}
probe nfs.proc4.commit_done.return = kernel.function("nfs4_commit_done").return?, module("nfs").function("nfs4_commit_done").return?{
(version) = (4)
(name) = ("nfs.proc4.commit_done.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.open = kernel.function("nfs_open")?, module("nfs").function("nfs_open")?{
(server_ip) = (__i2n_ip_proto($inode, 0))
(prot) = (__i2n_ip_proto($inode, 1))
(version) = (__nfs_version($inode))
(filename) = (__file_filename($filp))
(flag) = ($filp->f_flags)
(mode) = ($filp->f_mode)
(name) = ("nfs.proc.open")
(argstr) = (sprintf("%s,%d,%d", filename, flag, mode))
}
probe nfs.proc.open.return = kernel.fu
(server_ip) = (__nfs_write_data_info($data, 0))

(prot) = (__nfs_write_data_info($data, 1))

(count) = (__nfs_write_data_info($data, 2))

(valid) = (__nfs_write_data_info($data, 3))

(timestamp) = (__nfs_write_data_info($data, 4))

(version) = (4)

(status) = ($task->tk_status)

(name) = ("nfs.proc4.write_done")

(argstr) = (sprintf("%d", status))

}

probe nfs.proc4.write_done.return = kernel.function("nfs4_write_done").return?, module("nfs").function("nfs4_write_done").return?{

(version) = (4)

(name) = ("nfs.proc4.write_done.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc.commit_setup = nfs.proc3.commit_setup, nfs.proc4.commit_setup{

}

probe nfs.proc.commit_setup.return = nfs.proc3.commit_setup.return, nfs.proc4.commit_setup.return{

}

probe nfs.proc3.commit_setup = kernel.function("nfs3_proc_commit_setup")?, module("nfs").function("nfs3_proc_commit_setup")?{

(server_ip) = (__nfs_write_data_info($data, 0))

(prot) = (__nfs_write_data_info($data, 1))

(version) = (3)

(count) = ($data->args->count)

(offset) = ($data->args->offset)

(name) = ("nfs.proc3.commit_setup")

(argstr) = (sprintf("%d,%d", count, offset))

(size) = (count)

(units) = ("bytes")

}

probe nfs.proc3.commit_setup.return = kernel.function("nfs3_proc_commit_setup").return?, module("nfs").function("nfs3_proc_commit_setup").return?{

(name) = ("nfs.proc3.commit_setup.return")

(retvalue) = (0)

}

probe nfs.proc4.commit_setup = kernel.function("nfs4_proc_commit_setup")?, module("nfs").function("nfs4_proc_commit_setup")?{

(server_ip) = (__nfs_write_data_info($data, 0))

(prot) = (__nfs_write_data_info($data, 1))

(version) = (4)

(count) = ($data->args->count)

(offset) = ($data->args->offset)

(bitmask0) = (__nfsv4_bitmask($data->inode, 0))

(bitmask1) = (__nfsv4_bitmask($data->inode, 1))

(name) = ("nfs.proc4.commit_setup")

(argstr) = (sprintf("%d,%d", count, offset))

(size) = (count)

(units) = ("bytes")

}

probe nfs.proc4.commit_setup.return = kernel.function("nfs4_proc_commit_setup").return?, module("nfs").function("nfs4_proc_commit_setup").return?{

(name) = ("nfs.proc4.commit_setup.return")

(retvalue) = (0)

}

probe nfs.proc.commit_done = nfs.proc3.commit_done, nfs.proc4.commit_done{

}

probe nfs.proc.commit_done.return = nfs.proc3.commit_done.return, nfs.proc4.commit_done.return{

}

probe nfs.proc3.commit_done = kernel.function("nfs3_commit_done")?, module("nfs").function("nfs3_commit_done")?{

(server_ip) = (__nfs_write_data_info($data, 0))

(prot) = (__nfs_write_data_info($data, 1))

(count) = (__nfs_write_data_info($data, 2))

(valid) = (__nfs_write_data_info($data, 3))

(version) = (3)

(status) = ($task->tk_status)

(name) = ("nfs.proc3.commit_done")

(argstr) = (sprintf("%d", status))

}

probe nfs.proc3.commit_done.return = kernel.function("nfs3_commit_done").return?, module("nfs").function("nfs3_commit_done").return?{

(version) = (3)

(name) = ("nfs.proc3.commit_done.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc4.commit_done = kernel.function("nfs4_commit_done")?, module("nfs").function("nfs4_commit_done")?{

(server_ip) = (__nfs_write_data_info($data, 0))

(prot) = (__nfs_write_data_info($data, 1))

(count) = (__nfs_write_data_info($data, 2))

(valid) = (__nfs_write_data_info($data, 3))

(timestamp) = (__nfs_write_data_info($data, 4))

(version) = (4)

(status) = ($task->tk_status)

(name) = ("nfs.proc4.commit_done")

(argstr) = (sprintf("%d", status))

}

probe nfs.proc4.commit_done.return = kernel.function("nfs4_commit_done").return?, module("nfs").function("nfs4_commit_done").return?{

(version) = (4)

(name) = ("nfs.proc4.commit_done.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc.open = kernel.function("nfs_open")?, module("nfs").function("nfs_open")?{

(server_ip) = (__i2n_ip_proto($inode, 0))

(prot) = (__i2n_ip_proto($inode, 1))

(version) = (__nfs_version($inode))

(filename) = (__file_filename($filp))

(flag) = ($filp->f_flags)

(mode) = ($filp->f_mode)

(name) = ("nfs.proc.open")

(argstr) = (sprintf("%s,%d,%d", filename, flag, mode))

}
nction("nfs_open").return?, module("nfs").function("nfs_open").return?{
(name) = ("nfs.proc.open.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.release = kernel.function("nfs_release")?, module("nfs").function("nfs_release")?{
(server_ip) = (__i2n_ip_proto($inode, 0))
(prot) = (__i2n_ip_proto($inode, 1))
(version) = (__nfs_version($inode))
(filename) = (__file_filename($filp))
(flag) = ($filp->f_flags)
(mode) = ($filp->f_mode)
(name) = ("nfs.proc.release")
(argstr) = (sprintf("%s,%d,%d", filename, flag, mode))
}
probe nfs.proc.release.return = kernel.function("nfs_release").return?, module("nfs").function("nfs_release").return?{
(name) = ("nfs.proc.release.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.handle_exception = kernel.function("nfs4_handle_exception")?, module("nfs").function("nfs4_handle_exception")?{
(version) = (4)
(errorcode) = ($errorcode)
(name) = ("nfs.proc4.handle_exception")
(argstr) = (sprintf("%d", errorcode))
}
probe nfs.proc4.handle_exception.return = kernel.function("nfs4_handle_exception").return?, module("nfs").function("nfs4_handle_exception").return?{
(name) = ("nfs.proc4.handle_exception.return")
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.create = nfs.proc2.create, nfs.proc3.create, nfs.proc4.create{
}
probe nfs.proc.create.return = nfs.proc2.create.return, nfs.proc3.create.return, nfs.proc4.create.return{
}
probe nfs.proc2.create = kernel.function("nfs_proc_create")?, module("nfs").function("nfs_proc_create")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (2)
(fh) = (__getfh_inode($dir))
(filename) = (kernel_string($dentry->d_name->name))
(filelen) = ($dentry->d_name->len)
(mode) = ($sattr->ia_mode)
(name) = ("nfs.proc2.create")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc2.create.return = kernel.function("nfs_proc_create").return?, module("nfs").function("nfs_proc_create").return?{
(name) = ("nfs.proc2.create.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc3.create = kernel.function("nfs3_proc_create")?, module("nfs").function("nfs3_proc_create")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (3)
(fh) = (__getfh_inode($dir))
(filename) = (kernel_string($dentry->d_name->name))
(filelen) = ($dentry->d_name->len)
(flag) = ($flags)
(mode) = ($sattr->ia_mode)
(name) = ("nfs.proc3.create")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc3.create.return = kernel.function("nfs3_proc_create").return?, module("nfs").function("nfs3_proc_create").return?{
(name) = ("nfs.proc3.create.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.create = kernel.function("nfs4_proc_create")?, module("nfs").function("nfs4_proc_create")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (4)
(fh) = (__getfh_inode($dir))
(filename) = (kernel_string($dentry->d_name->name))
(filelen) = ($dentry->d_name->len)
(flag) = ($flags)
(mode) = ($sattr->ia_mode)
(name) = ("nfs.proc4.create")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc4.create.return = kernel.function("nfs4_proc_create").return?, module("nfs").function("nfs4_proc_create").return?{
(name) = ("nfs.proc4.create.return")
(version) = (4)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.remove = nfs.proc2.remove, nfs.proc3.remove, nfs.proc4.remove{
}
probe nfs.proc.remove.return = nfs.proc2.remove.return, nfs.proc3.remove.return, nfs.proc4.remove.return{
}
probe nfs.proc2.remove = kernel.function("nfs_proc_remove")?, module("nfs").function("nfs_proc_remove")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (2)
(fh) = (__getfh_inode($dir))
(filename) = (kernel_string($name->name))
(filelen) = ($name->len)
(name) = ("nfs.proc2.remove")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc2.remove.return = kernel.function("nfs_proc_remove").return?, module("nfs").function("nfs_proc_remove").return
probe nfs.proc.open.return = kernel.function("nfs_open").return?, module("nfs").function("nfs_open").return?{

(name) = ("nfs.proc.open.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc.release = kernel.function("nfs_release")?, module("nfs").function("nfs_release")?{

(server_ip) = (__i2n_ip_proto($inode, 0))

(prot) = (__i2n_ip_proto($inode, 1))

(version) = (__nfs_version($inode))

(filename) = (__file_filename($filp))

(flag) = ($filp->f_flags)

(mode) = ($filp->f_mode)

(name) = ("nfs.proc.release")

(argstr) = (sprintf("%s,%d,%d", filename, flag, mode))

}

probe nfs.proc.release.return = kernel.function("nfs_release").return?, module("nfs").function("nfs_release").return?{

(name) = ("nfs.proc.release.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc4.handle_exception = kernel.function("nfs4_handle_exception")?, module("nfs").function("nfs4_handle_exception")?{

(version) = (4)

(errorcode) = ($errorcode)

(name) = ("nfs.proc4.handle_exception")

(argstr) = (sprintf("%d", errorcode))

}

probe nfs.proc4.handle_exception.return = kernel.function("nfs4_handle_exception").return?, module("nfs").function("nfs4_handle_exception").return?{

(name) = ("nfs.proc4.handle_exception.return")

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc.create = nfs.proc2.create, nfs.proc3.create, nfs.proc4.create{

}

probe nfs.proc.create.return = nfs.proc2.create.return, nfs.proc3.create.return, nfs.proc4.create.return{

}

probe nfs.proc2.create = kernel.function("nfs_proc_create")?, module("nfs").function("nfs_proc_create")?{

(server_ip) = (__i2n_ip_proto($dir, 0))

(prot) = (__i2n_ip_proto($dir, 1))

(version) = (2)

(fh) = (__getfh_inode($dir))

(filename) = (kernel_string($dentry->d_name->name))

(filelen) = ($dentry->d_name->len)

(mode) = ($sattr->ia_mode)

(name) = ("nfs.proc2.create")

(argstr) = (sprintf("%s", filename))

}

probe nfs.proc2.create.return = kernel.function("nfs_proc_create").return?, module("nfs").function("nfs_proc_create").return?{

(name) = ("nfs.proc2.create.return")

(version) = (2)

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc3.create = kernel.function("nfs3_proc_create")?, module("nfs").function("nfs3_proc_create")?{

(server_ip) = (__i2n_ip_proto($dir, 0))

(prot) = (__i2n_ip_proto($dir, 1))

(version) = (3)

(fh) = (__getfh_inode($dir))

(filename) = (kernel_string($dentry->d_name->name))

(filelen) = ($dentry->d_name->len)

(flag) = ($flags)

(mode) = ($sattr->ia_mode)

(name) = ("nfs.proc3.create")

(argstr) = (sprintf("%s", filename))

}

probe nfs.proc3.create.return = kernel.function("nfs3_proc_create").return?, module("nfs").function("nfs3_proc_create").return?{

(name) = ("nfs.proc3.create.return")

(version) = (3)

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc4.create = kernel.function("nfs4_proc_create")?, module("nfs").function("nfs4_proc_create")?{

(server_ip) = (__i2n_ip_proto($dir, 0))

(prot) = (__i2n_ip_proto($dir, 1))

(version) = (4)

(fh) = (__getfh_inode($dir))

(filename) = (kernel_string($dentry->d_name->name))

(filelen) = ($dentry->d_name->len)

(flag) = ($flags)

(mode) = ($sattr->ia_mode)

(name) = ("nfs.proc4.create")

(argstr) = (sprintf("%s", filename))

}

probe nfs.proc4.create.return = kernel.function("nfs4_proc_create").return?, module("nfs").function("nfs4_proc_create").return?{

(name) = ("nfs.proc4.create.return")

(version) = (4)

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc.remove = nfs.proc2.remove, nfs.proc3.remove, nfs.proc4.remove{

}

probe nfs.proc.remove.return = nfs.proc2.remove.return, nfs.proc3.remove.return, nfs.proc4.remove.return{

}

probe nfs.proc2.remove = kernel.function("nfs_proc_remove")?, module("nfs").function("nfs_proc_remove")?{

(server_ip) = (__i2n_ip_proto($dir, 0))

(prot) = (__i2n_ip_proto($dir, 1))

(version) = (2)

(fh) = (__getfh_inode($dir))

(filename) = (kernel_string($name->name))

(filelen) = ($name->len)

(name) = ("nfs.proc2.remove")

(argstr) = (sprintf("%s", filename))

}
?{
(name) = ("nfs.proc2.remove.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc3.remove = kernel.function("nfs3_proc_remove")?, module("nfs").function("nfs3_proc_remove")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (3)
(fh) = (__getfh_inode($dir))
(filename) = (kernel_string($name->name))
(filelen) = ($name->len)
(name) = ("nfs.proc3.remove")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc3.remove.return = kernel.function("nfs3_proc_remove").return?, module("nfs").function("nfs3_proc_remove").return?{
(name) = ("nfs.proc3.remove.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.remove = kernel.function("nfs4_proc_remove")?, module("nfs").function("nfs4_proc_remove")?{
(server_ip) = (__i2n_ip_proto($dir, 0))
(prot) = (__i2n_ip_proto($dir, 1))
(version) = (4)
(fh) = (__getfh_inode($dir))
(filename) = (kernel_string($name->name))
(filelen) = ($name->len)
(name) = ("nfs.proc4.remove")
(argstr) = (sprintf("%s", filename))
}
probe nfs.proc4.remove.return = kernel.function("nfs4_proc_remove").return?, module("nfs").function("nfs4_proc_remove").return?{
(name) = ("nfs.proc4.remove.return")
(version) = (4)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc.rename = nfs.proc2.rename, nfs.proc3.rename, nfs.proc4.rename{
}
probe nfs.proc.rename.return = nfs.proc2.rename.return, nfs.proc3.rename.return, nfs.proc4.rename.return{
}
probe nfs.proc2.rename = kernel.function("nfs_proc_rename")?, module("nfs").function("nfs_proc_rename")?{
(server_ip) = (__i2n_ip_proto($old_dir, 0))
(prot) = (__i2n_ip_proto($old_dir, 1))
(version) = (2)
(old_fh) = (__getfh_inode($old_dir))
(old_name) = (kernel_string($old_name->name))
(old_filelen) = ($old_name->len)
(new_fh) = (__getfh_inode($new_dir))
(new_name) = (kernel_string($new_name->name))
(new_filelen) = ($new_name->len)
(name) = ("nfs.proc2.remove")
(argstr) = (sprintf("%s,%s", old_name, new_name))
}
probe nfs.proc2.rename.return = kernel.function("nfs_proc_rename").return?, module("nfs").function("nfs_proc_rename").return?{
(name) = ("nfs.proc2.rename.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc3.rename = kernel.function("nfs3_proc_rename")?, module("nfs").function("nfs3_proc_rename")?{
(server_ip) = (__i2n_ip_proto($old_dir, 0))
(prot) = (__i2n_ip_proto($old_dir, 1))
(version) = (3)
(old_fh) = (__getfh_inode($old_dir))
(old_name) = (kernel_string($old_name->name))
(old_filelen) = ($old_name->len)
(new_fh) = (__getfh_inode($new_dir))
(new_name) = (kernel_string($new_name->name))
(new_filelen) = ($new_name->len)
(name) = ("nfs.proc3.remove")
(argstr) = (sprintf("%s,%s", old_name, new_name))
}
probe nfs.proc3.rename.return = kernel.function("nfs3_proc_rename").return?, module("nfs").function("nfs3_proc_rename").return?{
(name) = ("nfs.proc3.rename.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfs.proc4.rename = kernel.function("nfs4_proc_rename")?, module("nfs").function("nfs4_proc_rename")?{
(server_ip) = (__i2n_ip_proto($old_dir, 0))
(prot) = (__i2n_ip_proto($old_dir, 1))
(version) = (4)
(old_fh) = (__getfh_inode($old_dir))
(old_name) = (kernel_string($old_name->name))
(old_filelen) = ($old_name->len)
(new_fh) = (__getfh_inode($new_dir))
(new_name) = (kernel_string($new_name->name))
(new_filelen) = ($new_name->len)
(name) = ("nfs.proc4.remove")
(argstr) = (sprintf("%s,%s", old_name, new_name))
}
probe nfs.proc4.rename.return = kernel.function("nfs4_proc_rename").return?, module("nfs").function("nfs4_proc_rename").return?{
(name) = ("nfs.proc4.rename.return")
(version) = (4)
(retstr) = (sprintf("%d", $return))
}
function __i2n_ip_proto (dir, index)
%{ /* pure */
        int index = (int) (THIS->index);
        struct inode * dir = (struct inode *)(THIS->dir);
        struct rpc_clnt * clnt = NFS_CLIENT(dir);
        struct rpc_xprt * cl_xprt = clnt->cl_xprt;
        struct sockaddr_in * addr = (struct sockaddr_in *)&(cl_xprt->addr);
probe nfs.proc2.remove.return = kernel.function("nfs_proc_remove").return?, module("nfs").function("nfs_proc_remove").return?{

(name) = ("nfs.proc2.remove.return")

(version) = (2)

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc3.remove = kernel.function("nfs3_proc_remove")?, module("nfs").function("nfs3_proc_remove")?{

(server_ip) = (__i2n_ip_proto($dir, 0))

(prot) = (__i2n_ip_proto($dir, 1))

(version) = (3)

(fh) = (__getfh_inode($dir))

(filename) = (kernel_string($name->name))

(filelen) = ($name->len)

(name) = ("nfs.proc3.remove")

(argstr) = (sprintf("%s", filename))

}

probe nfs.proc3.remove.return = kernel.function("nfs3_proc_remove").return?, module("nfs").function("nfs3_proc_remove").return?{

(name) = ("nfs.proc3.remove.return")

(version) = (3)

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc4.remove = kernel.function("nfs4_proc_remove")?, module("nfs").function("nfs4_proc_remove")?{

(server_ip) = (__i2n_ip_proto($dir, 0))

(prot) = (__i2n_ip_proto($dir, 1))

(version) = (4)

(fh) = (__getfh_inode($dir))

(filename) = (kernel_string($name->name))

(filelen) = ($name->len)

(name) = ("nfs.proc4.remove")

(argstr) = (sprintf("%s", filename))

}

probe nfs.proc4.remove.return = kernel.function("nfs4_proc_remove").return?, module("nfs").function("nfs4_proc_remove").return?{

(name) = ("nfs.proc4.remove.return")

(version) = (4)

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc.rename = nfs.proc2.rename, nfs.proc3.rename, nfs.proc4.rename{

}

probe nfs.proc.rename.return = nfs.proc2.rename.return, nfs.proc3.rename.return, nfs.proc4.rename.return{

}

probe nfs.proc2.rename = kernel.function("nfs_proc_rename")?, module("nfs").function("nfs_proc_rename")?{

(server_ip) = (__i2n_ip_proto($old_dir, 0))

(prot) = (__i2n_ip_proto($old_dir, 1))

(version) = (2)

(old_fh) = (__getfh_inode($old_dir))

(old_name) = (kernel_string($old_name->name))

(old_filelen) = ($old_name->len)

(new_fh) = (__getfh_inode($new_dir))

(new_name) = (kernel_string($new_name->name))

(new_filelen) = ($new_name->len)

(name) = ("nfs.proc2.remove")

(argstr) = (sprintf("%s,%s", old_name, new_name))

}

probe nfs.proc2.rename.return = kernel.function("nfs_proc_rename").return?, module("nfs").function("nfs_proc_rename").return?{

(name) = ("nfs.proc2.rename.return")

(version) = (2)

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc3.rename = kernel.function("nfs3_proc_rename")?, module("nfs").function("nfs3_proc_rename")?{

(server_ip) = (__i2n_ip_proto($old_dir, 0))

(prot) = (__i2n_ip_proto($old_dir, 1))

(version) = (3)

(old_fh) = (__getfh_inode($old_dir))

(old_name) = (kernel_string($old_name->name))

(old_filelen) = ($old_name->len)

(new_fh) = (__getfh_inode($new_dir))

(new_name) = (kernel_string($new_name->name))

(new_filelen) = ($new_name->len)

(name) = ("nfs.proc3.remove")

(argstr) = (sprintf("%s,%s", old_name, new_name))

}

probe nfs.proc3.rename.return = kernel.function("nfs3_proc_rename").return?, module("nfs").function("nfs3_proc_rename").return?{

(name) = ("nfs.proc3.rename.return")

(version) = (3)

(retstr) = (sprintf("%d", $return))

}

probe nfs.proc4.rename = kernel.function("nfs4_proc_rename")?, module("nfs").function("nfs4_proc_rename")?{

(server_ip) = (__i2n_ip_proto($old_dir, 0))

(prot) = (__i2n_ip_proto($old_dir, 1))

(version) = (4)

(old_fh) = (__getfh_inode($old_dir))

(old_name) = (kernel_string($old_name->name))

(old_filelen) = ($old_name->len)

(new_fh) = (__getfh_inode($new_dir))

(new_name) = (kernel_string($new_name->name))

(new_filelen) = ($new_name->len)

(name) = ("nfs.proc4.remove")

(argstr) = (sprintf("%s,%s", old_name, new_name))

}

probe nfs.proc4.rename.return = kernel.function("nfs4_proc_rename").return?, module("nfs").function("nfs4_proc_rename").return?{

(name) = ("nfs.proc4.rename.return")

(version) = (4)

(retstr) = (sprintf("%d", $return))

}

function __i2n_ip_proto (dir, index)

%{ /* pure */

        int index = (int) (THIS->index);

        struct inode * dir = (struct inode *)(THIS->dir);

        struct rpc_clnt * clnt = NFS_CLIENT(dir);

        struct rpc_xprt * cl_xprt = clnt->cl_xprt;


        if(index == 0) {
                if (addr->sin_family == AF_INET) {
                        /* Now consider ipv4 only */
                        THIS->__retvalue = addr->sin_addr.s_addr;
                } else
                        THIS->__retvalue = 0;
        } else
                THIS->__retvalue = cl_xprt->prot;
%}
function __nfs_read_data_info (rdata, index)
%{ /* pure */
        struct nfs_read_data * rdata = (struct nfs_read_data *)(long)THIS->rdata;
	struct rpc_task *task = &(rdata->task);
        struct nfs_readres *rres = &(rdata->res);
        int index = THIS->index;

	switch(index) {
		case 0:
			THIS->__retvalue = get_ip(task); 
			break;
		case 1: 
			THIS->__retvalue = get_prot(task);
			break;
		case 2:
			THIS->__retvalue = rres->count;
			break;
		case 3:
			THIS->__retvalue = rres->fattr->valid;
			break;
#ifdef CONFIG_NFS_V4
		case 4:
			THIS->__retvalue = rdata->timestamp;
			break;
#endif
		default:
			THIS->__retvalue = 0;
			break;
	}
%}
function __nfs_write_data_info (wdata, index)
%{ /* pure */
        struct nfs_write_data * wdata = (struct nfs_write_data *)(long)THIS->wdata;
	struct rpc_task *task = &(wdata->task);
        int index = THIS->index;

	switch(index) {
		case 0:
			THIS->__retvalue = get_ip(task); 
			break;
		case 1: 
			THIS->__retvalue = get_prot(task);
			break;
		default:
			break;
	}
%}
function __nfsv4_bitmask (dir, i)
%{ /* pure */
        int i = (int) (THIS->i);
	struct inode * dir = (struct inode *)(THIS->dir);
        struct nfs_server * server = NFS_SERVER(dir);

        THIS->__retvalue = server->attr_bitmask[i];

%}
function __getfh_inode (dir)
%{ /* pure */
	struct inode * dir = (struct inode *)(THIS->dir);
	struct nfs_fh * fh = NFS_FH(dir);

	THIS->__retvalue =(long) fh;
%}

# file /usr/local/share/systemtap/tapset/nfsd.stp
%{
#include <linux/sunrpc/svc.h>
#include <linux/nfsd/nfsd.h>
#include <linux/nfsd/cache.h>
#include <linux/nfsd/xdr.h>
#include <linux/nfsd/xdr3.h>
%}%{
/*Get file handle from struct svc_fh */
char * fh_fmt(struct svc_fh * fhp)
{
	 struct knfsd_fh *fh = &fhp->fh_handle;

	static char buf[80];
	sprintf(buf, "%d: %08x %08x %08x %08x %08x %08x",
		fh->fh_size,
		fh->fh_base.fh_pad[0],
		fh->fh_base.fh_pad[1],
		fh->fh_base.fh_pad[2],
		fh->fh_base.fh_pad[3],
		fh->fh_base.fh_pad[4],
		fh->fh_base.fh_pad[5]);
	return buf;
}

%}probe nfsd.dispatch = kernel.function("nfsd_dispatch")?, module("nfsd").function("nfsd_dispatch")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = ($rqstp->rq_vers)
(xid) = ($rqstp->rq_xid)
(prog) = ($rqstp->rq_prog)
(proc) = ($rqstp->rq_proc)
(name) = ("nfsd.dispatch")
(argstr) = (sprintf("%d,%d", version, proto))
}
probe nfsd.dispatch.return = kernel.function("nfsd_dispatch").return?, module("nfsd").function("nfsd_dispatch").return?{
(name) = ("nfsd.dispatch.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.entries = nfsd.proc.lookup, nfsd.proc.read, nfsd.proc.write, nfsd.proc.commit, nfsd.proc.compound, nfsd.proc.remove, nfsd.proc.rename, nfsd.proc.create{
}
probe nfsd.proc.return = nfsd.proc.lookup.return, nfsd.proc.read.return, nfsd.proc.write.return, nfsd.proc.commit.return, nfsd.proc.compound.return, nfsd.proc.remove.return, nfsd.proc.rename.return, nfsd.proc.create.return{
}
probe nfsd.proc.lookup = nfsd.proc2.lookup, nfsd.proc3.lookup{
}
probe nfsd.proc.lookup.return = nfsd.proc2.lookup.return, nfsd.proc3.lookup.return{
}
probe nfsd.proc2.lookup = kernel.function("nfsd_proc_lookup")?, module("nfsd").function("nfsd_proc_lookup")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (2)
(fh) = (__get_fh($argp, 1))
(filename) = (kernel_string($argp->name))
(filelen) = ($argp->len)
(name) = ("nfsd.proc2.lookup")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.proc2.lookup.return = kernel.function("nfsd_proc_lookup").return?, module("nfsd").function("nfsd_proc_lookup").return?{
(na
        struct sockaddr_in * addr = (struct sockaddr_in *)&(cl_xprt->addr);



        if(index == 0) {

                if (addr->sin_family == AF_INET) {

                        /* Now consider ipv4 only */

                        THIS->__retvalue = addr->sin_addr.s_addr;

                } else

                        THIS->__retvalue = 0;

        } else

                THIS->__retvalue = cl_xprt->prot;

%}

function __nfs_read_data_info (rdata, index)

%{ /* pure */

        struct nfs_read_data * rdata = (struct nfs_read_data *)(long)THIS->rdata;

	struct rpc_task *task = &(rdata->task);

        struct nfs_readres *rres = &(rdata->res);

        int index = THIS->index;



	switch(index) {

		case 0:

			THIS->__retvalue = get_ip(task); 

			break;

		case 1: 

			THIS->__retvalue = get_prot(task);

			break;

		case 2:

			THIS->__retvalue = rres->count;

			break;

		case 3:

			THIS->__retvalue = rres->fattr->valid;

			break;

#ifdef CONFIG_NFS_V4

		case 4:

			THIS->__retvalue = rdata->timestamp;

			break;

#endif

		default:

			THIS->__retvalue = 0;

			break;

	}

%}

function __nfs_write_data_info (wdata, index)

%{ /* pure */

        struct nfs_write_data * wdata = (struct nfs_write_data *)(long)THIS->wdata;

	struct rpc_task *task = &(wdata->task);

        int index = THIS->index;



	switch(index) {

		case 0:

			THIS->__retvalue = get_ip(task); 

			break;

		case 1: 

			THIS->__retvalue = get_prot(task);

			break;

		default:

			break;

	}

%}

function __nfsv4_bitmask (dir, i)

%{ /* pure */

        int i = (int) (THIS->i);

	struct inode * dir = (struct inode *)(THIS->dir);

        struct nfs_server * server = NFS_SERVER(dir);



        THIS->__retvalue = server->attr_bitmask[i];



%}

function __getfh_inode (dir)

%{ /* pure */

	struct inode * dir = (struct inode *)(THIS->dir);

	struct nfs_fh * fh = NFS_FH(dir);



	THIS->__retvalue =(long) fh;

%}



# file /usr/local/share/systemtap/tapset/nfsd.stp

%{

#include <linux/sunrpc/svc.h>

#include <linux/nfsd/nfsd.h>

#include <linux/nfsd/cache.h>

#include <linux/nfsd/xdr.h>

#include <linux/nfsd/xdr3.h>

%}%{

/*Get file handle from struct svc_fh */

char * fh_fmt(struct svc_fh * fhp)

{

	 struct knfsd_fh *fh = &fhp->fh_handle;



	static char buf[80];

	sprintf(buf, "%d: %08x %08x %08x %08x %08x %08x",

		fh->fh_size,

		fh->fh_base.fh_pad[0],

		fh->fh_base.fh_pad[1],

		fh->fh_base.fh_pad[2],

		fh->fh_base.fh_pad[3],

		fh->fh_base.fh_pad[4],

		fh->fh_base.fh_pad[5]);

	return buf;

}



%}probe nfsd.dispatch = kernel.function("nfsd_dispatch")?, module("nfsd").function("nfsd_dispatch")?{

(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)

(proto) = ($rqstp->rq_prot)

(version) = ($rqstp->rq_vers)

(xid) = ($rqstp->rq_xid)

(prog) = ($rqstp->rq_prog)

(proc) = ($rqstp->rq_proc)

(name) = ("nfsd.dispatch")

(argstr) = (sprintf("%d,%d", version, proto))

}

probe nfsd.dispatch.return = kernel.function("nfsd_dispatch").return?, module("nfsd").function("nfsd_dispatch").return?{

(name) = ("nfsd.dispatch.return")

(retstr) = (sprintf("%d", $return))

}

probe nfsd.proc.entries = nfsd.proc.lookup, nfsd.proc.read, nfsd.proc.write, nfsd.proc.commit, nfsd.proc.compound, nfsd.proc.remove, nfsd.proc.rename, nfsd.proc.create{

}

probe nfsd.proc.return = nfsd.proc.lookup.return, nfsd.proc.read.return, nfsd.proc.write.return, nfsd.proc.commit.return, nfsd.proc.compound.return, nfsd.proc.remove.return, nfsd.proc.rename.return, nfsd.proc.create.return{

}

probe nfsd.proc.lookup = nfsd.proc2.lookup, nfsd.proc3.lookup{

}

probe nfsd.proc.lookup.return = nfsd.proc2.lookup.return, nfsd.proc3.lookup.return{

}

probe nfsd.proc2.lookup = kernel.function("nfsd_proc_lookup")?, module("nfsd").function("nfsd_proc_lookup")?{

(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)

(proto) = ($rqstp->rq_prot)

(version) = (2)

(fh) = (__get_fh($argp, 1))

(filename) = (kernel_string($argp->name))

(filelen) = ($argp->len)

(name) = ("nfsd.proc2.lookup")

(argstr) = (sprintf("%s", filename))

}

probe nfsd.proc2.lookup.return = kernel.function("nfsd_proc_lookup").return?, module("nfsd").function("nfsd_proc_lookup").return?{
me) = ("nfsd.proc2.lookup.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc3.lookup = kernel.function("nfsd3_proc_lookup")?, module("nfsd").function("nfsd3_proc_lookup")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 1))
(filename) = (kernel_string($argp->name))
(filelen) = ($argp->len)
(name) = ("nfsd.proc3.lookup")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.proc3.lookup.return = kernel.function("nfsd3_proc_lookup").return?, module("nfsd").function("nfsd3_proc_lookup").return?{
(name) = ("nfsd.proc3.lookup.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.read = nfsd.proc2.read, nfsd.proc3.read{
}
probe nfsd.proc.read.return = nfsd.proc2.read.return, nfsd.proc3.read.return{
}
probe nfsd.proc2.read = kernel.function("nfsd_proc_read")?, module("nfsd").function("nfsd_proc_read")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (2)
(fh) = (__get_fh($argp, 3))
(count) = ($argp->count)
(offset) = ($argp->offset)
(vec) = ($argp->vec)
(vlen) = ($argp->vlen)
(name) = ("nfsd.proc2.read")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.proc2.read.return = kernel.function("nfsd_proc_read").return?, module("nfsd").function("nfsd_proc_read").return?{
(name) = ("nfsd.proc2.read.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc3.read = kernel.function("nfsd3_proc_read")?, module("nfsd").function("nfsd3_proc_read")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 4))
(count) = ($argp->count)
(offset) = ($argp->offset)
(vec) = ($argp->vec)
(vlen) = ($argp->vlen)
(name) = ("nfsd.proc3.read")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.proc3.read.return = kernel.function("nfsd3_proc_read").return?, module("nfsd").function("nfsd3_proc_read").return?{
(name) = ("nfsd.proc3.read.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.write = nfsd.proc2.write, nfsd.proc3.write{
}
probe nfsd.proc.write.return = nfsd.proc2.write.return, nfsd.proc3.write.return{
}
probe nfsd.proc2.write = kernel.function("nfsd_proc_write")?, module("nfsd").function("nfsd_proc_write")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (2)
(fh) = (__get_fh($argp, 5))
(count) = ($argp->len)
(offset) = ($argp->offset)
(vec) = ($argp->vec)
(vlen) = ($argp->vlen)
(name) = ("nfsd.proc2.write")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.proc2.write.return = kernel.function("nfsd_proc_write").return?, module("nfsd").function("nfsd_proc_write").return?{
(name) = ("nfsd.proc2.write.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc3.write = kernel.function("nfsd3_proc_write")?, module("nfsd").function("nfsd3_proc_write")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 6))
(count) = ($argp->count)
(offset) = ($argp->offset)
(vec) = ($argp->vec)
(vlen) = ($argp->vlen)
(stable) = ($argp->stable)
(name) = ("nfsd.proc3.write")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.proc3.write.return = kernel.function("nfsd3_proc_write").return?, module("nfsd").function("nfsd3_proc_write").return?{
(name) = ("nfsd.proc3.write.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.commit = nfsd.proc3.commit{
}
probe nfsd.proc.commit.return = nfsd.proc3.commit.return{
}
probe nfsd.proc3.commit = kernel.function("nfsd3_proc_commit")?, module("nfsd").function("nfsd3_proc_commit")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 7))
(count) = ($argp->count)
(name) = ("nfsd.proc2.lookup.return")

(version) = (2)

(retstr) = (sprintf("%d", $return))

}

probe nfsd.proc3.lookup = kernel.function("nfsd3_proc_lookup")?, module("nfsd").function("nfsd3_proc_lookup")?{

(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)

(proto) = ($rqstp->rq_prot)

(version) = (3)

(fh) = (__get_fh($argp, 1))

(filename) = (kernel_string($argp->name))

(filelen) = ($argp->len)

(name) = ("nfsd.proc3.lookup")

(argstr) = (sprintf("%s", filename))

}

probe nfsd.proc3.lookup.return = kernel.function("nfsd3_proc_lookup").return?, module("nfsd").function("nfsd3_proc_lookup").return?{

(name) = ("nfsd.proc3.lookup.return")

(version) = (3)

(retstr) = (sprintf("%d", $return))

}

probe nfsd.proc.read = nfsd.proc2.read, nfsd.proc3.read{

}

probe nfsd.proc.read.return = nfsd.proc2.read.return, nfsd.proc3.read.return{

}

probe nfsd.proc2.read = kernel.function("nfsd_proc_read")?, module("nfsd").function("nfsd_proc_read")?{

(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)

(proto) = ($rqstp->rq_prot)

(version) = (2)

(fh) = (__get_fh($argp, 3))

(count) = ($argp->count)

(offset) = ($argp->offset)

(vec) = ($argp->vec)

(vlen) = ($argp->vlen)

(name) = ("nfsd.proc2.read")

(argstr) = (sprintf("%d,%d", count, offset))

(size) = (count)

(units) = ("bytes")

}

probe nfsd.proc2.read.return = kernel.function("nfsd_proc_read").return?, module("nfsd").function("nfsd_proc_read").return?{

(name) = ("nfsd.proc2.read.return")

(version) = (2)

(retstr) = (sprintf("%d", $return))

}

probe nfsd.proc3.read = kernel.function("nfsd3_proc_read")?, module("nfsd").function("nfsd3_proc_read")?{

(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)

(proto) = ($rqstp->rq_prot)

(version) = (3)

(fh) = (__get_fh($argp, 4))

(count) = ($argp->count)

(offset) = ($argp->offset)

(vec) = ($argp->vec)

(vlen) = ($argp->vlen)

(name) = ("nfsd.proc3.read")

(argstr) = (sprintf("%d,%d", count, offset))

(size) = (count)

(units) = ("bytes")

}

probe nfsd.proc3.read.return = kernel.function("nfsd3_proc_read").return?, module("nfsd").function("nfsd3_proc_read").return?{

(name) = ("nfsd.proc3.read.return")

(version) = (3)

(retstr) = (sprintf("%d", $return))

}

probe nfsd.proc.write = nfsd.proc2.write, nfsd.proc3.write{

}

probe nfsd.proc.write.return = nfsd.proc2.write.return, nfsd.proc3.write.return{

}

probe nfsd.proc2.write = kernel.function("nfsd_proc_write")?, module("nfsd").function("nfsd_proc_write")?{

(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)

(proto) = ($rqstp->rq_prot)

(version) = (2)

(fh) = (__get_fh($argp, 5))

(count) = ($argp->len)

(offset) = ($argp->offset)

(vec) = ($argp->vec)

(vlen) = ($argp->vlen)

(name) = ("nfsd.proc2.write")

(argstr) = (sprintf("%d,%d", count, offset))

(size) = (count)

(units) = ("bytes")

}

probe nfsd.proc2.write.return = kernel.function("nfsd_proc_write").return?, module("nfsd").function("nfsd_proc_write").return?{

(name) = ("nfsd.proc2.write.return")

(version) = (2)

(retstr) = (sprintf("%d", $return))

}

probe nfsd.proc3.write = kernel.function("nfsd3_proc_write")?, module("nfsd").function("nfsd3_proc_write")?{

(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)

(proto) = ($rqstp->rq_prot)

(version) = (3)

(fh) = (__get_fh($argp, 6))

(count) = ($argp->count)

(offset) = ($argp->offset)

(vec) = ($argp->vec)

(vlen) = ($argp->vlen)

(stable) = ($argp->stable)

(name) = ("nfsd.proc3.write")

(argstr) = (sprintf("%d,%d", count, offset))

(size) = (count)

(units) = ("bytes")

}

probe nfsd.proc3.write.return = kernel.function("nfsd3_proc_write").return?, module("nfsd").function("nfsd3_proc_write").return?{

(name) = ("nfsd.proc3.write.return")

(version) = (3)

(retstr) = (sprintf("%d", $return))

}

probe nfsd.proc.commit = nfsd.proc3.commit{

}

probe nfsd.proc.commit.return = nfsd.proc3.commit.return{

}

probe nfsd.proc3.commit = kernel.function("nfsd3_proc_commit")?, module("nfsd").function("nfsd3_proc_commit")?{

(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)

(proto) = ($rqstp->rq_prot)

(version) = (3)

(fh) = (__get_fh($argp, 7))

(offset) = ($argp->offset)
(name) = ("nfsd.proc3.commit")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.proc3.commit.return = kernel.function("nfsd3_proc_commit").return?, module("nfsd").function("nfsd3_proc_commit").return?{
(name) = ("nfsd.proc3.commit.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.create = nfsd.proc2.create, nfsd.proc3.create{
}
probe nfsd.proc.create.return = nfsd.proc2.create.return, nfsd.proc3.create.return{
}
probe nfsd.proc2.create = kernel.function("nfsd_proc_create")?, module("nfsd").function("nfsd_proc_create")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (2)
(fh) = (__get_fh($argp, 8))
(filename) = (kernel_string($argp->name))
(filelen) = ($argp->len)
(name) = ("nfsd.proc2.create")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.proc2.create.return = kernel.function("nfsd_proc_create").return?, module("nfsd").function("nfsd_proc_create").return?{
(name) = ("nfsd.proc2.create.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc3.create = kernel.function("nfsd3_proc_create")?, module("nfsd").function("nfsd3_proc_create")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 9))
(filename) = (kernel_string($argp->name))
(filelen) = ($argp->len)
(name) = ("nfsd.proc3.create")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.proc3.create.return = kernel.function("nfsd3_proc_create").return?, module("nfsd").function("nfsd3_proc_create").return?{
(name) = ("nfsd.proc3.create.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.remove = nfsd.proc2.remove, nfsd.proc3.remove{
}
probe nfsd.proc.remove.return = nfsd.proc2.remove.return, nfsd.proc3.remove.return{
}
probe nfsd.proc2.remove = kernel.function("nfsd_proc_remove")?, module("nfsd").function("nfsd_proc_remove")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (2)
(fh) = (__get_fh($argp, 10))
(filename) = (kernel_string($argp->name))
(filelen) = ($argp->len)
(name) = ("nfsd.proc2.remove")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.proc2.remove.return = kernel.function("nfsd_proc_remove").return?, module("nfsd").function("nfsd_proc_remove").return?{
(name) = ("nfsd.proc2.remove.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc3.remove = kernel.function("nfsd3_proc_remove")?, module("nfsd").function("nfsd3_proc_remove")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 11))
(filename) = (kernel_string($argp->name))
(filelen) = ($argp->len)
(name) = ("nfsd.proc3.remove")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.proc3.remove.return = kernel.function("nfsd3_proc_remove").return?, module("nfsd").function("nfsd3_proc_remove").return?{
(name) = ("nfsd.proc3.remove.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.rename = nfsd.proc2.rename, nfsd.proc3.rename{
}
probe nfsd.proc.rename.return = nfsd.proc2.rename.return, nfsd.proc3.rename.return{
}
probe nfsd.proc2.rename = kernel.function("nfsd_proc_rename")?, module("nfsd").function("nfsd_proc_rename")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (2)
(fh) = (__get_fh($argp, 12))
(tfh) = (__get_fh($argp, 13))
(filename) = (kernel_string($argp->fname))
(filelen) = ($argp->flen)
(tname) = (kernel_string($argp->tname))
(tlen) = ($argp->tlen)
(name) = ("nfsd.proc2.rename")
(argstr) = (sprintf("%s,%s", filename, tname))
}
probe nfsd.proc2.rename.return = kernel.function("nfsd_proc_rename").return?, module("nfsd").function("nfsd_proc_rename").return?{
(name) = ("nfsd.proc2.rename.return")
(version) = (2)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc3.rename = kernel.function("nfsd3_proc_rename")?, module("nfsd").function("nfsd3_
(count) = ($argp->count)

(offset) = ($argp->offset)

(name) = ("nfsd.proc3.commit")

(argstr) = (sprintf("%d,%d", count, offset))

(size) = (count)

(units) = ("bytes")

}

probe nfsd.proc3.commit.return = kernel.function("nfsd3_proc_commit").return?, module("nfsd").function("nfsd3_proc_commit").return?{

(name) = ("nfsd.proc3.commit.return")

(version) = (3)

(retstr) = (sprintf("%d", $return))

}

probe nfsd.proc.create = nfsd.proc2.create, nfsd.proc3.create{

}

probe nfsd.proc.create.return = nfsd.proc2.create.return, nfsd.proc3.create.return{

}

probe nfsd.proc2.create = kernel.function("nfsd_proc_create")?, module("nfsd").function("nfsd_proc_create")?{

(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)

(proto) = ($rqstp->rq_prot)

(version) = (2)

(fh) = (__get_fh($argp, 8))

(filename) = (kernel_string($argp->name))

(filelen) = ($argp->len)

(name) = ("nfsd.proc2.create")

(argstr) = (sprintf("%s", filename))

}

probe nfsd.proc2.create.return = kernel.function("nfsd_proc_create").return?, module("nfsd").function("nfsd_proc_create").return?{

(name) = ("nfsd.proc2.create.return")

(version) = (2)

(retstr) = (sprintf("%d", $return))

}

probe nfsd.proc3.create = kernel.function("nfsd3_proc_create")?, module("nfsd").function("nfsd3_proc_create")?{

(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)

(proto) = ($rqstp->rq_prot)

(version) = (3)

(fh) = (__get_fh($argp, 9))

(filename) = (kernel_string($argp->name))

(filelen) = ($argp->len)

(name) = ("nfsd.proc3.create")

(argstr) = (sprintf("%s", filename))

}

probe nfsd.proc3.create.return = kernel.function("nfsd3_proc_create").return?, module("nfsd").function("nfsd3_proc_create").return?{

(name) = ("nfsd.proc3.create.return")

(version) = (3)

(retstr) = (sprintf("%d", $return))

}

probe nfsd.proc.remove = nfsd.proc2.remove, nfsd.proc3.remove{

}

probe nfsd.proc.remove.return = nfsd.proc2.remove.return, nfsd.proc3.remove.return{

}

probe nfsd.proc2.remove = kernel.function("nfsd_proc_remove")?, module("nfsd").function("nfsd_proc_remove")?{

(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)

(proto) = ($rqstp->rq_prot)

(version) = (2)

(fh) = (__get_fh($argp, 10))

(filename) = (kernel_string($argp->name))

(filelen) = ($argp->len)

(name) = ("nfsd.proc2.remove")

(argstr) = (sprintf("%s", filename))

}

probe nfsd.proc2.remove.return = kernel.function("nfsd_proc_remove").return?, module("nfsd").function("nfsd_proc_remove").return?{

(name) = ("nfsd.proc2.remove.return")

(version) = (2)

(retstr) = (sprintf("%d", $return))

}

probe nfsd.proc3.remove = kernel.function("nfsd3_proc_remove")?, module("nfsd").function("nfsd3_proc_remove")?{

(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)

(proto) = ($rqstp->rq_prot)

(version) = (3)

(fh) = (__get_fh($argp, 11))

(filename) = (kernel_string($argp->name))

(filelen) = ($argp->len)

(name) = ("nfsd.proc3.remove")

(argstr) = (sprintf("%s", filename))

}

probe nfsd.proc3.remove.return = kernel.function("nfsd3_proc_remove").return?, module("nfsd").function("nfsd3_proc_remove").return?{

(name) = ("nfsd.proc3.remove.return")

(version) = (3)

(retstr) = (sprintf("%d", $return))

}

probe nfsd.proc.rename = nfsd.proc2.rename, nfsd.proc3.rename{

}

probe nfsd.proc.rename.return = nfsd.proc2.rename.return, nfsd.proc3.rename.return{

}

probe nfsd.proc2.rename = kernel.function("nfsd_proc_rename")?, module("nfsd").function("nfsd_proc_rename")?{

(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)

(proto) = ($rqstp->rq_prot)

(version) = (2)

(fh) = (__get_fh($argp, 12))

(tfh) = (__get_fh($argp, 13))

(filename) = (kernel_string($argp->fname))

(filelen) = ($argp->flen)

(tname) = (kernel_string($argp->tname))

(tlen) = ($argp->tlen)

(name) = ("nfsd.proc2.rename")

(argstr) = (sprintf("%s,%s", filename, tname))

}

probe nfsd.proc2.rename.return = kernel.function("nfsd_proc_rename").return?, module("nfsd").function("nfsd_proc_rename").return?{

(name) = ("nfsd.proc2.rename.return")

(version) = (2)

(retstr) = (sprintf("%d", $return))

}
proc_rename")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (3)
(fh) = (__get_fh($argp, 14))
(tfh) = (__get_fh($argp, 15))
(filename) = (kernel_string($argp->fname))
(filelen) = ($argp->flen)
(tname) = (kernel_string($argp->tname))
(tlen) = ($argp->tlen)
(name) = ("nfsd.proc3.rename")
(argstr) = (sprintf("%s,%s", filename, tname))
}
probe nfsd.proc3.rename.return = kernel.function("nfsd3_proc_rename").return?, module("nfsd").function("nfsd3_proc_rename").return?{
(name) = ("nfsd.proc3.rename.return")
(version) = (3)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.proc.compound = nfsd.proc4.compound{
}
probe nfsd.proc.compound.return = nfsd.proc4.compound.return{
}
probe nfsd.proc4.compound = kernel.function("nfsd4_proc_compound")?, module("nfsd").function("nfsd4_proc_compound")?{
(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)
(proto) = ($rqstp->rq_prot)
(version) = (4)
(num) = ($args->opcnt)
(op) = ($args->ops)
(name) = ("nfsd.proc4.cmpound")
(argstr) = (sprintf("%d", num))
}
probe nfsd.proc4.compound.return = kernel.function("nfsd4_proc_compound").return?, module("nfsd").function("nfsd4_proc_compound").return?{
(name) = ("nfsd.proc4.compound.return")
(version) = (4)
(retstr) = (sprintf("%d", $return))
}
probe nfsd.entries = nfsd.open, nfsd.read, nfsd.write, nfsd.lookup, nfsd.commit, nfsd.create, nfsd.createv3, nfsd.unlink, nfsd.rename, nfsd.close{
}
probe nfsd.return = nfsd.open.return, nfsd.read.return, nfsd.write.return, nfsd.lookup.return, nfsd.commit.return, nfsd.create.return, nfsd.createv3.return, nfsd.unlink.return, nfsd.rename.return{
}
probe nfsd.open = kernel.function("nfsd_open")?, module("nfsd").function("nfsd_open")?{
(fh) = (__svc_fh($fhp))
(access) = ($access)
(type) = ($type)
(name) = ("nfsd.open")
(argstr) = (sprintf("%d", access))
}
probe nfsd.open.return = kernel.function("nfsd_open").return?, module("nfsd").function("nfsd_open").return?{
(name) = ("nfsd.open.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.close = kernel.function("nfsd_close")?, module("nfsd").function("nfsd_close")?{
(filename) = (__file_filename($filp))
(name) = ("nfsd.close")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.close.return = kernel.function("nfsd_close").return?, module("nfsd").function("nfsd_close").return?{
}
probe nfsd.read = kernel.function("nfsd_read")?, module("nfsd").function("nfsd_read")?{
(fh) = (__svc_fh($fhp))
(file) = ($file)
(count) = (p_long($count))
(offset) = ($offset)
(vec) = ($vec)
(vlen) = ($vlen)
(name) = ("nfsd.read")
(argstr) = (sprintf("%d,%d", count, offsee))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.read.return = kernel.function("nfsd_read").return?, module("nfsd").function("nfsd_read").return?{
(name) = ("nfsd.read.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.write = kernel.function("nfsd_write")?, module("nfsd").function("nfsd_write")?{
(fh) = (__svc_fh($fhp))
(file) = ($file)
(count) = ($cnt)
(offset) = ($offset)
(vec) = ($vec)
(vlen) = ($vlen)
(name) = ("nfsd.write")
(argstr) = (sprintf("%d,%d", count, offsee))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.write.return = kernel.function("nfsd_write").return?, module("nfsd").function("nfsd_write").return?{
(name) = ("nfsd.write.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.commit = kernel.function("nfsd_commit")?, module("nfsd").function("nfsd_commit")?{
(fh) = (__svc_fh($fhp))
(count) = ($count)
(offset) = ($offset)
(flag) = ($fhp->fh_export->ex_flags)
(name) = ("nfsd.commit")
(argstr) = (sprintf("%d,%d", count, offset))
(size) = (count)
(units) = ("bytes")
}
probe nfsd.commit.return = kernel.function("nfsd_commit").return?, module("nfsd").function("nfsd_commit").return?{
(name) = ("nfsd.commit.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.lookup = kernel.function("nfsd_lookup")?, module("nfsd").function("nfsd_lookup")?{
(fh) = (__svc_fh($fhp))
(filename) = (kernel_string($name))
(filelen) = ($len)
(name) = ("nfsd.lookup")

probe nfsd.proc3.rename = kernel.function("nfsd3_proc_rename")?, module("nfsd").function("nfsd3_proc_rename")?{

(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)

(proto) = ($rqstp->rq_prot)

(version) = (3)

(fh) = (__get_fh($argp, 14))

(tfh) = (__get_fh($argp, 15))

(filename) = (kernel_string($argp->fname))

(filelen) = ($argp->flen)

(tname) = (kernel_string($argp->tname))

(tlen) = ($argp->tlen)

(name) = ("nfsd.proc3.rename")

(argstr) = (sprintf("%s,%s", filename, tname))

}

probe nfsd.proc3.rename.return = kernel.function("nfsd3_proc_rename").return?, module("nfsd").function("nfsd3_proc_rename").return?{

(name) = ("nfsd.proc3.rename.return")

(version) = (3)

(retstr) = (sprintf("%d", $return))

}

probe nfsd.proc.compound = nfsd.proc4.compound{

}

probe nfsd.proc.compound.return = nfsd.proc4.compound.return{

}

probe nfsd.proc4.compound = kernel.function("nfsd4_proc_compound")?, module("nfsd").function("nfsd4_proc_compound")?{

(client_ip) = ($rqstp->rq_addr->sin_addr->s_addr)

(proto) = ($rqstp->rq_prot)

(version) = (4)

(num) = ($args->opcnt)

(op) = ($args->ops)

(name) = ("nfsd.proc4.cmpound")

(argstr) = (sprintf("%d", num))

}

probe nfsd.proc4.compound.return = kernel.function("nfsd4_proc_compound").return?, module("nfsd").function("nfsd4_proc_compound").return?{

(name) = ("nfsd.proc4.compound.return")

(version) = (4)

(retstr) = (sprintf("%d", $return))

}

probe nfsd.entries = nfsd.open, nfsd.read, nfsd.write, nfsd.lookup, nfsd.commit, nfsd.create, nfsd.createv3, nfsd.unlink, nfsd.rename, nfsd.close{

}

probe nfsd.return = nfsd.open.return, nfsd.read.return, nfsd.write.return, nfsd.lookup.return, nfsd.commit.return, nfsd.create.return, nfsd.createv3.return, nfsd.unlink.return, nfsd.rename.return{

}

probe nfsd.open = kernel.function("nfsd_open")?, module("nfsd").function("nfsd_open")?{

(fh) = (__svc_fh($fhp))

(access) = ($access)

(type) = ($type)

(name) = ("nfsd.open")

(argstr) = (sprintf("%d", access))

}

probe nfsd.open.return = kernel.function("nfsd_open").return?, module("nfsd").function("nfsd_open").return?{

(name) = ("nfsd.open.return")

(retstr) = (sprintf("%d", $return))

}

probe nfsd.close = kernel.function("nfsd_close")?, module("nfsd").function("nfsd_close")?{

(filename) = (__file_filename($filp))

(name) = ("nfsd.close")

(argstr) = (sprintf("%s", filename))

}

probe nfsd.close.return = kernel.function("nfsd_close").return?, module("nfsd").function("nfsd_close").return?{

}

probe nfsd.read = kernel.function("nfsd_read")?, module("nfsd").function("nfsd_read")?{

(fh) = (__svc_fh($fhp))

(file) = ($file)

(count) = (p_long($count))

(offset) = ($offset)

(vec) = ($vec)

(vlen) = ($vlen)

(name) = ("nfsd.read")

(argstr) = (sprintf("%d,%d", count, offsee))

(size) = (count)

(units) = ("bytes")

}

probe nfsd.read.return = kernel.function("nfsd_read").return?, module("nfsd").function("nfsd_read").return?{

(name) = ("nfsd.read.return")

(retstr) = (sprintf("%d", $return))

}

probe nfsd.write = kernel.function("nfsd_write")?, module("nfsd").function("nfsd_write")?{

(fh) = (__svc_fh($fhp))

(file) = ($file)

(count) = ($cnt)

(offset) = ($offset)

(vec) = ($vec)

(vlen) = ($vlen)

(name) = ("nfsd.write")

(argstr) = (sprintf("%d,%d", count, offsee))

(size) = (count)

(units) = ("bytes")

}

probe nfsd.write.return = kernel.function("nfsd_write").return?, module("nfsd").function("nfsd_write").return?{

(name) = ("nfsd.write.return")

(retstr) = (sprintf("%d", $return))

}

probe nfsd.commit = kernel.function("nfsd_commit")?, module("nfsd").function("nfsd_commit")?{

(fh) = (__svc_fh($fhp))

(count) = ($count)

(offset) = ($offset)

(flag) = ($fhp->fh_export->ex_flags)

(name) = ("nfsd.commit")

(argstr) = (sprintf("%d,%d", count, offset))

(size) = (count)

(units) = ("bytes")

}

probe nfsd.commit.return = kernel.function("nfsd_commit").return?, module("nfsd").function("nfsd_commit").return?{

(name) = ("nfsd.commit.return")

(retstr) = (sprintf("%d", $return))

}

probe nfsd.lookup = kernel.function("nfsd_lookup")?, module("nfsd").function("nfsd_lookup")?{

(fh) = (__svc_fh($fhp))

(filename) = (kernel_string($name))

(filelen) = ($len)

(name) = ("nfsd.lookup")
(argstr) = (sprintf("%s", filename))
}
probe nfsd.lookup.return = kernel.function("nfsd_lookup").return?, module("nfsd").function("nfsd_lookup").return?{
(name) = ("nfsd.lookup.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.create = kernel.function("nfsd_create")?, module("nfsd").function("nfsd_create")?{
(fh) = (__svc_fh($fhp))
(filename) = (kernel_string($fname))
(filelen) = ($flen)
(type) = ($type)
(iap_valid) = ($iap->ia_valid)
(iap_mode) = ($iap->ia_mode)
(name) = ("nfsd.create")
(argstr) = (sprintf("%s,%d", filename, type))
}
probe nfsd.create.return = kernel.function("nfsd_create").return?, module("nfsd").function("nfsd_create").return?{
(name) = ("nfsd.create.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.createv3 = kernel.function("nfsd_create_v3")?, module("nfsd").function("nfsd_create_v3")?{
(fh) = (__svc_fh($fhp))
(filename) = (kernel_string($fname))
(filelen) = ($flen)
(iap_valid) = ($iap->ia_valid)
(iap_mode) = ($iap->ia_mode)
(truncp) = ($truncp)
(verfier) = ($verifier)
(createmode) = ($createmode)
(name) = ("nfsd.createv3")
(argstr) = (sprintf("%s,%d", filename, createmode))
}
probe nfsd.createv3.return = kernel.function("nfsd_create_v3").return?, module("nfsd").function("nfsd_create_v3").return?{
(name) = ("nfsd.createv3.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.unlink = kernel.function("nfsd_unlink")?, module("nfsd").function("nfsd_unlink")?{
(fh) = (__svc_fh($fhp))
(filename) = (kernel_string($fname))
(filelen) = ($flen)
(type) = ($type)
(name) = ("nfsd.unlink")
(argstr) = (sprintf("%s,%d", filename, iap))
}
probe nfsd.unlink.return = kernel.function("nfsd_unlink").return?, module("nfsd").function("nfsd_unlink").return?{
(name) = ("nfsd.unlink.return")
(retstr) = (sprintf("%d", $return))
}
probe nfsd.rename = kernel.function("nfsd_rename")?, module("nfsd").function("nfsd_rename")?{
(fh) = (__svc_fh($ffhp))
(tfh) = (__svc_fh($tfhp))
(filename) = (kernel_string($fname))
(filelen) = ($flen)
(tname) = (kernel_string($tname))
(tlen) = ($tlen)
(name) = ("nfsd.rename")
(argstr) = (sprintf("%s,%s", filename, tname))
}
probe nfsd.rename.return = kernel.function("nfsd_rename").return?, module("nfsd").function("nfsd_rename").return?{
(name) = ("nfsd.rename.return")
(retstr) = (sprintf("%d", $return))
}
function __get_fh (argp, index)
%{ /* pure */
	int index = (int)((long)THIS->index);
	struct nfsd_diropargs * argp = NULL ;
	struct nfsd3_diropargs * argp3 = NULL ;
	struct nfsd_readargs * argpr = NULL;
	struct nfsd3_readargs * argpr3 = NULL;
	struct nfsd_writeargs * argpw = NULL;
	struct nfsd3_writeargs * argpw3 = NULL;
	struct nfsd3_commitargs * argpc3 = NULL;
	struct nfsd_createargs *argpcr = NULL;
	struct nfsd3_createargs *argpcr3 = NULL;
	struct nfsd_diropargs *argpre = NULL;
	struct nfsd3_diropargs *argpre3 = NULL;
	struct nfsd_renameargs *argpren = NULL;
	struct nfsd3_renameargs *argpren3 = NULL;
	struct svc_fh * fhp = NULL;
	char * buf;

	switch(index)
	{
	case 1: argp = (struct nfsd_diropargs *)((long)THIS->argp);
		fhp = &argp->fh;
		break;
	case 2: argp3 = (struct nfsd3_diropargs *)((long)THIS->argp);
		fhp = &argp3->fh;
		break;
	case 3: argpr = (struct nfsd_readargs * )((long)THIS->argp);
		fhp = &argpr->fh;
		break;
	case 4: argpr3 = (struct nfsd3_readargs * )((long)THIS->argp);
		fhp = &argpr3->fh;
		break;
	case 5: argpw = (struct nfsd_writeargs * )((long)THIS->argp);
		fhp = &argpw->fh;
		break;
	case 6: argpw3 = (struct nfsd3_writeargs * )((long)THIS->argp);
		fhp = &argpw3->fh;
		break;
	case 7: argpc3 = (struct nfsd3_commitargs * )((long)THIS->argp);
		fhp = &argpc3->fh;
		break;
	case 8: argpcr = (struct nfsd_createargs * )((long)THIS->argp);
		fhp = &argpcr->fh;
		break;
	case 9: argpcr3 = (struct nfsd3_createargs * )((long)THIS->argp);
		fhp = &argpcr3->fh;
		break;
	case 10: argpre = (struct nfsd_diropargs * )((long)THIS->argp);
		fhp = &argpre->fh;
		break;
	case 11: argpre3 = (struct nfsd3_diropargs * )((long)THIS->argp);
		fhp = &argpre3-
(argstr) = (sprintf("%s", filename))

}

probe nfsd.lookup.return = kernel.function("nfsd_lookup").return?, module("nfsd").function("nfsd_lookup").return?{

(name) = ("nfsd.lookup.return")

(retstr) = (sprintf("%d", $return))

}

probe nfsd.create = kernel.function("nfsd_create")?, module("nfsd").function("nfsd_create")?{

(fh) = (__svc_fh($fhp))

(filename) = (kernel_string($fname))

(filelen) = ($flen)

(type) = ($type)

(iap_valid) = ($iap->ia_valid)

(iap_mode) = ($iap->ia_mode)

(name) = ("nfsd.create")

(argstr) = (sprintf("%s,%d", filename, type))

}

probe nfsd.create.return = kernel.function("nfsd_create").return?, module("nfsd").function("nfsd_create").return?{

(name) = ("nfsd.create.return")

(retstr) = (sprintf("%d", $return))

}

probe nfsd.createv3 = kernel.function("nfsd_create_v3")?, module("nfsd").function("nfsd_create_v3")?{

(fh) = (__svc_fh($fhp))

(filename) = (kernel_string($fname))

(filelen) = ($flen)

(iap_valid) = ($iap->ia_valid)

(iap_mode) = ($iap->ia_mode)

(truncp) = ($truncp)

(verfier) = ($verifier)

(createmode) = ($createmode)

(name) = ("nfsd.createv3")

(argstr) = (sprintf("%s,%d", filename, createmode))

}

probe nfsd.createv3.return = kernel.function("nfsd_create_v3").return?, module("nfsd").function("nfsd_create_v3").return?{

(name) = ("nfsd.createv3.return")

(retstr) = (sprintf("%d", $return))

}

probe nfsd.unlink = kernel.function("nfsd_unlink")?, module("nfsd").function("nfsd_unlink")?{

(fh) = (__svc_fh($fhp))

(filename) = (kernel_string($fname))

(filelen) = ($flen)

(type) = ($type)

(name) = ("nfsd.unlink")

(argstr) = (sprintf("%s,%d", filename, iap))

}

probe nfsd.unlink.return = kernel.function("nfsd_unlink").return?, module("nfsd").function("nfsd_unlink").return?{

(name) = ("nfsd.unlink.return")

(retstr) = (sprintf("%d", $return))

}

probe nfsd.rename = kernel.function("nfsd_rename")?, module("nfsd").function("nfsd_rename")?{

(fh) = (__svc_fh($ffhp))

(tfh) = (__svc_fh($tfhp))

(filename) = (kernel_string($fname))

(filelen) = ($flen)

(tname) = (kernel_string($tname))

(tlen) = ($tlen)

(name) = ("nfsd.rename")

(argstr) = (sprintf("%s,%s", filename, tname))

}

probe nfsd.rename.return = kernel.function("nfsd_rename").return?, module("nfsd").function("nfsd_rename").return?{

(name) = ("nfsd.rename.return")

(retstr) = (sprintf("%d", $return))

}

function __get_fh (argp, index)

%{ /* pure */

	int index = (int)((long)THIS->index);

	struct nfsd_diropargs * argp = NULL ;

	struct nfsd3_diropargs * argp3 = NULL ;

	struct nfsd_readargs * argpr = NULL;

	struct nfsd3_readargs * argpr3 = NULL;

	struct nfsd_writeargs * argpw = NULL;

	struct nfsd3_writeargs * argpw3 = NULL;

	struct nfsd3_commitargs * argpc3 = NULL;

	struct nfsd_createargs *argpcr = NULL;

	struct nfsd3_createargs *argpcr3 = NULL;

	struct nfsd_diropargs *argpre = NULL;

	struct nfsd3_diropargs *argpre3 = NULL;

	struct nfsd_renameargs *argpren = NULL;

	struct nfsd3_renameargs *argpren3 = NULL;

	struct svc_fh * fhp = NULL;

	char * buf;



	switch(index)

	{

	case 1: argp = (struct nfsd_diropargs *)((long)THIS->argp);

		fhp = &argp->fh;

		break;

	case 2: argp3 = (struct nfsd3_diropargs *)((long)THIS->argp);

		fhp = &argp3->fh;

		break;

	case 3: argpr = (struct nfsd_readargs * )((long)THIS->argp);

		fhp = &argpr->fh;

		break;

	case 4: argpr3 = (struct nfsd3_readargs * )((long)THIS->argp);

		fhp = &argpr3->fh;

		break;

	case 5: argpw = (struct nfsd_writeargs * )((long)THIS->argp);

		fhp = &argpw->fh;

		break;

	case 6: argpw3 = (struct nfsd3_writeargs * )((long)THIS->argp);

		fhp = &argpw3->fh;

		break;

	case 7: argpc3 = (struct nfsd3_commitargs * )((long)THIS->argp);

		fhp = &argpc3->fh;

		break;

	case 8: argpcr = (struct nfsd_createargs * )((long)THIS->argp);

		fhp = &argpcr->fh;

		break;

	case 9: argpcr3 = (struct nfsd3_createargs * )((long)THIS->argp);

		fhp = &argpcr3->fh;

		break;

	case 10: argpre = (struct nfsd_diropargs * )((long)THIS->argp);

		fhp = &argpre->fh;

		break;

	case 11: argpre3 = (struct nfsd3_diropargs * )((long)THIS->argp);
>fh;
		break;
	case 12: argpren = (struct nfsd_renameargs * )((long)THIS->argp);
		fhp = &argpren->ffh;
		break;
	case 13: argpren = (struct nfsd_renameargs * )((long)THIS->argp);
		fhp = &argpren->tfh;
		break;
	case 14: argpren3 = (struct nfsd3_renameargs * )((long)THIS->argp);
		fhp = &argpren3->ffh;
		break;
	case 15: argpren3 = (struct nfsd3_renameargs * )((long)THIS->argp);
		fhp = &argpren3->tfh;
		break;
	}
	
	if(fhp == NULL)
	{
		_stp_printf("the fhp is NULL");
		return;
	}
	else
	{
	/*	buf = fh_fmt(fhp);
		strlcpy (THIS->__retvalue,buf,80);*/
		THIS->__retvalue = (long)fhp;
	}
%}
function __svc_fh (fh)
%{  /* pure */
	struct svc_fh * fhp = (struct svc_fh *) (THIS->fh);
	char * buf ;
	
	buf =  fh_fmt(fhp); 	
	strlcpy (THIS->__retvalue,buf,80);
%}
function p_long (cnt)
%{ /* pure */
	unsigned long * count = (unsigned long *)((long)THIS->cnt);
	
	THIS->__retvalue = *count;
%}

# file /usr/local/share/systemtap/tapset/perfmon.stp
function read_counter (handle)
%{
        THIS->__retvalue = _stp_perfmon_read(_pfm_desc, THIS->handle);
%}

# file /usr/local/share/systemtap/tapset/process.stp
probe process.create = kernel.function("copy_process").return{
(task) = ($return)
(new_pid) = (task_pid(task))
if (_IS_ERR(task)) next

}
probe process.start = kernel.function("schedule_tail"){
}
probe process.exec = kernel.function("do_execve"), kernel.function("compat_do_execve")?{
(filename) = (kernel_string($filename))
}
probe process.exec_complete = kernel.function("do_execve").return, kernel.function("compat_do_execve").return?{
(errno) = ($return)
(success) = ((errno) >= (0))
}
probe process.exit = kernel.function("do_exit"){
(code) = ($code)
}
probe process.release = kernel.function("release_task"){
(task) = ($p)
(pid) = ($p->pid)
;
}
function _IS_ERR (ptr)
%{ /* pure */
    THIS->__retvalue = IS_ERR((const void *)(long)THIS->ptr);
%}

# file /usr/local/share/systemtap/tapset/queue_stats.stp
global qs_wtime
global qs_wlentime
global qs_wcount
global qs_rtime
global qs_rlentime
global qs_rcount
global qs_stime
global qs_utime
global qs_dcount
function qs_time ()
{
return gettimeofday_us()
}
function _qs_update (qname)
{
(now) = (qs_time())
(then) = (qs_utime[qname])
;
if (!(then)) {
(then) = (now)
}

(delta) = ((now) - (then))
(qs_wtime[qname]) += ((qs_wcount[qname])?(delta):(0))
(qs_wlentime[qname]) += ((qs_wcount[qname]) * (delta))
(qs_rtime[qname]) += ((qs_rcount[qname])?(delta):(0))
(qs_rlentime[qname]) += ((qs_rcount[qname]) * (delta))
(qs_utime[qname]) = (now)
}
function qs_wait (qname)
{
_qs_update(qname)
(qs_wcount[qname])++
}
function qs_run (qname)
{
_qs_update(qname)
if ((qs_wcount[qname]) > (0)) {
(qs_wcount[qname])--
(qs_rcount[qname])++
}

}
function qs_done (qname)
{
_qs_update(qname)
if ((qs_rcount[qname]) > (0)) {
(qs_rcount[qname])--
(qs_dcount[qname])++
}

}
function qsq_start (qname)
{
delete qs_rcount[qname]
delete qs_rtime[qname]
delete qs_rlentime[qname]
delete qs_wcount[qname]
delete qs_wtime[qname]
delete qs_wlentime[qname]
delete qs_dcount[qname]
(qs_stime[qname]) = (qs_time())
}
function qsq_utilization (qname, scale)
{
(elapsed) = ((qs_time()) - (qs_stime[qname]))
return ((scale) * (qs_rtime[qname])) / (elapsed)
}
function qsq_blocked (qname, scale)
{
(elapsed) = ((qs_time()) - (qs_stime[qname]))
return ((scale) * (qs_wtime[qname])) / (elapsed)
}
function qsq_wait_queue_length (qname, scale)
{
(elapsed) = ((qs_time()) - (qs_stime[qname]))
return ((scale) * (qs_wlentime[qname])) / (elapsed)
}
function qsq_service_time (qname, scale)
{
return ((scale) * (qs_rlentime[qname])) / (qs_dcount[qname])
}
function qsq_wait_time (qname, scale)
{
return ((scale) * ((qs_rlentime[qname]) + (qs_wlentime[qname]))) / (qs_dcount[qname])
}
function qsq_throughput (qname, scale)
{
(elapsed) = ((qs_time()) - (qs_stime[qname]))
return ((scale) * (qs_dcount[qname])) / (elapsed)
}
function qsq_print (qname)
{
(qwl) = (qsq_wait_queue_length(qname, 100
		fhp = &argpre3->fh;

		break;

	case 12: argpren = (struct nfsd_renameargs * )((long)THIS->argp);

		fhp = &argpren->ffh;

		break;

	case 13: argpren = (struct nfsd_renameargs * )((long)THIS->argp);

		fhp = &argpren->tfh;

		break;

	case 14: argpren3 = (struct nfsd3_renameargs * )((long)THIS->argp);

		fhp = &argpren3->ffh;

		break;

	case 15: argpren3 = (struct nfsd3_renameargs * )((long)THIS->argp);

		fhp = &argpren3->tfh;

		break;

	}

	

	if(fhp == NULL)

	{

		_stp_printf("the fhp is NULL");

		return;

	}

	else

	{

	/*	buf = fh_fmt(fhp);

		strlcpy (THIS->__retvalue,buf,80);*/

		THIS->__retvalue = (long)fhp;

	}

%}

function __svc_fh (fh)

%{  /* pure */

	struct svc_fh * fhp = (struct svc_fh *) (THIS->fh);

	char * buf ;

	

	buf =  fh_fmt(fhp); 	

	strlcpy (THIS->__retvalue,buf,80);

%}

function p_long (cnt)

%{ /* pure */

	unsigned long * count = (unsigned long *)((long)THIS->cnt);

	

	THIS->__retvalue = *count;

%}



# file /usr/local/share/systemtap/tapset/perfmon.stp

function read_counter (handle)

%{

        THIS->__retvalue = _stp_perfmon_read(_pfm_desc, THIS->handle);

%}



# file /usr/local/share/systemtap/tapset/process.stp

probe process.create = kernel.function("copy_process").return{

(task) = ($return)

(new_pid) = (task_pid(task))

if (_IS_ERR(task)) next



}

probe process.start = kernel.function("schedule_tail"){

}

probe process.exec = kernel.function("do_execve"), kernel.function("compat_do_execve")?{

(filename) = (kernel_string($filename))

}

probe process.exec_complete = kernel.function("do_execve").return, kernel.function("compat_do_execve").return?{

(errno) = ($return)

(success) = ((errno) >= (0))

}

probe process.exit = kernel.function("do_exit"){

(code) = ($code)

}

probe process.release = kernel.function("release_task"){

(task) = ($p)

(pid) = ($p->pid)

;

}

function _IS_ERR (ptr)

%{ /* pure */

    THIS->__retvalue = IS_ERR((const void *)(long)THIS->ptr);

%}



# file /usr/local/share/systemtap/tapset/queue_stats.stp

global qs_wtime

global qs_wlentime

global qs_wcount

global qs_rtime

global qs_rlentime

global qs_rcount

global qs_stime

global qs_utime

global qs_dcount

function qs_time ()

{

return gettimeofday_us()

}

function _qs_update (qname)

{

(now) = (qs_time())

(then) = (qs_utime[qname])

;

if (!(then)) {

(then) = (now)

}



(delta) = ((now) - (then))

(qs_wtime[qname]) += ((qs_wcount[qname])?(delta):(0))

(qs_wlentime[qname]) += ((qs_wcount[qname]) * (delta))

(qs_rtime[qname]) += ((qs_rcount[qname])?(delta):(0))

(qs_rlentime[qname]) += ((qs_rcount[qname]) * (delta))

(qs_utime[qname]) = (now)

}

function qs_wait (qname)

{

_qs_update(qname)

(qs_wcount[qname])++

}

function qs_run (qname)

{

_qs_update(qname)

if ((qs_wcount[qname]) > (0)) {

(qs_wcount[qname])--

(qs_rcount[qname])++

}



}

function qs_done (qname)

{

_qs_update(qname)

if ((qs_rcount[qname]) > (0)) {

(qs_rcount[qname])--

(qs_dcount[qname])++

}



}

function qsq_start (qname)

{

delete qs_rcount[qname]

delete qs_rtime[qname]

delete qs_rlentime[qname]

delete qs_wcount[qname]

delete qs_wtime[qname]

delete qs_wlentime[qname]

delete qs_dcount[qname]

(qs_stime[qname]) = (qs_time())

}

function qsq_utilization (qname, scale)

{

(elapsed) = ((qs_time()) - (qs_stime[qname]))

return ((scale) * (qs_rtime[qname])) / (elapsed)

}

function qsq_blocked (qname, scale)

{

(elapsed) = ((qs_time()) - (qs_stime[qname]))

return ((scale) * (qs_wtime[qname])) / (elapsed)

}

function qsq_wait_queue_length (qname, scale)

{

(elapsed) = ((qs_time()) - (qs_stime[qname]))

return ((scale) * (qs_wlentime[qname])) / (elapsed)

}

function qsq_service_time (qname, scale)

{

return ((scale) * (qs_rlentime[qname])) / (qs_dcount[qname])

}

function qsq_wait_time (qname, scale)

{

return ((scale) * ((qs_rlentime[qname]) + (qs_wlentime[qname]))) / (qs_dcount[qname])

}

function qsq_throughput (qname, scale)

{

(elapsed) = ((qs_time()) - (qs_stime[qname]))

return ((scale) * (qs_dcount[qname])) / (elapsed)

}

function qsq_print (qname)

{
0))
printf("%s: %d ops/s, %d.%03d qlen, %d await, %d svctm, %d%% wait, %d%% util\\n", qname, qsq_throughput(qname, 1000000), (qwl) / (1000), (qwl) % (1000), qsq_wait_time(qname, 1), qsq_service_time(qname, 1), qsq_blocked(qname, 100), qsq_utilization(qname, 100))
}

# file /usr/local/share/systemtap/tapset/rpc.stp
%{
#include <linux/kernel.h>
#include <linux/sunrpc/clnt.h>
#include <linux/sunrpc/svc.h>
%}probe sunrpc.entry = sunrpc.clnt.entry, sunrpc.svc.entry, sunrpc.sched.entry{
}
probe sunrpc.return = sunrpc.clnt.return, sunrpc.svc.return, sunrpc.sched.return{
}
probe sunrpc.clnt.entry = sunrpc.clnt.create_client, sunrpc.clnt.clone_client, sunrpc.clnt.bind_new_program, sunrpc.clnt.shutdown_client, sunrpc.clnt.call_sync, sunrpc.clnt.call_async, sunrpc.clnt.restart_call{
}
probe sunrpc.clnt.return = sunrpc.clnt.create_client.return, sunrpc.clnt.clone_client.return, sunrpc.clnt.bind_new_program.return, sunrpc.clnt.shutdown_client.return, sunrpc.clnt.call_sync.return, sunrpc.clnt.call_async.return, sunrpc.clnt.restart_call.return{
}
probe sunrpc.clnt.create_client = kernel.function("rpc_create_client")?, module("sunrpc").function("rpc_create_client")?{
(servername) = (kernel_string($servname))
(progname) = (kernel_string($info->name))
(prog) = ($info->number)
(vers) = (vers_from_prog($info, $version))
(authflavor) = ($authflavor)
(prot) = ($xprt->prot)
(port) = ($xprt->port)
(name) = ("sunrpc.clnt.create_client")
(argstr) = (sprintf("%s %s %d %d %d %d %d", servername, progname, prog, vers, prot, port, authflavor))
}
probe sunrpc.clnt.create_client.return = kernel.function("rpc_create_client").return?, module("sunrpc").function("rpc_create_client").return?{
(name) = ("sunrpc.clnt.create_client")
(retstr) = (returnstr($return))
}
probe sunrpc.clnt.clone_client = kernel.function("rpc_clone_client")?, module("sunrpc").function("rpc_clone_client")?{
(servername) = (kernel_string($clnt->cl_server))
(progname) = (kernel_string($clnt->cl_protname))
(prog) = (prog_from_clnt($clnt))
(vers) = (vers_from_clnt($clnt))
(prot) = (prot_from_clnt($clnt))
(port) = (port_from_clnt($clnt))
(authflavor) = ($clnt->cl_auth->au_flavor)
(name) = ("sunrpc.clnt.clone_client")
(argstr) = (sprintf("%s %s %d %d %d %d %d", servername, progname, prog, vers, prot, port, authflavor))
}
probe sunrpc.clnt.clone_client.return = kernel.function("rpc_clone_client").return?, module("sunrpc").function("rpc_clone_client").return?{
(name) = ("sunrpc.clnt.clone_client")
(retstr) = (returnstr($return))
}
probe sunrpc.clnt.shutdown_client = kernel.function("rpc_shutdown_client")?, module("sunrpc").function("rpc_shutdown_client")?{
(servername) = (kernel_string($clnt->cl_server))
(prog) = (prog_from_clnt($clnt))
(vers) = (vers_from_clnt($clnt))
(prot) = (prot_from_clnt($clnt))
(port) = (port_from_clnt($clnt))
(authflavor) = ($clnt->cl_auth->au_flavor)
(clones) = (clones_from_clnt($clnt))
(tasks) = (tasks_from_clnt($clnt))
(netreconn) = ($clnt->cl_stats->netreconn)
(rpccnt) = ($clnt->cl_stats->rpccnt)
(om_ops) = ($clnt->cl_metrics->om_ops)
(om_ntrans) = ($clnt->cl_metrics->om_ntrans)
(om_bytes_sent) = ($clnt->cl_metrics->om_bytes_sent)
(om_bytes_recv) = ($clnt->cl_metrics->om_bytes_recv)
(om_queue) = ($clnt->cl_metrics->om_queue)
(om_rtt) = ($clnt->cl_metrics->om_rtt)
(om_execute) = ($clnt->cl_metrics->om_execute)
(name) = ("sunrpc.clnt.shutdown_client")
(argstr) = (sprintf("%s %s %d %d %d %d %d %d", servername, progname, vers, prot, port, authflavor, clones, tasks))
}
probe sunrpc.clnt.shutdown_client.return = kernel.function("rpc_shutdown_client").return?, module("sunrpc").function("rpc_shutdown_client").return?{
(name) = ("sunrpc.clnt.shutdown_client")
(retstr) = (returnstr($return))
}
probe sunrpc.clnt.bind_new_program = kernel.function("rpc_bind_new_program")?, module("sunrpc").function("rpc_bind_new_program")?{
(servername) = (kernel_string($old->cl_server))
(old_progname) = (kernel_string($old->cl_protname))
(old_prog) = (prog_from_clnt($old))
(old_vers) = (vers_from_clnt($old))
(progn
(qwl) = (qsq_wait_queue_length(qname, 1000))

printf("%s: %d ops/s, %d.%03d qlen, %d await, %d svctm, %d%% wait, %d%% util\\n", qname, qsq_throughput(qname, 1000000), (qwl) / (1000), (qwl) % (1000), qsq_wait_time(qname, 1), qsq_service_time(qname, 1), qsq_blocked(qname, 100), qsq_utilization(qname, 100))

}



# file /usr/local/share/systemtap/tapset/rpc.stp

%{

#include <linux/kernel.h>

#include <linux/sunrpc/clnt.h>

#include <linux/sunrpc/svc.h>

%}probe sunrpc.entry = sunrpc.clnt.entry, sunrpc.svc.entry, sunrpc.sched.entry{

}

probe sunrpc.return = sunrpc.clnt.return, sunrpc.svc.return, sunrpc.sched.return{

}

probe sunrpc.clnt.entry = sunrpc.clnt.create_client, sunrpc.clnt.clone_client, sunrpc.clnt.bind_new_program, sunrpc.clnt.shutdown_client, sunrpc.clnt.call_sync, sunrpc.clnt.call_async, sunrpc.clnt.restart_call{

}

probe sunrpc.clnt.return = sunrpc.clnt.create_client.return, sunrpc.clnt.clone_client.return, sunrpc.clnt.bind_new_program.return, sunrpc.clnt.shutdown_client.return, sunrpc.clnt.call_sync.return, sunrpc.clnt.call_async.return, sunrpc.clnt.restart_call.return{

}

probe sunrpc.clnt.create_client = kernel.function("rpc_create_client")?, module("sunrpc").function("rpc_create_client")?{

(servername) = (kernel_string($servname))

(progname) = (kernel_string($info->name))

(prog) = ($info->number)

(vers) = (vers_from_prog($info, $version))

(authflavor) = ($authflavor)

(prot) = ($xprt->prot)

(port) = ($xprt->port)

(name) = ("sunrpc.clnt.create_client")

(argstr) = (sprintf("%s %s %d %d %d %d %d", servername, progname, prog, vers, prot, port, authflavor))

}

probe sunrpc.clnt.create_client.return = kernel.function("rpc_create_client").return?, module("sunrpc").function("rpc_create_client").return?{

(name) = ("sunrpc.clnt.create_client")

(retstr) = (returnstr($return))

}

probe sunrpc.clnt.clone_client = kernel.function("rpc_clone_client")?, module("sunrpc").function("rpc_clone_client")?{

(servername) = (kernel_string($clnt->cl_server))

(progname) = (kernel_string($clnt->cl_protname))

(prog) = (prog_from_clnt($clnt))

(vers) = (vers_from_clnt($clnt))

(prot) = (prot_from_clnt($clnt))

(port) = (port_from_clnt($clnt))

(authflavor) = ($clnt->cl_auth->au_flavor)

(name) = ("sunrpc.clnt.clone_client")

(argstr) = (sprintf("%s %s %d %d %d %d %d", servername, progname, prog, vers, prot, port, authflavor))

}

probe sunrpc.clnt.clone_client.return = kernel.function("rpc_clone_client").return?, module("sunrpc").function("rpc_clone_client").return?{

(name) = ("sunrpc.clnt.clone_client")

(retstr) = (returnstr($return))

}

probe sunrpc.clnt.shutdown_client = kernel.function("rpc_shutdown_client")?, module("sunrpc").function("rpc_shutdown_client")?{

(servername) = (kernel_string($clnt->cl_server))

(prog) = (prog_from_clnt($clnt))

(vers) = (vers_from_clnt($clnt))

(prot) = (prot_from_clnt($clnt))

(port) = (port_from_clnt($clnt))

(authflavor) = ($clnt->cl_auth->au_flavor)

(clones) = (clones_from_clnt($clnt))

(tasks) = (tasks_from_clnt($clnt))

(netreconn) = ($clnt->cl_stats->netreconn)

(rpccnt) = ($clnt->cl_stats->rpccnt)

(om_ops) = ($clnt->cl_metrics->om_ops)

(om_ntrans) = ($clnt->cl_metrics->om_ntrans)

(om_bytes_sent) = ($clnt->cl_metrics->om_bytes_sent)

(om_bytes_recv) = ($clnt->cl_metrics->om_bytes_recv)

(om_queue) = ($clnt->cl_metrics->om_queue)

(om_rtt) = ($clnt->cl_metrics->om_rtt)

(om_execute) = ($clnt->cl_metrics->om_execute)

(name) = ("sunrpc.clnt.shutdown_client")

(argstr) = (sprintf("%s %s %d %d %d %d %d %d", servername, progname, vers, prot, port, authflavor, clones, tasks))

}

probe sunrpc.clnt.shutdown_client.return = kernel.function("rpc_shutdown_client").return?, module("sunrpc").function("rpc_shutdown_client").return?{

(name) = ("sunrpc.clnt.shutdown_client")

(retstr) = (returnstr($return))

}

probe sunrpc.clnt.bind_new_program = kernel.function("rpc_bind_new_program")?, module("sunrpc").function("rpc_bind_new_program")?{

(servername) = (kernel_string($old->cl_server))

(old_progname) = (kernel_string($old->cl_protname))

(old_prog) = (prog_from_clnt($old))

(old_vers) = (vers_from_clnt($old))
ame) = (kernel_string($program->name))
(prog) = ($program->number)
(vers) = (vers_from_prog($program, $vers))
(name) = ("sunrpc.clnt.bind_new_program")
(argstr) = (sprintf("%s %s %d %s %d", servername, old_progname, old_vers, progname, vers))
}
probe sunrpc.clnt.bind_new_program.return = kernel.function("rpc_bind_new_program").return?, module("sunrpc").function("rpc_bind_new_program").return?{
(name) = ("sunrpc.clnt.bind_new_program")
(retstr) = (returnstr($return))
}
probe sunrpc.clnt.call_sync = kernel.function("rpc_call_sync")?, module("sunrpc").function("rpc_call_sync")?{
(servername) = (kernel_string($clnt->cl_server))
(progname) = (kernel_string($clnt->cl_protname))
(prog) = (prog_from_clnt($clnt))
(vers) = (vers_from_clnt($clnt))
(prot) = (prot_from_clnt($clnt))
(port) = (port_from_clnt($clnt))
(xid) = (xid_from_clnt($clnt))
(dead) = ($clnt->cl_dead)
(procname) = (($msg->rpc_proc->p_name)?(kernel_string($msg->rpc_proc->p_name)):("NULL"))
(proc) = (proc_from_msg($msg))
(flags) = ($flags)
(name) = ("sunrpc.clnt.call_sync")
(argstr) = (sprintf("%s %d %s %d %s 0x%x", servername, xid, progname, vers, procname, flags))
}
probe sunrpc.clnt.call_sync.return = kernel.function("rpc_call_sync").return?, module("sunrpc").function("rpc_call_sync").return?{
(name) = ("sunrpc.clnt.call_sync")
(retstr) = (returnstr($return))
}
probe sunrpc.clnt.call_async = kernel.function("rpc_call_async")?, module("sunrpc").function("rpc_call_async")?{
(servername) = (kernel_string($clnt->cl_server))
(progname) = (kernel_string($clnt->cl_protname))
(prog) = (prog_from_clnt($clnt))
(vers) = (vers_from_clnt($clnt))
(prot) = (prot_from_clnt($clnt))
(port) = (port_from_clnt($clnt))
(xid) = (xid_from_clnt($clnt))
(dead) = ($clnt->cl_dead)
(proc) = (proc_from_msg($msg))
(procname) = (($msg->rpc_proc->p_name)?(kernel_string($msg->rpc_proc->p_name)):("NULL"))
(flags) = ($flags)
(name) = ("sunrpc.clnt.call_async")
(argstr) = (sprintf("%s %d %s %d %s 0x%x", servername, xid, progname, vers, procname, flags))
}
probe sunrpc.clnt.call_async.return = kernel.function("rpc_call_async").return?, module("sunrpc").function("rpc_call_async").return?{
(name) = ("sunrpc.clnt.call_async")
(retstr) = (returnstr($return))
}
probe sunrpc.clnt.restart_call = kernel.function("rpc_restart_call")?, module("sunrpc").function("rpc_restart_call")?{
(servername) = (kernel_string($task->tk_client->cl_server))
(prog) = (prog_from_clnt($task->tk_client))
(xid) = ($task->tk_rqstp->rq_xid)
(tk_pid) = ($task->tk_pid)
(tk_flags) = ($task->tk_flags)
(tk_priority) = ($task->tk_priority)
(tk_runstate) = ($task->tk_runstate)
(name) = ("sunrpc.clnt.restart_call")
(argstr) = (sprintf("%s %d %d %d %d %d %d", servername, prog, xid, tk_pid, tk_flags, tk_priority, tk_runstate))
}
probe sunrpc.clnt.restart_call.return = kernel.function("rpc_restart_call").return?, module("sunrpc").function("rpc_restart_call").return?{
(name) = ("sunrpc.clnt.restart_call")
}
probe sunrpc.svc.entry = sunrpc.svc.register, sunrpc.svc.create, sunrpc.svc.destroy, sunrpc.svc.process, sunrpc.svc.authorise, sunrpc.svc.recv, sunrpc.svc.send, sunrpc.svc.drop{
}
probe sunrpc.svc.return = sunrpc.svc.register.return, sunrpc.svc.create.return, sunrpc.svc.destroy.return, sunrpc.svc.process.return, sunrpc.svc.authorise.return, sunrpc.svc.recv.return, sunrpc.svc.send.return, sunrpc.svc.drop.return{
}
probe sunrpc.svc.register = kernel.function("svc_register")?, module("sunrpc").function("svc_register")?{
(sv_name) = (kernel_string($serv->sv_name))
(progname) = (kernel_string($serv->sv_program->pg_name))
(prog) = ($serv->sv_program->pg_prog)
(prot) = ($proto)
(port) = ($port)
(name) = ("sunrpc.svc.register")
(argstr) = (sprintf("%s %s %d %d", sv_name, progname, prot, port))
}
probe sunrpc.svc.register.return = kernel.function("svc_register").return?, module("sunrpc").function("svc_register").return?{
(name) = ("sunrpc.svc.register")
(retstr) = (returnstr($return))
}
probe sunrpc.svc.create = kernel.function("svc_create")?, module("sunrpc").function("sv
(progname) = (kernel_string($program->name))

(prog) = ($program->number)

(vers) = (vers_from_prog($program, $vers))

(name) = ("sunrpc.clnt.bind_new_program")

(argstr) = (sprintf("%s %s %d %s %d", servername, old_progname, old_vers, progname, vers))

}

probe sunrpc.clnt.bind_new_program.return = kernel.function("rpc_bind_new_program").return?, module("sunrpc").function("rpc_bind_new_program").return?{

(name) = ("sunrpc.clnt.bind_new_program")

(retstr) = (returnstr($return))

}

probe sunrpc.clnt.call_sync = kernel.function("rpc_call_sync")?, module("sunrpc").function("rpc_call_sync")?{

(servername) = (kernel_string($clnt->cl_server))

(progname) = (kernel_string($clnt->cl_protname))

(prog) = (prog_from_clnt($clnt))

(vers) = (vers_from_clnt($clnt))

(prot) = (prot_from_clnt($clnt))

(port) = (port_from_clnt($clnt))

(xid) = (xid_from_clnt($clnt))

(dead) = ($clnt->cl_dead)

(procname) = (($msg->rpc_proc->p_name)?(kernel_string($msg->rpc_proc->p_name)):("NULL"))

(proc) = (proc_from_msg($msg))

(flags) = ($flags)

(name) = ("sunrpc.clnt.call_sync")

(argstr) = (sprintf("%s %d %s %d %s 0x%x", servername, xid, progname, vers, procname, flags))

}

probe sunrpc.clnt.call_sync.return = kernel.function("rpc_call_sync").return?, module("sunrpc").function("rpc_call_sync").return?{

(name) = ("sunrpc.clnt.call_sync")

(retstr) = (returnstr($return))

}

probe sunrpc.clnt.call_async = kernel.function("rpc_call_async")?, module("sunrpc").function("rpc_call_async")?{

(servername) = (kernel_string($clnt->cl_server))

(progname) = (kernel_string($clnt->cl_protname))

(prog) = (prog_from_clnt($clnt))

(vers) = (vers_from_clnt($clnt))

(prot) = (prot_from_clnt($clnt))

(port) = (port_from_clnt($clnt))

(xid) = (xid_from_clnt($clnt))

(dead) = ($clnt->cl_dead)

(proc) = (proc_from_msg($msg))

(procname) = (($msg->rpc_proc->p_name)?(kernel_string($msg->rpc_proc->p_name)):("NULL"))

(flags) = ($flags)

(name) = ("sunrpc.clnt.call_async")

(argstr) = (sprintf("%s %d %s %d %s 0x%x", servername, xid, progname, vers, procname, flags))

}

probe sunrpc.clnt.call_async.return = kernel.function("rpc_call_async").return?, module("sunrpc").function("rpc_call_async").return?{

(name) = ("sunrpc.clnt.call_async")

(retstr) = (returnstr($return))

}

probe sunrpc.clnt.restart_call = kernel.function("rpc_restart_call")?, module("sunrpc").function("rpc_restart_call")?{

(servername) = (kernel_string($task->tk_client->cl_server))

(prog) = (prog_from_clnt($task->tk_client))

(xid) = ($task->tk_rqstp->rq_xid)

(tk_pid) = ($task->tk_pid)

(tk_flags) = ($task->tk_flags)

(tk_priority) = ($task->tk_priority)

(tk_runstate) = ($task->tk_runstate)

(name) = ("sunrpc.clnt.restart_call")

(argstr) = (sprintf("%s %d %d %d %d %d %d", servername, prog, xid, tk_pid, tk_flags, tk_priority, tk_runstate))

}

probe sunrpc.clnt.restart_call.return = kernel.function("rpc_restart_call").return?, module("sunrpc").function("rpc_restart_call").return?{

(name) = ("sunrpc.clnt.restart_call")

}

probe sunrpc.svc.entry = sunrpc.svc.register, sunrpc.svc.create, sunrpc.svc.destroy, sunrpc.svc.process, sunrpc.svc.authorise, sunrpc.svc.recv, sunrpc.svc.send, sunrpc.svc.drop{

}

probe sunrpc.svc.return = sunrpc.svc.register.return, sunrpc.svc.create.return, sunrpc.svc.destroy.return, sunrpc.svc.process.return, sunrpc.svc.authorise.return, sunrpc.svc.recv.return, sunrpc.svc.send.return, sunrpc.svc.drop.return{

}

probe sunrpc.svc.register = kernel.function("svc_register")?, module("sunrpc").function("svc_register")?{

(sv_name) = (kernel_string($serv->sv_name))

(progname) = (kernel_string($serv->sv_program->pg_name))

(prog) = ($serv->sv_program->pg_prog)

(prot) = ($proto)

(port) = ($port)

(name) = ("sunrpc.svc.register")

(argstr) = (sprintf("%s %s %d %d", sv_name, progname, prot, port))

}

probe sunrpc.svc.register.return = kernel.function("svc_register").return?, module("sunrpc").function("svc_register").return?{

(name) = ("sunrpc.svc.register")

(retstr) = (returnstr($return))

}
c_create")?{
(progname) = (kernel_string($prog->pg_name))
(prog) = ($prog->pg_prog)
(pg_nvers) = ($prog->pg_nvers)
(bufsize) = ($bufsize)
(name) = ("sunrpc.svc.create")
(argstr) = (sprintf("%s %d %d %d", progname, prog, pg_nvers, bufsize))
}
probe sunrpc.svc.create.return = kernel.function("svc_create").return?, module("sunrpc").function("svc_create").return?{
(name) = ("sunrpc.svc.create")
}
probe sunrpc.svc.destroy = kernel.function("svc_destroy")?, module("sunrpc").function("svc_destroy")?{
(sv_name) = (kernel_string($serv->sv_name))
(sv_progname) = (kernel_string($serv->sv_program->pg_name))
(sv_prog) = ($serv->sv_program->pg_prog)
(sv_nrthreads) = ($serv->sv_nrthreads)
(netcnt) = ($serv->sv_stats->netcnt)
(netcpconn) = ($serv->sv_stats->nettcpconn)
(rpccnt) = ($serv->sv_stats->rpccnt)
(rpcbadfmt) = ($serv->sv_stats->rpcbadfmt)
(rpcbadauth) = ($serv->sv_stats->rpcbadauth)
(name) = ("sunrpc.svc.destroy")
(argstr) = (sprintf("%s %d %d", sv_name, sv_prog, sv_nrthreads))
}
probe sunrpc.svc.destroy.return = kernel.function("svc_destroy").return?, module("sunrpc").function("svc_destroy").return?{
(name) = ("sunrpc.svc.destroy")
}
probe sunrpc.svc.process = kernel.function("svc_process")?, module("sunrpc").function("svc_process")?{
(sv_name) = (kernel_string($serv->sv_name))
(sv_prog) = ($serv->sv_program->pg_prog)
(sv_nrthreads) = ($serv->sv_nrthreads)
(peer_ip) = (addr_from_rqst($rqstp))
(rq_xid) = ($rqstp->rq_xid)
(rq_prog) = ($rqstp->rq_prog)
(rq_vers) = ($rqstp->rq_vers)
(rq_proc) = ($rqstp->rq_proc)
(rq_prot) = ($rqstp->rq_prot)
(name) = ("sunrpc.svc.process")
(argstr) = (sprintf("%s %d %d %d %d %d %d", sv_name, sv_prog, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc))
}
probe sunrpc.svc.process.return = kernel.function("svc_process").return?, module("sunrpc").function("svc_process").return?{
(name) = ("sunrpc.svc.process")
(retstr) = (returnstr($return))
}
probe sunrpc.svc.authorise = kernel.function("svc_authorise")?, module("sunrpc").function("svc_authorise")?{
(sv_name) = (kernel_string($rqstp->rq_server->sv_name))
(peer_ip) = (addr_from_rqst($rqstp))
(rq_xid) = ($rqstp->rq_xid)
(rq_prog) = ($rqstp->rq_prog)
(rq_vers) = ($rqstp->rq_vers)
(rq_proc) = ($rqstp->rq_proc)
(rq_prot) = ($rqstp->rq_prot)
(name) = ("sunrpc.svc.authorise")
(argstr) = (sprintf("%d %d %d %d %d %d", peer_ip, rq_xid, rq_prog, rq_vers, rq_proc, rq_prot))
}
probe sunrpc.svc.authorise.return = kernel.function("svc_authorise").return?, module("sunrpc").function("svc_authorise").return?{
(name) = ("sunrpc.svc.authorise")
(retstr) = (returnstr($return))
}
probe sunrpc.svc.recv = kernel.function("svc_recv")?, module("sunrpc").function("svc_recv")?{
(sv_name) = (kernel_string($serv->sv_name))
(sv_prog) = ($serv->sv_program->pg_prog)
(sv_nrthreads) = ($serv->sv_nrthreads)
(timeout) = ($timeout)
(name) = ("sunrpc.svc.recv")
(argstr) = (sprintf("%s %d", sv_name, timeout))
}
probe sunrpc.svc.recv.return = kernel.function("svc_recv").return?, module("sunrpc").function("svc_recv").return?{
(name) = ("sunrpc.svc.recv")
(argstr) = (returnstr($return))
}
probe sunrpc.svc.send = kernel.function("svc_send")?, module("sunrpc").function("svc_send")?{
(sv_name) = (kernel_string($rqstp->rq_server->sv_name))
(peer_ip) = (addr_from_rqst($rqstp))
(rq_xid) = ($rqstp->rq_xid)
(rq_prog) = ($rqstp->rq_prog)
(rq_vers) = ($rqstp->rq_vers)
(rq_proc) = ($rqstp->rq_proc)
(rq_prot) = ($rqstp->rq_prot)
(name) = ("sunrpc.svc.send")
(argstr) = (sprintf("%s %d %d %d %d %d %d", sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc, rq_prot))
}
probe sunrpc.svc.send.return = kernel.function("svc_send").return?, module("sunrpc").function("svc_send").return?{
(name) = ("sunrpc.svc.send")
(retstr) = (returnstr($return))
}
probe sunrpc.svc.drop = kernel.function("svc_drop")?, module("sunrpc").function("svc_drop")?{
(sv_name) = (kernel_string($rqstp->rq_server->sv_name))
(peer_ip) = (addr_from_rqst($rqstp))
(rq_xid) = ($rqstp->rq_xid)
(rq_prog) = ($rqstp->rq_prog)
(rq_vers) = ($rqstp->rq_vers)
(rq_proc) =
probe sunrpc.svc.create = kernel.function("svc_create")?, module("sunrpc").function("svc_create")?{

(progname) = (kernel_string($prog->pg_name))

(prog) = ($prog->pg_prog)

(pg_nvers) = ($prog->pg_nvers)

(bufsize) = ($bufsize)

(name) = ("sunrpc.svc.create")

(argstr) = (sprintf("%s %d %d %d", progname, prog, pg_nvers, bufsize))

}

probe sunrpc.svc.create.return = kernel.function("svc_create").return?, module("sunrpc").function("svc_create").return?{

(name) = ("sunrpc.svc.create")

}

probe sunrpc.svc.destroy = kernel.function("svc_destroy")?, module("sunrpc").function("svc_destroy")?{

(sv_name) = (kernel_string($serv->sv_name))

(sv_progname) = (kernel_string($serv->sv_program->pg_name))

(sv_prog) = ($serv->sv_program->pg_prog)

(sv_nrthreads) = ($serv->sv_nrthreads)

(netcnt) = ($serv->sv_stats->netcnt)

(netcpconn) = ($serv->sv_stats->nettcpconn)

(rpccnt) = ($serv->sv_stats->rpccnt)

(rpcbadfmt) = ($serv->sv_stats->rpcbadfmt)

(rpcbadauth) = ($serv->sv_stats->rpcbadauth)

(name) = ("sunrpc.svc.destroy")

(argstr) = (sprintf("%s %d %d", sv_name, sv_prog, sv_nrthreads))

}

probe sunrpc.svc.destroy.return = kernel.function("svc_destroy").return?, module("sunrpc").function("svc_destroy").return?{

(name) = ("sunrpc.svc.destroy")

}

probe sunrpc.svc.process = kernel.function("svc_process")?, module("sunrpc").function("svc_process")?{

(sv_name) = (kernel_string($serv->sv_name))

(sv_prog) = ($serv->sv_program->pg_prog)

(sv_nrthreads) = ($serv->sv_nrthreads)

(peer_ip) = (addr_from_rqst($rqstp))

(rq_xid) = ($rqstp->rq_xid)

(rq_prog) = ($rqstp->rq_prog)

(rq_vers) = ($rqstp->rq_vers)

(rq_proc) = ($rqstp->rq_proc)

(rq_prot) = ($rqstp->rq_prot)

(name) = ("sunrpc.svc.process")

(argstr) = (sprintf("%s %d %d %d %d %d %d", sv_name, sv_prog, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc))

}

probe sunrpc.svc.process.return = kernel.function("svc_process").return?, module("sunrpc").function("svc_process").return?{

(name) = ("sunrpc.svc.process")

(retstr) = (returnstr($return))

}

probe sunrpc.svc.authorise = kernel.function("svc_authorise")?, module("sunrpc").function("svc_authorise")?{

(sv_name) = (kernel_string($rqstp->rq_server->sv_name))

(peer_ip) = (addr_from_rqst($rqstp))

(rq_xid) = ($rqstp->rq_xid)

(rq_prog) = ($rqstp->rq_prog)

(rq_vers) = ($rqstp->rq_vers)

(rq_proc) = ($rqstp->rq_proc)

(rq_prot) = ($rqstp->rq_prot)

(name) = ("sunrpc.svc.authorise")

(argstr) = (sprintf("%d %d %d %d %d %d", peer_ip, rq_xid, rq_prog, rq_vers, rq_proc, rq_prot))

}

probe sunrpc.svc.authorise.return = kernel.function("svc_authorise").return?, module("sunrpc").function("svc_authorise").return?{

(name) = ("sunrpc.svc.authorise")

(retstr) = (returnstr($return))

}

probe sunrpc.svc.recv = kernel.function("svc_recv")?, module("sunrpc").function("svc_recv")?{

(sv_name) = (kernel_string($serv->sv_name))

(sv_prog) = ($serv->sv_program->pg_prog)

(sv_nrthreads) = ($serv->sv_nrthreads)

(timeout) = ($timeout)

(name) = ("sunrpc.svc.recv")

(argstr) = (sprintf("%s %d", sv_name, timeout))

}

probe sunrpc.svc.recv.return = kernel.function("svc_recv").return?, module("sunrpc").function("svc_recv").return?{

(name) = ("sunrpc.svc.recv")

(argstr) = (returnstr($return))

}

probe sunrpc.svc.send = kernel.function("svc_send")?, module("sunrpc").function("svc_send")?{

(sv_name) = (kernel_string($rqstp->rq_server->sv_name))

(peer_ip) = (addr_from_rqst($rqstp))

(rq_xid) = ($rqstp->rq_xid)

(rq_prog) = ($rqstp->rq_prog)

(rq_vers) = ($rqstp->rq_vers)

(rq_proc) = ($rqstp->rq_proc)

(rq_prot) = ($rqstp->rq_prot)

(name) = ("sunrpc.svc.send")

(argstr) = (sprintf("%s %d %d %d %d %d %d", sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc, rq_prot))

}

probe sunrpc.svc.send.return = kernel.function("svc_send").return?, module("sunrpc").function("svc_send").return?{

(name) = ("sunrpc.svc.send")

(retstr) = (returnstr($return))

}

probe sunrpc.svc.drop = kernel.function("svc_drop")?, module("sunrpc").function("svc_drop")?{

(sv_name) = (kernel_string($rqstp->rq_server->sv_name))

(peer_ip) = (addr_from_rqst($rqstp))

(rq_xid) = ($rqstp->rq_xid)

(rq_prog) = ($rqstp->rq_prog)

(rq_vers) = ($rqstp->rq_vers)
 ($rqstp->rq_proc)
(rq_prot) = ($rqstp->rq_prot)
(name) = ("sunrpc.svc.drop")
(argstr) = (sprintf("%s %d %d %d %d %d %d", sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc, rq_prot))
}
probe sunrpc.svc.drop.return = kernel.function("svc_drop").return?, module("sunrpc").function("svc_drop").return?{
(name) = ("sunrpc.svc.drop")
}
probe sunrpc.sched.entry = sunrpc.sched.new_task, sunrpc.sched.release_task, sunrpc.sched.execute, sunrpc.sched.delay{
}
probe sunrpc.sched.return = sunrpc.sched.new_task.return, sunrpc.sched.release_task.return, sunrpc.sched.execute.return, sunrpc.sched.delay.return{
}
probe sunrpc.sched.new_task = kernel.function("rpc_new_task")?, module("sunrpc").function("rpc_new_task")?{
(xid) = (xid_from_clnt($clnt))
(prog) = (prog_from_clnt($clnt))
(vers) = (vers_from_clnt($clnt))
(prot) = (prot_from_clnt($clnt))
(flags) = ($flags)
(name) = ("sunrpc.sched.new_task")
(argstr) = (sprintf("%d %d %d %d %d", xid, prog, vers, prot, flags))
}
probe sunrpc.sched.new_task.return = kernel.function("rpc_new_task").return?, module("sunrpc").function("rpc_new_task").return?{
(name) = ("sunrpc.sched.new_task")
}
probe sunrpc.sched.release_task = kernel.function("rpc_release_task")?, module("sunrpc").function("rpc_release_task")?{
(xid) = (xid_from_clnt($task->tk_client))
(prog) = (prog_from_clnt($task->tk_client))
(vers) = (vers_from_clnt($task->tk_client))
(prot) = (prot_from_clnt($task->tk_client))
(tk_flags) = ($task->tk_flags)
(name) = ("sunrpc.sched.release_task")
(argstr) = (sprintf("%d %d %d %d %d", xid, prog, vers, prot, tk_flags))
}
probe sunrpc.sched.release_task.return = kernel.function("rpc_release_task").return?, module("sunrpc").function("rpc_release_task").return?{
(name) = ("sunrpc.sched.release_task")
}
probe sunrpc.sched.execute = kernel.function("__rpc_execute")?, module("sunrpc").function("__rpc_execute")?{
(xid) = (xid_from_clnt($task->tk_client))
(prog) = (prog_from_clnt($task->tk_client))
(vers) = (vers_from_clnt($task->tk_client))
(prot) = (prot_from_clnt($task->tk_client))
(tk_pid) = ($task->tk_pid)
(tk_flags) = ($task->tk_flags)
(name) = ("sunrpc.sched.execute")
(argstr) = (sprintf("%d %d %d %d %d %d", xid, prog, vers, prot, tk_pid, tk_flags))
}
probe sunrpc.sched.execute.return = kernel.function("__rpc_execute").return?, module("sunrpc").function("__rpc_execute").return?{
(name) = ("sunrpc.sched.execute")
(retstr) = (returnstr($return))
}
probe sunrpc.sched.delay = kernel.function("rpc_delay")?, module("sunrpc").function("rpc_delay")?{
(xid) = (xid_from_clnt($task->tk_client))
(prog) = (prog_from_clnt($task->tk_client))
(vers) = (vers_from_clnt($task->tk_client))
(prot) = (prot_from_clnt($task->tk_client))
(tk_pid) = ($task->tk_pid)
(tk_flags) = ($task->tk_flags)
(delay) = ($delay)
(name) = ("sunrpc.clnt.delay")
(argstr) = (sprintf("%d %d %d %d %d %d %d", xid, prog, vers, prot, tk_pid, tk_flags, delay))
}
probe sunrpc.sched.delay.return = kernel.function("rpc_delay").return?, module("sunrpc").function("rpc_delay").return?{
(name) = ("sunrpc.clnt.delay")
}
function xid_from_clnt (clnt)
%{
	struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
	THIS->__retvalue = clnt ? clnt->cl_xprt->xid : 0;
%}
function prog_from_clnt (clnt)
%{
	struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
	THIS->__retvalue = clnt ? clnt->cl_prog : 0;
#else
	THIS->__retvalue = clnt ? clnt->cl_pmap->pm_prog : 0;
#endif
%}
function vers_from_clnt (clnt)
%{
	struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)
	THIS->__retvalue = clnt ? clnt->cl_vers : 0;
#else
	THIS->__retvalue = clnt ? clnt->cl_pmap->pm_vers : 0;
#endif
%}
function prot_from_clnt (clnt)
%{
	struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
	THIS->__retvalue = clnt ? clnt->cl_xprt->prot : 0;
%}
function port_from_clnt (clnt)
%{
	struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
	if(clnt != NULL) {
		struct sockaddr_i
(rq_proc) = ($rqstp->rq_proc)

(rq_prot) = ($rqstp->rq_prot)

(name) = ("sunrpc.svc.drop")

(argstr) = (sprintf("%s %d %d %d %d %d %d", sv_name, peer_ip, rq_xid, rq_prog, rq_vers, rq_proc, rq_prot))

}

probe sunrpc.svc.drop.return = kernel.function("svc_drop").return?, module("sunrpc").function("svc_drop").return?{

(name) = ("sunrpc.svc.drop")

}

probe sunrpc.sched.entry = sunrpc.sched.new_task, sunrpc.sched.release_task, sunrpc.sched.execute, sunrpc.sched.delay{

}

probe sunrpc.sched.return = sunrpc.sched.new_task.return, sunrpc.sched.release_task.return, sunrpc.sched.execute.return, sunrpc.sched.delay.return{

}

probe sunrpc.sched.new_task = kernel.function("rpc_new_task")?, module("sunrpc").function("rpc_new_task")?{

(xid) = (xid_from_clnt($clnt))

(prog) = (prog_from_clnt($clnt))

(vers) = (vers_from_clnt($clnt))

(prot) = (prot_from_clnt($clnt))

(flags) = ($flags)

(name) = ("sunrpc.sched.new_task")

(argstr) = (sprintf("%d %d %d %d %d", xid, prog, vers, prot, flags))

}

probe sunrpc.sched.new_task.return = kernel.function("rpc_new_task").return?, module("sunrpc").function("rpc_new_task").return?{

(name) = ("sunrpc.sched.new_task")

}

probe sunrpc.sched.release_task = kernel.function("rpc_release_task")?, module("sunrpc").function("rpc_release_task")?{

(xid) = (xid_from_clnt($task->tk_client))

(prog) = (prog_from_clnt($task->tk_client))

(vers) = (vers_from_clnt($task->tk_client))

(prot) = (prot_from_clnt($task->tk_client))

(tk_flags) = ($task->tk_flags)

(name) = ("sunrpc.sched.release_task")

(argstr) = (sprintf("%d %d %d %d %d", xid, prog, vers, prot, tk_flags))

}

probe sunrpc.sched.release_task.return = kernel.function("rpc_release_task").return?, module("sunrpc").function("rpc_release_task").return?{

(name) = ("sunrpc.sched.release_task")

}

probe sunrpc.sched.execute = kernel.function("__rpc_execute")?, module("sunrpc").function("__rpc_execute")?{

(xid) = (xid_from_clnt($task->tk_client))

(prog) = (prog_from_clnt($task->tk_client))

(vers) = (vers_from_clnt($task->tk_client))

(prot) = (prot_from_clnt($task->tk_client))

(tk_pid) = ($task->tk_pid)

(tk_flags) = ($task->tk_flags)

(name) = ("sunrpc.sched.execute")

(argstr) = (sprintf("%d %d %d %d %d %d", xid, prog, vers, prot, tk_pid, tk_flags))

}

probe sunrpc.sched.execute.return = kernel.function("__rpc_execute").return?, module("sunrpc").function("__rpc_execute").return?{

(name) = ("sunrpc.sched.execute")

(retstr) = (returnstr($return))

}

probe sunrpc.sched.delay = kernel.function("rpc_delay")?, module("sunrpc").function("rpc_delay")?{

(xid) = (xid_from_clnt($task->tk_client))

(prog) = (prog_from_clnt($task->tk_client))

(vers) = (vers_from_clnt($task->tk_client))

(prot) = (prot_from_clnt($task->tk_client))

(tk_pid) = ($task->tk_pid)

(tk_flags) = ($task->tk_flags)

(delay) = ($delay)

(name) = ("sunrpc.clnt.delay")

(argstr) = (sprintf("%d %d %d %d %d %d %d", xid, prog, vers, prot, tk_pid, tk_flags, delay))

}

probe sunrpc.sched.delay.return = kernel.function("rpc_delay").return?, module("sunrpc").function("rpc_delay").return?{

(name) = ("sunrpc.clnt.delay")

}

function xid_from_clnt (clnt)

%{

	struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;

	THIS->__retvalue = clnt ? clnt->cl_xprt->xid : 0;

%}

function prog_from_clnt (clnt)

%{

	struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)

	THIS->__retvalue = clnt ? clnt->cl_prog : 0;

#else

	THIS->__retvalue = clnt ? clnt->cl_pmap->pm_prog : 0;

#endif

%}

function vers_from_clnt (clnt)

%{

	struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;

#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,19)

	THIS->__retvalue = clnt ? clnt->cl_vers : 0;

#else

	THIS->__retvalue = clnt ? clnt->cl_pmap->pm_vers : 0;

#endif

%}

function prot_from_clnt (clnt)

%{

	struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;

	THIS->__retvalue = clnt ? clnt->cl_xprt->prot : 0;

%}

function port_from_clnt (clnt)

%{

	struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;

	if(clnt != NULL) {
n *addr = (struct sockaddr_in *)&(clnt->cl_xprt->addr);
		if(addr != NULL && addr->sin_family == AF_INET) {
			/* Now consider ipv4 only */
			THIS->__retvalue = ntohs(addr->sin_port);
			return;
		}
	}
	THIS->__retvalue = 0;
%}
function clones_from_clnt (clnt)
%{
	struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
	THIS->__retvalue = atomic_read(&clnt->cl_count);
%}
function tasks_from_clnt (clnt)
%{
	struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;
	THIS->__retvalue = atomic_read(&clnt->cl_users);
%}
function proc_from_msg (msg)
%{
	struct rpc_message *msg = (struct rpc_message *)(long)THIS->msg;
	THIS->__retvalue = msg ? msg->rpc_proc->p_proc : 0;
%}
function vers_from_prog (program, vers)
%{
	struct rpc_program *program = (struct rpc_program *)(long)THIS->program;
	if (!program || THIS->vers >= program->nrvers || !program->version[THIS->vers])
		THIS->__retvalue = 0;
	else
		THIS->__retvalue = program->version[THIS->vers]->number;
%}
function addr_from_rqst (rqstp)
%{
	struct svc_rqst *rqstp = (struct svc_rqst *)(long)THIS->rqstp;
	THIS->__retvalue = rqstp ? rqstp->rq_addr.sin_addr.s_addr : 0;
%}

# file /usr/local/share/systemtap/tapset/scheduler.stp
probe scheduler.cpu_off = kernel.inline("context_switch"){
(task_prev) = ($prev)
(task_next) = ($next)
(idle) = (__is_idle())
}
probe scheduler.cpu_on = kernel.inline("finish_task_switch"){
(task_prev) = ($prev)
(idle) = (__is_idle())
}
probe scheduler.tick = kernel.function("scheduler_tick"){
(idle) = (__is_idle())
}
probe scheduler.migrate = kernel.inline("pull_task"){
(task) = ($p)
(cpu_from) = ($p->thread_info->cpu)
(cpu_to) = ($this_cpu)
}
probe scheduler.balance = kernel.inline("idle_balance")?{
}
probe scheduler.ctxswitch = kernel.function("__switch_to"){
(prev_pid) = ($prev_p->pid)
(next_pid) = ($next_p->pid)
(prev_task) = ($prev_p)
(next_task) = ($next_p)
(prevtsk_state) = ($prev_p->state)
}
function __is_idle ()
%{
    /* Ways to detect idle-ness:
     * - pid() or tid() == 0
     * - current == current->parent
     * - current == this_rq()->idle
     * - others?
     */
    THIS->__retvalue = (current->pid == 0);
%}

# file /usr/local/share/systemtap/tapset/scsi.stp
%{
#include <linux/types.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_host.h>
#include <linux/timer.h>
#include <linux/blkdev.h>
%}probe scsi.ioentry = module("*").function("scsi_prep_fn@drivers/scsi/scsi_lib.c"){
if (($req->rq_disk) == (0)) {
(disk_major) = (-(1))
(disk_minor) = (-(1))
}
else {
(disk_major) = ($req->rq_disk->major)
(disk_minor) = ($req->rq_disk->first_minor)
}

(device_state) = (get_devstate_from_req($q))
(req_addr) = ($req)
}
probe scsi.iodispatching = module("*").function("scsi_dispatch_cmd@drivers/scsi/scsi.c"){
(host_no) = ($cmd->device->host->host_no)
(channel) = ($cmd->device->channel)
(lun) = ($cmd->device->lun)
(dev_id) = ($cmd->device->id)
(device_state) = ($cmd->device->sdev_state)
(data_direction) = ($cmd->sc_data_direction)
(request_buffer) = ($cmd->request_buffer)
(request_bufflen) = ($cmd->request_bufflen)
(req_addr) = ($cmd->request)
}
probe scsi.iodone = module("*").function("scsi_done@drivers/scsi/scsi.c"){
(host_no) = ($cmd->device->host->host_no)
(channel) = ($cmd->device->channel)
(lun) = ($cmd->device->lun)
(dev_id) = ($cmd->device->id)
(device_state) = ($cmd->device->sdev_state)
(data_direction) = ($cmd->sc_data_direction)
(req_addr) = ($cmd->request)
(scsi_timer_pending) = (scsi_timer_pending($cmd))
;
}
probe scsi.iocompleted = module("*").function("scsi_io_completion@drivers/scsi/scsi_lib.c"){
(host_no) = ($cmd->device->host->host_no)
(channel) = ($cmd->device->channel)
(lun) = ($cmd->device->lun)
(dev_id) = ($cmd->device->id)
(device_state) = ($cmd->device->sdev_state)
(data_direction) = ($cmd->sc_data_direction)
(req_addr) = ($cmd->request)
(goodbytes) = ($good_bytes)
}
function scsi_timer_pending (var)
%{
        struct scsi_cmnd *cmd = (struct scsi_cmnd *)((long)THI
		struct sockaddr_in *addr = (struct sockaddr_in *)&(clnt->cl_xprt->addr);

		if(addr != NULL && addr->sin_family == AF_INET) {

			/* Now consider ipv4 only */

			THIS->__retvalue = ntohs(addr->sin_port);

			return;

		}

	}

	THIS->__retvalue = 0;

%}

function clones_from_clnt (clnt)

%{

	struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;

	THIS->__retvalue = atomic_read(&clnt->cl_count);

%}

function tasks_from_clnt (clnt)

%{

	struct rpc_clnt *clnt = (struct rpc_clnt *)(long)THIS->clnt;

	THIS->__retvalue = atomic_read(&clnt->cl_users);

%}

function proc_from_msg (msg)

%{

	struct rpc_message *msg = (struct rpc_message *)(long)THIS->msg;

	THIS->__retvalue = msg ? msg->rpc_proc->p_proc : 0;

%}

function vers_from_prog (program, vers)

%{

	struct rpc_program *program = (struct rpc_program *)(long)THIS->program;

	if (!program || THIS->vers >= program->nrvers || !program->version[THIS->vers])

		THIS->__retvalue = 0;

	else

		THIS->__retvalue = program->version[THIS->vers]->number;

%}

function addr_from_rqst (rqstp)

%{

	struct svc_rqst *rqstp = (struct svc_rqst *)(long)THIS->rqstp;

	THIS->__retvalue = rqstp ? rqstp->rq_addr.sin_addr.s_addr : 0;

%}



# file /usr/local/share/systemtap/tapset/scheduler.stp

probe scheduler.cpu_off = kernel.inline("context_switch"){

(task_prev) = ($prev)

(task_next) = ($next)

(idle) = (__is_idle())

}

probe scheduler.cpu_on = kernel.inline("finish_task_switch"){

(task_prev) = ($prev)

(idle) = (__is_idle())

}

probe scheduler.tick = kernel.function("scheduler_tick"){

(idle) = (__is_idle())

}

probe scheduler.migrate = kernel.inline("pull_task"){

(task) = ($p)

(cpu_from) = ($p->thread_info->cpu)

(cpu_to) = ($this_cpu)

}

probe scheduler.balance = kernel.inline("idle_balance")?{

}

probe scheduler.ctxswitch = kernel.function("__switch_to"){

(prev_pid) = ($prev_p->pid)

(next_pid) = ($next_p->pid)

(prev_task) = ($prev_p)

(next_task) = ($next_p)

(prevtsk_state) = ($prev_p->state)

}

function __is_idle ()

%{

    /* Ways to detect idle-ness:

     * - pid() or tid() == 0

     * - current == current->parent

     * - current == this_rq()->idle

     * - others?

     */

    THIS->__retvalue = (current->pid == 0);

%}



# file /usr/local/share/systemtap/tapset/scsi.stp

%{

#include <linux/types.h>

#include <scsi/scsi_cmnd.h>

#include <scsi/scsi_device.h>

#include <scsi/scsi_host.h>

#include <linux/timer.h>

#include <linux/blkdev.h>

%}probe scsi.ioentry = module("*").function("scsi_prep_fn@drivers/scsi/scsi_lib.c"){

if (($req->rq_disk) == (0)) {

(disk_major) = (-(1))

(disk_minor) = (-(1))

}

else {

(disk_major) = ($req->rq_disk->major)

(disk_minor) = ($req->rq_disk->first_minor)

}



(device_state) = (get_devstate_from_req($q))

(req_addr) = ($req)

}

probe scsi.iodispatching = module("*").function("scsi_dispatch_cmd@drivers/scsi/scsi.c"){

(host_no) = ($cmd->device->host->host_no)

(channel) = ($cmd->device->channel)

(lun) = ($cmd->device->lun)

(dev_id) = ($cmd->device->id)

(device_state) = ($cmd->device->sdev_state)

(data_direction) = ($cmd->sc_data_direction)

(request_buffer) = ($cmd->request_buffer)

(request_bufflen) = ($cmd->request_bufflen)

(req_addr) = ($cmd->request)

}

probe scsi.iodone = module("*").function("scsi_done@drivers/scsi/scsi.c"){

(host_no) = ($cmd->device->host->host_no)

(channel) = ($cmd->device->channel)

(lun) = ($cmd->device->lun)

(dev_id) = ($cmd->device->id)

(device_state) = ($cmd->device->sdev_state)

(data_direction) = ($cmd->sc_data_direction)

(req_addr) = ($cmd->request)

(scsi_timer_pending) = (scsi_timer_pending($cmd))

;

}

probe scsi.iocompleted = module("*").function("scsi_io_completion@drivers/scsi/scsi_lib.c"){

(host_no) = ($cmd->device->host->host_no)

(channel) = ($cmd->device->channel)

(lun) = ($cmd->device->lun)

(dev_id) = ($cmd->device->id)

(device_state) = ($cmd->device->sdev_state)

(data_direction) = ($cmd->sc_data_direction)

(req_addr) = ($cmd->request)

(goodbytes) = ($good_bytes)

}

function scsi_timer_pending (var)

%{
S->var);
        THIS->__retvalue = timer_pending(&cmd->eh_timeout);
%}
function get_devstate_from_req (var)
%{
	struct request_queue *q = (struct request_queue *)((long)THIS->var);
        struct scsi_device *sdev = (struct scsi_device *)(q->queuedata);
	THIS->__retvalue = sdev->sdev_state;
%}

# file /usr/local/share/systemtap/tapset/signal.stp
probe signal.send = _signal.send.*{
(sig) = ($sig)
(sig_name) = (_signal_name($sig))
(sig_pid) = (task_pid(task))
(pid_name) = (task_execname(task))
if ((sinfo) == (2)) (si_code) = ("SIGSTOP or SIGKILL")
else if ((sinfo) > (0)) (si_code) = ("SI_KERNEL (SIGFPE, SIGSEGV, SIGTRAP, SIGCHLD, SIGPOLL)")
else if ((sinfo) <= (0)) (si_code) = ("SI_USER or SI_TIMER or SI_ASYNCIO")



}
probe _signal.send.part1 = kernel.function("__group_send_sig_info"){
(name) = ("__group_send_sig_info")
(task) = ($p)
(sinfo) = ($info)
(shared) = (1)
(send2queue) = (0)
}
probe _signal.send.part2 = kernel.function("send_group_sigqueue"){
(name) = ("send_group_sigqueue")
(task) = ($p)
(sinfo) = ($q->info)
(shared) = (1)
(send2queue) = (1)
}
probe _signal.send.part3 = kernel.function("send_sigqueue"){
(name) = ("send_sigqueue")
(task) = ($p)
(sinfo) = ($q->info)
(shared) = (0)
(send2queue) = (1)
}
probe _signal.send.part4 = kernel.function("specific_send_sig_info"){
(name) = ("specific_send_sig_info")
(task) = ($t)
(sinfo) = ($info)
(shared) = (0)
(send2queue) = (0)
}
probe signal.send.return = _signal.send.*.return{
(retstr) = (returnstr(1))
}
probe _signal.send.part1.return = kernel.function("__group_send_sig_info").return{
(name) = ("__group_send_sig_info")
(shared) = (1)
(send2queue) = (0)
}
probe _signal.send.part4.return = kernel.function("specific_send_sig_info").return{
(name) = ("specific_send_sig_info")
(shared) = (0)
(send2queue) = (0)
}
probe _signal.send.part2.return = kernel.function("send_group_sigqueue").return{
(name) = ("send_group_sigqueue")
(shared) = (1)
(send2queue) = (1)
}
probe _signal.send.part3.return = kernel.function("send_sigqueue").return{
(name) = ("send_sigqueueu")
(shared) = (0)
(send2queue) = (1)
}
probe signal.checkperm = kernel.function("check_kill_permission"){
(sig) = ($sig)
(task) = ($t)
(sinfo) = ($info)
(name) = ("signal.checkperm")
(sig_name) = (_signal_name($sig))
(sig_pid) = (task_pid(task))
(pid_name) = (task_execname(task))
if ((sinfo) == (2)) (si_code) = ("SIGSTOP or SIGKILL")
else if ((sinfo) > (0)) (si_code) = ("SI_KERNEL (SIGFPE, SIGSEGV, SIGTRAP, SIGCHLD, SIGPOLL)")
else if ((sinfo) <= (0)) (si_code) = ("SI_USER or SI_TIMER or SI_ASYNCIO")



}
probe signal.checkperm.return = kernel.function("check_kill_permission").return{
(name) = ("signal.checkperm")
(retstr) = (returnstr(1))
}
probe signal.wakeup = kernel.function("signal_wake_up"){
(sig_pid) = ($t->pid)
(pid_name) = (kernel_string($t->comm))
(resume) = ($resume)
if ((resume) == (0)) {
(state_mask) = ("TASK_INTERRUPTIBLE")
}
else {
(state_mask) = ("TASK_INTERRUPTIBLE | TASK_STOPPED | TASK_TRACED")
}

}
probe signal.check_ignored = kernel.function("sig_ignored"){
(sig_pid) = ($t->pid)
(pid_name) = (kernel_string($t->comm))
(sig) = ($sig)
(sig_name) = (_signal_name($sig))
}
probe signal.check_ignored.return = kernel.function("sig_ignored").return{
(name) = ("sig_ignored")
(retstr) = (returnstr(1))
}
probe signal.force_segv = kernel.function("force_sigsegv"){
(sig_pid) = ($p->pid)
(pid_name) = (kernel_string($p->comm))
(sig) = ($sig)
(sig_name) = (_signal_name($sig))
}
probe signal.force_segv.return = kernel.function("force_sigsegv").return{
(name) = ("force_sigsegv")
(retstr) = (returnstr(1))
}
probe signal.syskill = syscall.kill{
(sig_name) = (_signal_name($sig))
}
probe signal.syskill.return = syscall.kill.return{
}
probe signal.systgkill = syscall.tgkill{
(sig_name) = (_signal_name($sig))
}
probe signal.systgkill.return = syscall.tgkill.return{
}
probe signal.systkill = syscall.tkill{
(sig_name) = (_signal_name($sig))
}
probe signal.systkill.return = syscall.tkill.re
        struct scsi_cmnd *cmd = (struct scsi_cmnd *)((long)THIS->var);

        THIS->__retvalue = timer_pending(&cmd->eh_timeout);

%}

function get_devstate_from_req (var)

%{

	struct request_queue *q = (struct request_queue *)((long)THIS->var);

        struct scsi_device *sdev = (struct scsi_device *)(q->queuedata);

	THIS->__retvalue = sdev->sdev_state;

%}



# file /usr/local/share/systemtap/tapset/signal.stp

probe signal.send = _signal.send.*{

(sig) = ($sig)

(sig_name) = (_signal_name($sig))

(sig_pid) = (task_pid(task))

(pid_name) = (task_execname(task))

if ((sinfo) == (2)) (si_code) = ("SIGSTOP or SIGKILL")

else if ((sinfo) > (0)) (si_code) = ("SI_KERNEL (SIGFPE, SIGSEGV, SIGTRAP, SIGCHLD, SIGPOLL)")

else if ((sinfo) <= (0)) (si_code) = ("SI_USER or SI_TIMER or SI_ASYNCIO")







}

probe _signal.send.part1 = kernel.function("__group_send_sig_info"){

(name) = ("__group_send_sig_info")

(task) = ($p)

(sinfo) = ($info)

(shared) = (1)

(send2queue) = (0)

}

probe _signal.send.part2 = kernel.function("send_group_sigqueue"){

(name) = ("send_group_sigqueue")

(task) = ($p)

(sinfo) = ($q->info)

(shared) = (1)

(send2queue) = (1)

}

probe _signal.send.part3 = kernel.function("send_sigqueue"){

(name) = ("send_sigqueue")

(task) = ($p)

(sinfo) = ($q->info)

(shared) = (0)

(send2queue) = (1)

}

probe _signal.send.part4 = kernel.function("specific_send_sig_info"){

(name) = ("specific_send_sig_info")

(task) = ($t)

(sinfo) = ($info)

(shared) = (0)

(send2queue) = (0)

}

probe signal.send.return = _signal.send.*.return{

(retstr) = (returnstr(1))

}

probe _signal.send.part1.return = kernel.function("__group_send_sig_info").return{

(name) = ("__group_send_sig_info")

(shared) = (1)

(send2queue) = (0)

}

probe _signal.send.part4.return = kernel.function("specific_send_sig_info").return{

(name) = ("specific_send_sig_info")

(shared) = (0)

(send2queue) = (0)

}

probe _signal.send.part2.return = kernel.function("send_group_sigqueue").return{

(name) = ("send_group_sigqueue")

(shared) = (1)

(send2queue) = (1)

}

probe _signal.send.part3.return = kernel.function("send_sigqueue").return{

(name) = ("send_sigqueueu")

(shared) = (0)

(send2queue) = (1)

}

probe signal.checkperm = kernel.function("check_kill_permission"){

(sig) = ($sig)

(task) = ($t)

(sinfo) = ($info)

(name) = ("signal.checkperm")

(sig_name) = (_signal_name($sig))

(sig_pid) = (task_pid(task))

(pid_name) = (task_execname(task))

if ((sinfo) == (2)) (si_code) = ("SIGSTOP or SIGKILL")

else if ((sinfo) > (0)) (si_code) = ("SI_KERNEL (SIGFPE, SIGSEGV, SIGTRAP, SIGCHLD, SIGPOLL)")

else if ((sinfo) <= (0)) (si_code) = ("SI_USER or SI_TIMER or SI_ASYNCIO")







}

probe signal.checkperm.return = kernel.function("check_kill_permission").return{

(name) = ("signal.checkperm")

(retstr) = (returnstr(1))

}

probe signal.wakeup = kernel.function("signal_wake_up"){

(sig_pid) = ($t->pid)

(pid_name) = (kernel_string($t->comm))

(resume) = ($resume)

if ((resume) == (0)) {

(state_mask) = ("TASK_INTERRUPTIBLE")

}

else {

(state_mask) = ("TASK_INTERRUPTIBLE | TASK_STOPPED | TASK_TRACED")

}



}

probe signal.check_ignored = kernel.function("sig_ignored"){

(sig_pid) = ($t->pid)

(pid_name) = (kernel_string($t->comm))

(sig) = ($sig)

(sig_name) = (_signal_name($sig))

}

probe signal.check_ignored.return = kernel.function("sig_ignored").return{

(name) = ("sig_ignored")

(retstr) = (returnstr(1))

}

probe signal.force_segv = kernel.function("force_sigsegv"){

(sig_pid) = ($p->pid)

(pid_name) = (kernel_string($p->comm))

(sig) = ($sig)

(sig_name) = (_signal_name($sig))

}

probe signal.force_segv.return = kernel.function("force_sigsegv").return{

(name) = ("force_sigsegv")

(retstr) = (returnstr(1))

}

probe signal.syskill = syscall.kill{

(sig_name) = (_signal_name($sig))

}

probe signal.syskill.return = syscall.kill.return{

}

probe signal.systgkill = syscall.tgkill{

(sig_name) = (_signal_name($sig))

}

probe signal.systgkill.return = syscall.tgkill.return{

}

probe signal.systkill = syscall.tkill{

(sig_name) = (_signal_name($sig))

}
turn{
}
probe signal.send_sig_queue = kernel.function("send_sigqueue"), kernel.function("send_group_sigqueue"){
(sig) = ($sig)
(sig_name) = (_signal_name($sig))
(sig_pid) = ($p->pid)
(pid_name) = (kernel_string($p->comm))
(sigqueue_addr) = ($q)
}
probe signal.send_sig_queue.return = kernel.function("send_sigqueue").return, kernel.function("send_group_sigqueue").return{
(retstr) = (returnstr(1))
}
probe signal.pending = kernel.function("do_sigpending"){
(sigset_add) = ($set)
(sigset_size) = ($sigsetsize)
}
probe signal.pending.return = kernel.function("do_sigpending").return{
(retstr) = (returnstr(1))
}
probe signal.handle = kernel.function("handle_signal")?, kernel.inline("handle_signal")?{
(sig) = ($sig)
(sig_name) = (_signal_name($sig))
(sinfo) = ($info)
(sig_code) = ($info->si_code)
(ka_addr) = ($ka)
(oldset_addr) = ($oldset)
(regs) = ($regs)
if (((sinfo) == (0)) && ((sig_code) <= (0))) (sig_mode) = ("User Mode Signal")
else if ((sinfo) >= (1)) (sig_mode) = ("Kernel Mode Signal")


}
probe signal.handle.return = kernel.function("handle_signal").return?{
(retstr) = (returnstr(1))
}
probe signal.do_action = kernel.function("do_sigaction"){
(sig) = ($sig)
(sigact_addr) = ($act)
(oldsigact_addr) = ($oact)
if ((sigact_table) != (0)) {
(sa_handler) = ($act->sa->sa_handler)
(sa_mask) = ($act->sa->sa_mask)
}

}
probe signal.do_action.return = kernel.function("do_sigaction").return{
(retstr) = (returnstr(1))
}
probe signal.procmask = kernel.function("sigprocmask"){
(how) = ($how)
(sigset_addr) = ($set)
(oldsigset_addr) = ($oldset)
(sigset) = (get_sigset($set))
}
probe signal.procmask.return = kernel.function("sigprocmask").return{
(retstr) = (returnstr(1))
}
probe signal.flush = kernel.function("flush_signals"){
(task) = ($t)
(sig_pid) = ($t->pid)
(pid_name) = (kernel_string($t->comm))
}
function get_sigset (sigset)
%{ /* pure */

    sigset_t *sigset = (sigset_t *)((long)THIS->sigset);

if(_NSIG_BPW == 64)
    THIS->__retvalue = deref(sizeof(sigset_t), sigset);
else if(_NSIG_BPW == 32)
    THIS->__retvalue = deref(sizeof(int), &(sigset->sig[0])) |
        ((u_int64_t)deref(sizeof(int), &(sigset->sig[1])))<<32;

    if(0)  {
deref_fault:
        CONTEXT->last_error = "pointer deref error";
    }
%}

# file /usr/local/share/systemtap/tapset/string.stp
function strlen (s)
%{ /* pure */
        THIS->__retvalue = strlen(THIS->s);
%}
function substr (str, start, length)
%{ /* pure */
	int length = THIS->length + 1 > MAXSTRINGLEN ? MAXSTRINGLEN : THIS->length + 1;
	if (THIS->start < 0   || length < 1) {
		return;
	} else
		strlcpy(THIS->__retvalue, THIS->str + THIS->start, length);
%}
function isinstr (s1, s2)
%{ /* pure */
	if (strstr(THIS->s1,THIS->s2) != NULL)
		THIS->__retvalue = 1;
	else
		THIS->__retvalue = 0;
%}
function text_str (input)
%{ /* pure */
	_stp_text_str(THIS->__retvalue, THIS->input, 0, 0, 0);
%}
function text_strn (input, len, quoted)
%{ /* pure */
	_stp_text_str(THIS->__retvalue, THIS->input, THIS->len, THIS->quoted, 0);
%}

# file /usr/local/share/systemtap/tapset/syscalls.stp
probe syscall.accept = kernel.function("sys_accept"){
(name) = ("accept")
(sockfd) = ($fd)
(addr_uaddr) = ($upeer_sockaddr)
(addrlen_uaddr) = ($upeer_addrlen)
(argstr) = (sprintf("%d, %p, %p", $fd, $upeer_sockaddr, $upeer_addrlen))
}
probe syscall.accept.return = kernel.function("sys_accept").return{
(name) = ("accept")
(retstr) = (returnstr(1))
}
probe syscall.access = kernel.function("sys_access"){
(name) = ("access")
(pathname) = (user_string($filename))
(mode) = ($mode)
(mode_str) = (_access_mode_str($mode))
(argstr) = (sprintf("%s, %s", user_string_quoted($filename), mode_str))
}
probe syscall.access.return = kernel.function("sys_access").return{
(name) = ("access")
(retstr) = (returnstr(1))
}
probe syscall.acct = kernel.function("sys_acct")?{
(name) = ("acct")
(filename) = (user_string($name))
(argstr) = (user_string_quoted($name))
}
probe syscall.acct.return = kernel.function("sys_acct").return?
probe signal.systkill.return = syscall.tkill.return{

}

probe signal.send_sig_queue = kernel.function("send_sigqueue"), kernel.function("send_group_sigqueue"){

(sig) = ($sig)

(sig_name) = (_signal_name($sig))

(sig_pid) = ($p->pid)

(pid_name) = (kernel_string($p->comm))

(sigqueue_addr) = ($q)

}

probe signal.send_sig_queue.return = kernel.function("send_sigqueue").return, kernel.function("send_group_sigqueue").return{

(retstr) = (returnstr(1))

}

probe signal.pending = kernel.function("do_sigpending"){

(sigset_add) = ($set)

(sigset_size) = ($sigsetsize)

}

probe signal.pending.return = kernel.function("do_sigpending").return{

(retstr) = (returnstr(1))

}

probe signal.handle = kernel.function("handle_signal")?, kernel.inline("handle_signal")?{

(sig) = ($sig)

(sig_name) = (_signal_name($sig))

(sinfo) = ($info)

(sig_code) = ($info->si_code)

(ka_addr) = ($ka)

(oldset_addr) = ($oldset)

(regs) = ($regs)

if (((sinfo) == (0)) && ((sig_code) <= (0))) (sig_mode) = ("User Mode Signal")

else if ((sinfo) >= (1)) (sig_mode) = ("Kernel Mode Signal")





}

probe signal.handle.return = kernel.function("handle_signal").return?{

(retstr) = (returnstr(1))

}

probe signal.do_action = kernel.function("do_sigaction"){

(sig) = ($sig)

(sigact_addr) = ($act)

(oldsigact_addr) = ($oact)

if ((sigact_table) != (0)) {

(sa_handler) = ($act->sa->sa_handler)

(sa_mask) = ($act->sa->sa_mask)

}



}

probe signal.do_action.return = kernel.function("do_sigaction").return{

(retstr) = (returnstr(1))

}

probe signal.procmask = kernel.function("sigprocmask"){

(how) = ($how)

(sigset_addr) = ($set)

(oldsigset_addr) = ($oldset)

(sigset) = (get_sigset($set))

}

probe signal.procmask.return = kernel.function("sigprocmask").return{

(retstr) = (returnstr(1))

}

probe signal.flush = kernel.function("flush_signals"){

(task) = ($t)

(sig_pid) = ($t->pid)

(pid_name) = (kernel_string($t->comm))

}

function get_sigset (sigset)

%{ /* pure */



    sigset_t *sigset = (sigset_t *)((long)THIS->sigset);



if(_NSIG_BPW == 64)

    THIS->__retvalue = deref(sizeof(sigset_t), sigset);

else if(_NSIG_BPW == 32)

    THIS->__retvalue = deref(sizeof(int), &(sigset->sig[0])) |

        ((u_int64_t)deref(sizeof(int), &(sigset->sig[1])))<<32;



    if(0)  {

deref_fault:

        CONTEXT->last_error = "pointer deref error";

    }

%}



# file /usr/local/share/systemtap/tapset/string.stp

function strlen (s)

%{ /* pure */

        THIS->__retvalue = strlen(THIS->s);

%}

function substr (str, start, length)

%{ /* pure */

	int length = THIS->length + 1 > MAXSTRINGLEN ? MAXSTRINGLEN : THIS->length + 1;

	if (THIS->start < 0   || length < 1) {

		return;

	} else

		strlcpy(THIS->__retvalue, THIS->str + THIS->start, length);

%}

function isinstr (s1, s2)

%{ /* pure */

	if (strstr(THIS->s1,THIS->s2) != NULL)

		THIS->__retvalue = 1;

	else

		THIS->__retvalue = 0;

%}

function text_str (input)

%{ /* pure */

	_stp_text_str(THIS->__retvalue, THIS->input, 0, 0, 0);

%}

function text_strn (input, len, quoted)

%{ /* pure */

	_stp_text_str(THIS->__retvalue, THIS->input, THIS->len, THIS->quoted, 0);

%}



# file /usr/local/share/systemtap/tapset/syscalls.stp

probe syscall.accept = kernel.function("sys_accept"){

(name) = ("accept")

(sockfd) = ($fd)

(addr_uaddr) = ($upeer_sockaddr)

(addrlen_uaddr) = ($upeer_addrlen)

(argstr) = (sprintf("%d, %p, %p", $fd, $upeer_sockaddr, $upeer_addrlen))

}

probe syscall.accept.return = kernel.function("sys_accept").return{

(name) = ("accept")

(retstr) = (returnstr(1))

}

probe syscall.access = kernel.function("sys_access"){

(name) = ("access")

(pathname) = (user_string($filename))

(mode) = ($mode)

(mode_str) = (_access_mode_str($mode))

(argstr) = (sprintf("%s, %s", user_string_quoted($filename), mode_str))

}

probe syscall.access.return = kernel.function("sys_access").return{

(name) = ("access")

(retstr) = (returnstr(1))

}

probe syscall.acct = kernel.function("sys_acct")?{

(name) = ("acct")

(filename) = (user_string($name))

(argstr) = (user_string_quoted($name))

}
{
(name) = ("acct")
(retstr) = (returnstr(1))
}
probe syscall.add_key = kernel.function("sys_add_key")?{
(name) = ("add_key")
(type_uaddr) = ($_type)
(description_auddr) = ($_description)
(payload_uaddr) = ($_payload)
(plen) = ($plen)
(ringid) = ($ringid)
(argstr) = (sprintf("%s, %s, %s, %d, %d", user_string_quoted($_type), user_string_quoted($_description), text_strn(user_string($_payload), 20, 1), $plen, $ringid))
}
probe syscall.add_key.return = kernel.function("sys_add_key").return?{
(name) = ("add_key")
(retstr) = (returnstr(1))
}
probe syscall.adjtimex = kernel.function("sys_adjtimex"){
(name) = ("adjtimex")
(buf_uaddr) = ($txc_p)
(buf_modes_str) = (_adjtx_mode_str(buf_modes))
(argstr) = (buf_modes_str)
}
probe syscall.adjtimex.return = kernel.function("sys_adjtimex").return{
(name) = ("adjtimex")
(retstr) = (returnstr(1))
}
probe syscall.alarm = kernel.function("sys_alarm"){
(name) = ("alarm")
(seconds) = ($seconds)
(argstr) = (sprint($seconds))
}
probe syscall.alarm.return = kernel.function("sys_alarm").return{
(name) = ("alarm")
(retstr) = (returnstr(1))
}
probe syscall.bdflush = kernel.function("sys_bdflush"){
(name) = ("bdflush")
(func) = ($func)
(data) = ($data)
(argstr) = (sprintf("%d %p", func, data))
}
probe syscall.bdflush.return = kernel.function("sys_bdflush").return{
(name) = ("bdflush")
(retstr) = (returnstr(1))
}
probe syscall.bind = kernel.function("sys_bind"){
(name) = ("bind")
(sockfd) = ($fd)
(my_addr_uaddr) = ($umyaddr)
(addrlen) = ($addrlen)
(argstr) = (sprintf("%d, %s, %d", $fd, _struct_sockaddr_u($umyaddr, $addrlen), $addrlen))
}
probe syscall.bind.return = kernel.function("sys_bind").return{
(name) = ("bind")
(retstr) = (returnstr(1))
}
probe syscall.brk = kernel.function("sys_brk"){
(name) = ("brk")
(brk) = ($brk)
(argstr) = (sprintf("%p", brk))
}
probe syscall.brk.return = kernel.function("sys_brk").return{
(name) = ("brk")
(retstr) = (returnstr(1))
}
probe syscall.capget = kernel.function("sys_capget"){
(name) = ("capget")
(header_uaddr) = ($header)
(data_uaddr) = ($dataptr)
(argstr) = (sprintf("%p, %p", $header, $dataptr))
}
probe syscall.capget.return = kernel.function("sys_capget").return{
(name) = ("capget")
(retstr) = (returnstr(1))
}
probe syscall.capset = kernel.function("sys_capset"){
(name) = ("capset")
(header_uaddr) = ($header)
(data_uaddr) = ($data)
(argstr) = (sprintf("%p, %p", $header, $data))
}
probe syscall.capset.return = kernel.function("sys_capset").return{
(name) = ("capset")
(retstr) = (returnstr(1))
}
probe syscall.chdir = kernel.function("sys_chdir"){
(name) = ("chdir")
(path) = (user_string($filename))
(argstr) = (user_string_quoted($filename))
}
probe syscall.chdir.return = kernel.function("sys_chdir").return{
(name) = ("chdir")
(retstr) = (returnstr(1))
}
probe syscall.chmod = kernel.function("sys_chmod"){
(name) = ("chmod")
(path) = (user_string($filename))
(mode) = ($mode)
(argstr) = (sprintf("%s, %#o", user_string_quoted($filename), mode))
}
probe syscall.chmod.return = kernel.function("sys_chmod").return{
(name) = ("chmod")
(retstr) = (returnstr(1))
}
probe syscall.chown = kernel.function("sys_chown"){
(name) = ("chown")
(path) = (user_string($filename))
(owner) = ($user)
(group) = ($group)
(argstr) = (sprintf("%s, %d, %d", user_string_quoted($filename), owner, group))
}
probe syscall.chown.return = kernel.function("sys_chown").return{
(name) = ("chown")
(retstr) = (returnstr(1))
}
probe syscall.chown16 = kernel.function("sys_chown16")?{
(name) = ("chown16")
(path) = (user_string($filename))
(owner) = (__short($user))
(group) = (__short($group))
(argstr) = (sprintf("%s, %d, %d", user_string_quoted($filename), owner, group))
}
probe syscall.chown16.return = kernel.function("sys_chown16").return?{
(name) = ("chown16")
(retstr) = (returnstr(1))
}
probe syscall.chroot = kernel.function("sys_chroot"){
(name) = ("chroot")
(path) = (user_string($filename))
(argstr) = (user_string_quoted($filename))
}
probe syscall.chroot.return = kerne
probe syscall.acct.return = kernel.function("sys_acct").return?{

(name) = ("acct")

(retstr) = (returnstr(1))

}

probe syscall.add_key = kernel.function("sys_add_key")?{

(name) = ("add_key")

(type_uaddr) = ($_type)

(description_auddr) = ($_description)

(payload_uaddr) = ($_payload)

(plen) = ($plen)

(ringid) = ($ringid)

(argstr) = (sprintf("%s, %s, %s, %d, %d", user_string_quoted($_type), user_string_quoted($_description), text_strn(user_string($_payload), 20, 1), $plen, $ringid))

}

probe syscall.add_key.return = kernel.function("sys_add_key").return?{

(name) = ("add_key")

(retstr) = (returnstr(1))

}

probe syscall.adjtimex = kernel.function("sys_adjtimex"){

(name) = ("adjtimex")

(buf_uaddr) = ($txc_p)

(buf_modes_str) = (_adjtx_mode_str(buf_modes))

(argstr) = (buf_modes_str)

}

probe syscall.adjtimex.return = kernel.function("sys_adjtimex").return{

(name) = ("adjtimex")

(retstr) = (returnstr(1))

}

probe syscall.alarm = kernel.function("sys_alarm"){

(name) = ("alarm")

(seconds) = ($seconds)

(argstr) = (sprint($seconds))

}

probe syscall.alarm.return = kernel.function("sys_alarm").return{

(name) = ("alarm")

(retstr) = (returnstr(1))

}

probe syscall.bdflush = kernel.function("sys_bdflush"){

(name) = ("bdflush")

(func) = ($func)

(data) = ($data)

(argstr) = (sprintf("%d %p", func, data))

}

probe syscall.bdflush.return = kernel.function("sys_bdflush").return{

(name) = ("bdflush")

(retstr) = (returnstr(1))

}

probe syscall.bind = kernel.function("sys_bind"){

(name) = ("bind")

(sockfd) = ($fd)

(my_addr_uaddr) = ($umyaddr)

(addrlen) = ($addrlen)

(argstr) = (sprintf("%d, %s, %d", $fd, _struct_sockaddr_u($umyaddr, $addrlen), $addrlen))

}

probe syscall.bind.return = kernel.function("sys_bind").return{

(name) = ("bind")

(retstr) = (returnstr(1))

}

probe syscall.brk = kernel.function("sys_brk"){

(name) = ("brk")

(brk) = ($brk)

(argstr) = (sprintf("%p", brk))

}

probe syscall.brk.return = kernel.function("sys_brk").return{

(name) = ("brk")

(retstr) = (returnstr(1))

}

probe syscall.capget = kernel.function("sys_capget"){

(name) = ("capget")

(header_uaddr) = ($header)

(data_uaddr) = ($dataptr)

(argstr) = (sprintf("%p, %p", $header, $dataptr))

}

probe syscall.capget.return = kernel.function("sys_capget").return{

(name) = ("capget")

(retstr) = (returnstr(1))

}

probe syscall.capset = kernel.function("sys_capset"){

(name) = ("capset")

(header_uaddr) = ($header)

(data_uaddr) = ($data)

(argstr) = (sprintf("%p, %p", $header, $data))

}

probe syscall.capset.return = kernel.function("sys_capset").return{

(name) = ("capset")

(retstr) = (returnstr(1))

}

probe syscall.chdir = kernel.function("sys_chdir"){

(name) = ("chdir")

(path) = (user_string($filename))

(argstr) = (user_string_quoted($filename))

}

probe syscall.chdir.return = kernel.function("sys_chdir").return{

(name) = ("chdir")

(retstr) = (returnstr(1))

}

probe syscall.chmod = kernel.function("sys_chmod"){

(name) = ("chmod")

(path) = (user_string($filename))

(mode) = ($mode)

(argstr) = (sprintf("%s, %#o", user_string_quoted($filename), mode))

}

probe syscall.chmod.return = kernel.function("sys_chmod").return{

(name) = ("chmod")

(retstr) = (returnstr(1))

}

probe syscall.chown = kernel.function("sys_chown"){

(name) = ("chown")

(path) = (user_string($filename))

(owner) = ($user)

(group) = ($group)

(argstr) = (sprintf("%s, %d, %d", user_string_quoted($filename), owner, group))

}

probe syscall.chown.return = kernel.function("sys_chown").return{

(name) = ("chown")

(retstr) = (returnstr(1))

}

probe syscall.chown16 = kernel.function("sys_chown16")?{

(name) = ("chown16")

(path) = (user_string($filename))

(owner) = (__short($user))

(group) = (__short($group))

(argstr) = (sprintf("%s, %d, %d", user_string_quoted($filename), owner, group))

}

probe syscall.chown16.return = kernel.function("sys_chown16").return?{

(name) = ("chown16")

(retstr) = (returnstr(1))

}

probe syscall.chroot = kernel.function("sys_chroot"){

(name) = ("chroot")

(path) = (user_string($filename))

(argstr) = (user_string_quoted($filename))

}
l.function("sys_chroot").return{
(name) = ("chroot")
(retstr) = (returnstr(1))
}
probe syscall.clock_getres = kernel.function("sys_clock_getres"){
(name) = ("clock_getres")
(clk_id) = ($which_clock)
(clk_id_str) = (_get_wc_str($which_clock))
(res_uaddr) = ($tp)
(argstr) = (sprintf("%s, %p", _get_wc_str($which_clock), $tp))
}
probe syscall.clock_getres.return = kernel.function("sys_clock_getres").return{
(name) = ("clock_getres")
(retstr) = (returnstr(1))
}
probe syscall.clock_gettime = kernel.function("sys_clock_gettime"){
(name) = ("clock_gettime")
(clk_id) = ($which_clock)
(clk_id_str) = (_get_wc_str($which_clock))
(tp_uaddr) = ($tp)
(argstr) = (sprintf("%s, %p", _get_wc_str($which_clock), $tp))
}
probe syscall.clock_gettime.return = kernel.function("sys_clock_gettime").return{
(name) = ("clock_gettime")
(retstr) = (returnstr(1))
}
probe syscall.clock_nanosleep = kernel.function("sys_clock_nanosleep"){
(name) = ("clock_nanosleep")
(clock_id) = ($which_clock)
(clock_id_str) = (_get_wc_str($which_clock))
(flags) = ($flags)
if (($flags) == (0)) (flag_str) = ("0")
else (flag_str) = ("TIMER_ABSTIME")

(rqtp_uaddr) = ($rqtp)
(rmtp_uaddr) = ($rmtp)
(argstr) = (sprintf("%s, %s, %s, %p", clock_id_str, flag_str, _struct_timespec_u($rqtp), $rmtp))
}
probe syscall.clock_nanosleep.return = kernel.function("sys_clock_nanosleep").return{
(name) = ("clock_nanosleep")
(retstr) = (returnstr(1))
}
probe syscall.clock_settime = kernel.function("sys_clock_settime"){
(name) = ("clock_settime")
(clk_id) = ($which_clock)
(clk_id_str) = (_get_wc_str($which_clock))
(tp_uaddr) = ($tp)
(argstr) = (sprintf("%s, %s", clk_id_str, _struct_timespec_u($tp)))
}
probe syscall.clock_settime.return = kernel.function("sys_clock_settime").return{
(name) = ("clock_settime")
(retstr) = (returnstr(1))
}
probe syscall.close = kernel.function("sys_close"){
(name) = ("close")
(fd) = ($fd)
(argstr) = (sprint(fd))
}
probe syscall.close.return = kernel.function("sys_close").return{
(name) = ("close")
(retstr) = (returnstr(1))
}
probe syscall.connect = kernel.function("sys_connect"){
(name) = ("connect")
(sockfd) = ($fd)
(serv_addr_uaddr) = ($uservaddr)
(addrlen) = ($addrlen)
(argstr) = (sprintf("%d, %s, %d", $fd, _struct_sockaddr_u($uservaddr, $addrlen), $addrlen))
}
probe syscall.connect.return = kernel.function("sys_connect").return{
(name) = ("connect")
(retstr) = (returnstr(1))
}
probe syscall.delete_module = kernel.function("sys_delete_module"){
(name) = ("delete_module")
(name_user) = (user_string($name_user))
(flags) = ($flags)
(argstr) = (sprintf("%s, %s", user_string_quoted($name_user), _module_flags_str(flags)))
}
probe syscall.delete_module.return = kernel.function("sys_delete_module").return{
(name) = ("delete_module")
(retstr) = (returnstr(1))
}
probe syscall.dup = kernel.function("sys_dup"){
(name) = ("dup")
(oldfd) = ($fildes)
(argstr) = (sprint($fildes))
}
probe syscall.dup.return = kernel.function("sys_dup").return{
(name) = ("dup")
(retstr) = (returnstr(1))
}
probe syscall.dup2 = kernel.function("sys_dup2"){
(name) = ("dup2")
(oldfd) = ($oldfd)
(newfd) = ($newfd)
(argstr) = (sprintf("%d, %d", $oldfd, $newfd))
}
probe syscall.dup2.return = kernel.function("sys_dup2").return{
(name) = ("dup2")
(retstr) = (returnstr(1))
}
probe syscall.epoll_create = kernel.function("sys_epoll_create"){
(name) = ("epoll_create")
(size) = ($size)
(argstr) = (sprint($size))
}
probe syscall.epoll_create.return = kernel.function("sys_epoll_create").return{
(name) = ("epoll_create")
(retstr) = (returnstr(1))
}
probe syscall.epoll_ctl = kernel.function("sys_epoll_ctl"){
(name) = ("epoll_ctl")
(epfd) = ($epfd)
(op) = ($op)
(op_str) = (_opoll_op_str($op))
(fd) = ($fd)
(event_uaddr) = ($event)
(argstr) = (sprintf("%d, %s, %d, %p", $epfd, _opoll_op_str($op), $fd, $event))
}
probe syscall.epoll_ctl.return = kernel.function("sys_epoll_ctl").return{
(name) = ("epoll_ctl")
(retstr) = (returnstr(1))
}
probe syscall.epoll_wait = kernel.function("sys_epoll_wait")
probe syscall.chroot.return = kernel.function("sys_chroot").return{

(name) = ("chroot")

(retstr) = (returnstr(1))

}

probe syscall.clock_getres = kernel.function("sys_clock_getres"){

(name) = ("clock_getres")

(clk_id) = ($which_clock)

(clk_id_str) = (_get_wc_str($which_clock))

(res_uaddr) = ($tp)

(argstr) = (sprintf("%s, %p", _get_wc_str($which_clock), $tp))

}

probe syscall.clock_getres.return = kernel.function("sys_clock_getres").return{

(name) = ("clock_getres")

(retstr) = (returnstr(1))

}

probe syscall.clock_gettime = kernel.function("sys_clock_gettime"){

(name) = ("clock_gettime")

(clk_id) = ($which_clock)

(clk_id_str) = (_get_wc_str($which_clock))

(tp_uaddr) = ($tp)

(argstr) = (sprintf("%s, %p", _get_wc_str($which_clock), $tp))

}

probe syscall.clock_gettime.return = kernel.function("sys_clock_gettime").return{

(name) = ("clock_gettime")

(retstr) = (returnstr(1))

}

probe syscall.clock_nanosleep = kernel.function("sys_clock_nanosleep"){

(name) = ("clock_nanosleep")

(clock_id) = ($which_clock)

(clock_id_str) = (_get_wc_str($which_clock))

(flags) = ($flags)

if (($flags) == (0)) (flag_str) = ("0")

else (flag_str) = ("TIMER_ABSTIME")



(rqtp_uaddr) = ($rqtp)

(rmtp_uaddr) = ($rmtp)

(argstr) = (sprintf("%s, %s, %s, %p", clock_id_str, flag_str, _struct_timespec_u($rqtp), $rmtp))

}

probe syscall.clock_nanosleep.return = kernel.function("sys_clock_nanosleep").return{

(name) = ("clock_nanosleep")

(retstr) = (returnstr(1))

}

probe syscall.clock_settime = kernel.function("sys_clock_settime"){

(name) = ("clock_settime")

(clk_id) = ($which_clock)

(clk_id_str) = (_get_wc_str($which_clock))

(tp_uaddr) = ($tp)

(argstr) = (sprintf("%s, %s", clk_id_str, _struct_timespec_u($tp)))

}

probe syscall.clock_settime.return = kernel.function("sys_clock_settime").return{

(name) = ("clock_settime")

(retstr) = (returnstr(1))

}

probe syscall.close = kernel.function("sys_close"){

(name) = ("close")

(fd) = ($fd)

(argstr) = (sprint(fd))

}

probe syscall.close.return = kernel.function("sys_close").return{

(name) = ("close")

(retstr) = (returnstr(1))

}

probe syscall.connect = kernel.function("sys_connect"){

(name) = ("connect")

(sockfd) = ($fd)

(serv_addr_uaddr) = ($uservaddr)

(addrlen) = ($addrlen)

(argstr) = (sprintf("%d, %s, %d", $fd, _struct_sockaddr_u($uservaddr, $addrlen), $addrlen))

}

probe syscall.connect.return = kernel.function("sys_connect").return{

(name) = ("connect")

(retstr) = (returnstr(1))

}

probe syscall.delete_module = kernel.function("sys_delete_module"){

(name) = ("delete_module")

(name_user) = (user_string($name_user))

(flags) = ($flags)

(argstr) = (sprintf("%s, %s", user_string_quoted($name_user), _module_flags_str(flags)))

}

probe syscall.delete_module.return = kernel.function("sys_delete_module").return{

(name) = ("delete_module")

(retstr) = (returnstr(1))

}

probe syscall.dup = kernel.function("sys_dup"){

(name) = ("dup")

(oldfd) = ($fildes)

(argstr) = (sprint($fildes))

}

probe syscall.dup.return = kernel.function("sys_dup").return{

(name) = ("dup")

(retstr) = (returnstr(1))

}

probe syscall.dup2 = kernel.function("sys_dup2"){

(name) = ("dup2")

(oldfd) = ($oldfd)

(newfd) = ($newfd)

(argstr) = (sprintf("%d, %d", $oldfd, $newfd))

}

probe syscall.dup2.return = kernel.function("sys_dup2").return{

(name) = ("dup2")

(retstr) = (returnstr(1))

}

probe syscall.epoll_create = kernel.function("sys_epoll_create"){

(name) = ("epoll_create")

(size) = ($size)

(argstr) = (sprint($size))

}

probe syscall.epoll_create.return = kernel.function("sys_epoll_create").return{

(name) = ("epoll_create")

(retstr) = (returnstr(1))

}

probe syscall.epoll_ctl = kernel.function("sys_epoll_ctl"){

(name) = ("epoll_ctl")

(epfd) = ($epfd)

(op) = ($op)

(op_str) = (_opoll_op_str($op))

(fd) = ($fd)

(event_uaddr) = ($event)

(argstr) = (sprintf("%d, %s, %d, %p", $epfd, _opoll_op_str($op), $fd, $event))

}

probe syscall.epoll_ctl.return = kernel.function("sys_epoll_ctl").return{

(name) = ("epoll_ctl")

(retstr) = (returnstr(1))

}
{
(name) = ("epoll_wait")
(epfd) = ($epfd)
(events_uaddr) = ($events)
(maxevents) = ($maxevents)
(timeout) = ($timeout)
(argstr) = (sprintf("%d, %p, %d, %d", $epfd, $events, $maxevents, $timeout))
}
probe syscall.epoll_wait.return = kernel.function("sys_epoll_wait").return{
(name) = ("epoll_wait")
(retstr) = (returnstr(1))
}
probe syscall.execve = kernel.function("do_execve"){
(name) = ("execve")
(filename) = (__string($filename))
(args) = (__get_argv($argv))
(argstr) = (sprintf("%s %s", filename, args))
}
probe syscall.execve.return = kernel.function("do_execve").return{
(name) = ("execve")
(retstr) = (returnstr(1))
}
probe syscall.exit = kernel.function("do_exit"){
(name) = ("exit")
(status) = ($code)
(argstr) = (sprint($code))
}
probe syscall.exit.return = end{
}
probe syscall.exit_group = kernel.function("sys_exit_group"){
(name) = ("exit_group")
(status) = ($error_code)
(argstr) = (sprint($error_code))
}
probe syscall.exit_group.return = end{
}
probe syscall.fadvise64 = kernel.function("sys_fadvise64"){
(name) = ("fadvise64")
(fs) = ($fd)
(offset) = ($offset)
(len) = ($len)
(advice) = ($advice)
(argstr) = (sprintf("%d, %d, %d, %s", $fd, $offset, $len, _fadvice_advice_str($advice)))
}
probe syscall.fadvise64.return = kernel.function("sys_fadvise64").return{
(name) = ("fadvise64")
(retstr) = (returnstr(1))
}
probe syscall.fadvise64_64 = kernel.function("sys_fadvise64_64"){
(name) = ("fadvise64_64")
(fs) = ($fd)
(offset) = ($offset)
(len) = ($len)
(advice) = ($advice)
(argstr) = (sprintf("%d, %d, %d, %s", $fd, $offset, $len, _fadvice_advice_str($advice)))
}
probe syscall.fadvise64_64.return = kernel.function("sys_fadvise64_64").return{
(name) = ("fadvise64_64")
(retstr) = (returnstr(1))
}
probe syscall.fchdir = kernel.function("sys_fchdir"){
(name) = ("fchdir")
(fd) = ($fd)
(argstr) = (sprint($fd))
}
probe syscall.fchdir.return = kernel.function("sys_fchdir").return{
(name) = ("fchdir")
(retstr) = (returnstr(1))
}
probe syscall.fchmod = kernel.function("sys_fchmod"){
(name) = ("fchmod")
(fildes) = ($fd)
(mode) = ($mode)
(argstr) = (sprintf("%d, %#o", $fd, $mode))
}
probe syscall.fchmod.return = kernel.function("sys_fchmod").return{
(name) = ("fchmod")
(retstr) = (returnstr(1))
}
probe syscall.fchown = kernel.function("sys_fchown"){
(name) = ("fchown")
(fd) = ($fd)
(owner) = ($user)
(group) = ($group)
(argstr) = (sprintf("%d, %d, %d", $fd, $user, $group))
}
probe syscall.fchown.return = kernel.function("sys_fchown").return{
(name) = ("fchown")
(retstr) = (returnstr(1))
}
probe syscall.fchown16 = kernel.function("sys_fchown16")?{
(name) = ("fchown16")
(fd) = ($fd)
(owner) = (__short($user))
(group) = (__short($group))
(argstr) = (sprintf("%d, %d, %d", $fd, owner, group))
}
probe syscall.fchown16.return = kernel.function("sys_fchown16").return?{
(name) = ("fchown16")
(retstr) = (returnstr(1))
}
probe syscall.fcntl = kernel.function("sys_fcntl"){
(name) = ("fcntl")
(fd) = ($fd)
(cmd) = ($cmd)
(cmd_str) = (_fcntl_cmd_str($cmd))
(arg) = ($arg)
(argstr) = (sprintf("%d, %s, %p", $fd, cmd_str, $arg))
}
probe syscall.fcntl.return = kernel.function("sys_fcntl").return{
(name) = ("fcntl")
(retstr) = (returnstr(1))
}
probe syscall.fdatasync = kernel.function("sys_fdatasync"){
(name) = ("fdatasync")
(fd) = ($fd)
(argstr) = (sprint(fd))
}
probe syscall.fdatasync.return = kernel.function("sys_fdatasync").return{
(name) = ("fdatasync")
(retstr) = (returnstr(1))
}
probe syscall.fgetxattr = kernel.function("sys_fgetxattr"){
(name) = ("fgetxattr")
(filedes) = ($fd)
(name2) = (user_string($name))
(value_uaddr) = ($value)
(size) = ($size)
(argstr) = (sprintf("%d, %s, %p, %d", filedes, user_string_quoted($name), value_uaddr, size))
}
probe syscall.fgetxattr.return = kernel.function("sys_fgetxattr").return{
(name) = ("fgetxattr")
(retstr) = (returnstr(1))
}
probe syscall.flistxattr = kernel.function("sys_flistxattr"){
(name) = ("flistxattr")
(filedes) = ($fd)
(list_uaddr) = ($list)
(size) = ($size)
(argst
probe syscall.epoll_wait = kernel.function("sys_epoll_wait"){

(name) = ("epoll_wait")

(epfd) = ($epfd)

(events_uaddr) = ($events)

(maxevents) = ($maxevents)

(timeout) = ($timeout)

(argstr) = (sprintf("%d, %p, %d, %d", $epfd, $events, $maxevents, $timeout))

}

probe syscall.epoll_wait.return = kernel.function("sys_epoll_wait").return{

(name) = ("epoll_wait")

(retstr) = (returnstr(1))

}

probe syscall.execve = kernel.function("do_execve"){

(name) = ("execve")

(filename) = (__string($filename))

(args) = (__get_argv($argv))

(argstr) = (sprintf("%s %s", filename, args))

}

probe syscall.execve.return = kernel.function("do_execve").return{

(name) = ("execve")

(retstr) = (returnstr(1))

}

probe syscall.exit = kernel.function("do_exit"){

(name) = ("exit")

(status) = ($code)

(argstr) = (sprint($code))

}

probe syscall.exit.return = end{

}

probe syscall.exit_group = kernel.function("sys_exit_group"){

(name) = ("exit_group")

(status) = ($error_code)

(argstr) = (sprint($error_code))

}

probe syscall.exit_group.return = end{

}

probe syscall.fadvise64 = kernel.function("sys_fadvise64"){

(name) = ("fadvise64")

(fs) = ($fd)

(offset) = ($offset)

(len) = ($len)

(advice) = ($advice)

(argstr) = (sprintf("%d, %d, %d, %s", $fd, $offset, $len, _fadvice_advice_str($advice)))

}

probe syscall.fadvise64.return = kernel.function("sys_fadvise64").return{

(name) = ("fadvise64")

(retstr) = (returnstr(1))

}

probe syscall.fadvise64_64 = kernel.function("sys_fadvise64_64"){

(name) = ("fadvise64_64")

(fs) = ($fd)

(offset) = ($offset)

(len) = ($len)

(advice) = ($advice)

(argstr) = (sprintf("%d, %d, %d, %s", $fd, $offset, $len, _fadvice_advice_str($advice)))

}

probe syscall.fadvise64_64.return = kernel.function("sys_fadvise64_64").return{

(name) = ("fadvise64_64")

(retstr) = (returnstr(1))

}

probe syscall.fchdir = kernel.function("sys_fchdir"){

(name) = ("fchdir")

(fd) = ($fd)

(argstr) = (sprint($fd))

}

probe syscall.fchdir.return = kernel.function("sys_fchdir").return{

(name) = ("fchdir")

(retstr) = (returnstr(1))

}

probe syscall.fchmod = kernel.function("sys_fchmod"){

(name) = ("fchmod")

(fildes) = ($fd)

(mode) = ($mode)

(argstr) = (sprintf("%d, %#o", $fd, $mode))

}

probe syscall.fchmod.return = kernel.function("sys_fchmod").return{

(name) = ("fchmod")

(retstr) = (returnstr(1))

}

probe syscall.fchown = kernel.function("sys_fchown"){

(name) = ("fchown")

(fd) = ($fd)

(owner) = ($user)

(group) = ($group)

(argstr) = (sprintf("%d, %d, %d", $fd, $user, $group))

}

probe syscall.fchown.return = kernel.function("sys_fchown").return{

(name) = ("fchown")

(retstr) = (returnstr(1))

}

probe syscall.fchown16 = kernel.function("sys_fchown16")?{

(name) = ("fchown16")

(fd) = ($fd)

(owner) = (__short($user))

(group) = (__short($group))

(argstr) = (sprintf("%d, %d, %d", $fd, owner, group))

}

probe syscall.fchown16.return = kernel.function("sys_fchown16").return?{

(name) = ("fchown16")

(retstr) = (returnstr(1))

}

probe syscall.fcntl = kernel.function("sys_fcntl"){

(name) = ("fcntl")

(fd) = ($fd)

(cmd) = ($cmd)

(cmd_str) = (_fcntl_cmd_str($cmd))

(arg) = ($arg)

(argstr) = (sprintf("%d, %s, %p", $fd, cmd_str, $arg))

}

probe syscall.fcntl.return = kernel.function("sys_fcntl").return{

(name) = ("fcntl")

(retstr) = (returnstr(1))

}

probe syscall.fdatasync = kernel.function("sys_fdatasync"){

(name) = ("fdatasync")

(fd) = ($fd)

(argstr) = (sprint(fd))

}

probe syscall.fdatasync.return = kernel.function("sys_fdatasync").return{

(name) = ("fdatasync")

(retstr) = (returnstr(1))

}

probe syscall.fgetxattr = kernel.function("sys_fgetxattr"){

(name) = ("fgetxattr")

(filedes) = ($fd)

(name2) = (user_string($name))

(value_uaddr) = ($value)

(size) = ($size)

(argstr) = (sprintf("%d, %s, %p, %d", filedes, user_string_quoted($name), value_uaddr, size))

}

probe syscall.fgetxattr.return = kernel.function("sys_fgetxattr").return{

(name) = ("fgetxattr")

(retstr) = (returnstr(1))

}

probe syscall.flistxattr = kernel.function("sys_flistxattr"){

(name) = ("flistxattr")

(filedes) = ($fd)

(list_uaddr) = ($list)

(size) = ($size)
r) = (sprintf("%d, %p, %d", filedes, list_uaddr, size))
}
probe syscall.flistxattr.return = kernel.function("sys_flistxattr").return{
(name) = ("flistxattr")
(retstr) = (returnstr(1))
}
probe syscall.flock = kernel.function("sys_flock"){
(name) = ("flock")
(fd) = ($fd)
(operation) = ($cmd)
(argstr) = (sprintf("%d, %s", fd, _flock_cmd_str(operation)))
}
probe syscall.flock.return = kernel.function("sys_flock").return{
(name) = ("flock")
(retstr) = (returnstr(1))
}
probe syscall.fork = kernel.function("do_fork"){
(clone_flags) = ($clone_flags)
(stack_start) = ($stack_start)
(regs) = ($regs)
(stack_size) = ($stack_size)
(parent_tid_uaddr) = ($parent_tidptr)
(child_tid_uaddr) = ($child_tidptr)
if ((stack_start) == (0)) {
(name) = ("fork_kernel_thread")
(argstr) = (__fork_flags(clone_flags))
}
else if ((clone_flags) == (17)) (name) = ("fork")
else if ((clone_flags) & (16384)) (name) = ("vfork")
else {
(name) = ("clone")
(argstr) = (__fork_flags(clone_flags))
}



}
probe syscall.fork.return = kernel.function("do_fork").return{
(name) = ("fork")
(retstr) = (returnstr(1))
}
probe syscall.fremovexattr = kernel.function("sys_fremovexattr"){
(name) = ("fremovexattr")
(filedes) = ($fd)
(name_uaddr) = ($name)
(argstr) = (sprintf("FIXME PLEASE"))
}
probe syscall.fremovexattr.return = kernel.function("sys_fremovexattr").return{
(name) = ("fremovexattr")
(retstr) = (returnstr(1))
}
probe syscall.fsetxattr = kernel.function("sys_fsetxattr"){
(name) = ("fsetxattr")
(filedes) = ($fd)
(name2) = (user_string($name))
(value_uaddr) = ($value)
(size) = ($size)
(flags) = ($flags)
(argstr) = (sprintf("%d, %s, %p, %d, %p", filedes, user_string_quoted($name), value_uaddr, size, flags))
}
probe syscall.fsetxattr.return = kernel.function("sys_fsetxattr").return{
(name) = ("fsetxattr")
(retstr) = (returnstr(1))
}
probe syscall.fstat = kernel.function("sys_fstat")?, kernel.function("sys_fstat64")?, kernel.function("sys32_fstat64")?, kernel.function("sys_newfstat")?, kernel.function("compat_sys_newfstat")?{
(name) = ("fstat")
(filedes) = ($fd)
(buf_uaddr) = ($statbuf)
(argstr) = (sprintf("%d, %p", $fd, $statbuf))
}
probe syscall.fstat.return = kernel.function("sys_fstat").return?, kernel.function("sys_fstat64").return?, kernel.function("sys32_fstat64").return?, kernel.function("sys_newfstat").return?, kernel.function("compat_sys_newfstat").return?{
(name) = ("fstat")
(retstr) = (returnstr(1))
}
probe syscall.fstatfs = kernel.function("sys_fstatfs"), kernel.function("compat_sys_fstatfs")?{
(name) = ("fstatfs")
(fd) = ($fd)
(buf_uaddr) = ($buf)
(argstr) = (sprintf("%d, %p", $fd, $buf))
}
probe syscall.fstatfs.return = kernel.function("sys_fstatfs").return, kernel.function("compat_sys_fstatfs").return?{
(name) = ("fstatfs")
(retstr) = (returnstr(1))
}
probe syscall.fstatfs64 = kernel.function("sys_fstatfs64"){
(name) = ("fstatfs")
(fd) = ($fd)
(sz) = ($sz)
(buf_uaddr) = ($buf)
(argstr) = (sprintf("%d, %d, %p", fd, sz, buf_uaddr))
}
probe syscall.fstatfs64.return = kernel.function("sys_fstatfs64").return{
(name) = ("fstatfs")
(retstr) = (returnstr(1))
}
probe syscall.fsync = kernel.function("sys_fsync"){
(name) = ("fsync")
(fd) = ($fd)
(argstr) = (sprint(fd))
}
probe syscall.fsync.return = kernel.function("sys_fsync").return{
(name) = ("fsync")
(retstr) = (returnstr(1))
}
probe syscall.ftruncate = kernel.function("sys_ftruncate"){
(name) = ("ftruncate")
(fd) = ($fd)
(length) = ($length)
(argstr) = (sprintf("%d, %d", fd, length))
}
probe syscall.ftruncate.return = kernel.function("sys_ftruncate").return{
(name) = ("ftruncate")
(retstr) = (returnstr(1))
}
probe syscall.ftruncate64 = kernel.function("sys_ftruncate64")?{
(name) = ("ftruncate")
(fd) = ($fd)
(length) = ($length)
(argstr) = (sprintf("%d, %d", fd, length))
}
probe syscall.ftruncate64.return = kernel.function("sys_ftruncate64").return?{
(name) = ("ftruncate")
(retstr) = (returnstr(1))
}
probe syscall.futex = kernel.function("sys_futex"){
(name) = ("futex")
(futex_uaddr) = (
(argstr) = (sprintf("%d, %p, %d", filedes, list_uaddr, size))

}

probe syscall.flistxattr.return = kernel.function("sys_flistxattr").return{

(name) = ("flistxattr")

(retstr) = (returnstr(1))

}

probe syscall.flock = kernel.function("sys_flock"){

(name) = ("flock")

(fd) = ($fd)

(operation) = ($cmd)

(argstr) = (sprintf("%d, %s", fd, _flock_cmd_str(operation)))

}

probe syscall.flock.return = kernel.function("sys_flock").return{

(name) = ("flock")

(retstr) = (returnstr(1))

}

probe syscall.fork = kernel.function("do_fork"){

(clone_flags) = ($clone_flags)

(stack_start) = ($stack_start)

(regs) = ($regs)

(stack_size) = ($stack_size)

(parent_tid_uaddr) = ($parent_tidptr)

(child_tid_uaddr) = ($child_tidptr)

if ((stack_start) == (0)) {

(name) = ("fork_kernel_thread")

(argstr) = (__fork_flags(clone_flags))

}

else if ((clone_flags) == (17)) (name) = ("fork")

else if ((clone_flags) & (16384)) (name) = ("vfork")

else {

(name) = ("clone")

(argstr) = (__fork_flags(clone_flags))

}







}

probe syscall.fork.return = kernel.function("do_fork").return{

(name) = ("fork")

(retstr) = (returnstr(1))

}

probe syscall.fremovexattr = kernel.function("sys_fremovexattr"){

(name) = ("fremovexattr")

(filedes) = ($fd)

(name_uaddr) = ($name)

(argstr) = (sprintf("FIXME PLEASE"))

}

probe syscall.fremovexattr.return = kernel.function("sys_fremovexattr").return{

(name) = ("fremovexattr")

(retstr) = (returnstr(1))

}

probe syscall.fsetxattr = kernel.function("sys_fsetxattr"){

(name) = ("fsetxattr")

(filedes) = ($fd)

(name2) = (user_string($name))

(value_uaddr) = ($value)

(size) = ($size)

(flags) = ($flags)

(argstr) = (sprintf("%d, %s, %p, %d, %p", filedes, user_string_quoted($name), value_uaddr, size, flags))

}

probe syscall.fsetxattr.return = kernel.function("sys_fsetxattr").return{

(name) = ("fsetxattr")

(retstr) = (returnstr(1))

}

probe syscall.fstat = kernel.function("sys_fstat")?, kernel.function("sys_fstat64")?, kernel.function("sys32_fstat64")?, kernel.function("sys_newfstat")?, kernel.function("compat_sys_newfstat")?{

(name) = ("fstat")

(filedes) = ($fd)

(buf_uaddr) = ($statbuf)

(argstr) = (sprintf("%d, %p", $fd, $statbuf))

}

probe syscall.fstat.return = kernel.function("sys_fstat").return?, kernel.function("sys_fstat64").return?, kernel.function("sys32_fstat64").return?, kernel.function("sys_newfstat").return?, kernel.function("compat_sys_newfstat").return?{

(name) = ("fstat")

(retstr) = (returnstr(1))

}

probe syscall.fstatfs = kernel.function("sys_fstatfs"), kernel.function("compat_sys_fstatfs")?{

(name) = ("fstatfs")

(fd) = ($fd)

(buf_uaddr) = ($buf)

(argstr) = (sprintf("%d, %p", $fd, $buf))

}

probe syscall.fstatfs.return = kernel.function("sys_fstatfs").return, kernel.function("compat_sys_fstatfs").return?{

(name) = ("fstatfs")

(retstr) = (returnstr(1))

}

probe syscall.fstatfs64 = kernel.function("sys_fstatfs64"){

(name) = ("fstatfs")

(fd) = ($fd)

(sz) = ($sz)

(buf_uaddr) = ($buf)

(argstr) = (sprintf("%d, %d, %p", fd, sz, buf_uaddr))

}

probe syscall.fstatfs64.return = kernel.function("sys_fstatfs64").return{

(name) = ("fstatfs")

(retstr) = (returnstr(1))

}

probe syscall.fsync = kernel.function("sys_fsync"){

(name) = ("fsync")

(fd) = ($fd)

(argstr) = (sprint(fd))

}

probe syscall.fsync.return = kernel.function("sys_fsync").return{

(name) = ("fsync")

(retstr) = (returnstr(1))

}

probe syscall.ftruncate = kernel.function("sys_ftruncate"){

(name) = ("ftruncate")

(fd) = ($fd)

(length) = ($length)

(argstr) = (sprintf("%d, %d", fd, length))

}

probe syscall.ftruncate.return = kernel.function("sys_ftruncate").return{

(name) = ("ftruncate")

(retstr) = (returnstr(1))

}

probe syscall.ftruncate64 = kernel.function("sys_ftruncate64")?{

(name) = ("ftruncate")

(fd) = ($fd)

(length) = ($length)

(argstr) = (sprintf("%d, %d", fd, length))

}

probe syscall.ftruncate64.return = kernel.function("sys_ftruncate64").return?{

(name) = ("ftruncate")

(retstr) = (returnstr(1))

}

probe syscall.futex = kernel.function("sys_futex"){

(name) = ("futex")
$uaddr)
(op) = ($op)
(val) = ($val)
(utime_uaddr) = ($utime)
(uaddr2_uaddr) = ($uaddr2)
(val3) = ($val3)
if ((op) == (0)) (argstr) = (sprintf("%p, %s, %d, %s", $uaddr, _futex_op_str($op), $val, _struct_timespec_u($utime)))
else (argstr) = (sprintf("%p, %s, %d", $uaddr, _futex_op_str($op), $val))

}
probe syscall.futex.return = kernel.function("sys_futex").return{
(name) = ("futex")
(retstr) = (returnstr(1))
}
probe syscall.getcwd = kernel.function("sys_getcwd"){
(name) = ("getcwd")
(buf_uaddr) = ($buf)
(size) = ($size)
(argstr) = (sprintf("%p, %d", buf_uaddr, size))
}
probe syscall.getcwd.return = kernel.function("sys_getcwd").return{
(name) = ("getcwd")
(retstr) = (returnstr(1))
}
probe syscall.getdents = kernel.function("sys_getdents"){
(name) = ("getdents")
(fd) = ($fd)
(dirp_uaddr) = ($dirent)
(count) = ($count)
(argstr) = (sprintf("%d, %p, %d", fd, dirp_uaddr, count))
}
probe syscall.getdents.return = kernel.function("sys_getdents").return{
(name) = ("getdents")
(retstr) = (returnstr(1))
}
probe syscall.getdents64 = kernel.function("sys_getdents64"){
(name) = ("getdents")
(fd) = ($fd)
(dirp_uaddr) = ($dirent)
(count) = ($count)
(argstr) = (sprintf("%d, %p, %d", fd, dirp_uaddr, count))
}
probe syscall.getdents64.return = kernel.function("sys_getdents64").return{
(name) = ("getdents")
(retstr) = (returnstr(1))
}
probe syscall.getegid = kernel.function("sys_getegid"){
(name) = ("getegid")
}
probe syscall.getegid.return = kernel.function("sys_getegid").return{
(name) = ("getegid")
(retstr) = (returnstr(1))
}
probe syscall.getegid16 = kernel.function("sys_getegid16")?{
(name) = ("getegid16")
}
probe syscall.getegid16.return = kernel.function("sys_getegid16").return?{
(name) = ("getegid16")
(retstr) = (returnstr(1))
}
probe syscall.geteuid = kernel.function("sys_geteuid"){
(name) = ("geteuid")
}
probe syscall.geteuid.return = kernel.function("sys_geteuid").return{
(name) = ("geteuid")
(retstr) = (returnstr(1))
}
probe syscall.geteuid16 = kernel.function("sys_geteuid16")?{
(name) = ("geteuid16")
}
probe syscall.geteuid16.return = kernel.function("sys_geteuid16").return?{
(name) = ("geteuid16")
(retstr) = (returnstr(1))
}
probe syscall.getgid = kernel.function("sys_getgid"){
(name) = ("getgid")
}
probe syscall.getgid.return = kernel.function("sys_getgid").return{
(name) = ("getgid")
(retstr) = (returnstr(1))
}
probe syscall.getgid16 = kernel.function("sys_getgid16")?{
(name) = ("getgid16")
}
probe syscall.getgid16.return = kernel.function("sys_getgid16").return?{
(name) = ("getgid16")
(retstr) = (returnstr(1))
}
probe syscall.getgroups = kernel.function("sys_getgroups"){
(name) = ("getgroups")
(size) = ($gidsetsize)
(list_uaddr) = ($grouplist)
(argstr) = (sprintf("%d, %p", size, list_uaddr))
}
probe syscall.getgroups.return = kernel.function("sys_getgroups").return{
(name) = ("getgroups")
(retstr) = (returnstr(1))
}
probe syscall.gethostname = kernel.function("sys_gethostname"){
(name) = ("gethostname")
(name_uaddr) = ($name)
(len) = ($len)
(argstr) = (sprintf("%p, %d", name_uaddr, len))
}
probe syscall.gethostname.return = kernel.function("sys_gethostname").return{
(name) = ("gethostname")
(retstr) = (returnstr(1))
}
probe syscall.getitimer = kernel.function("sys_getitimer"){
(name) = ("getitimer")
(which) = ($which)
(value_uaddr) = ($value)
(argstr) = (sprintf("%s, %p", _itimer_which_str($which), $value))
}
probe syscall.getitimer.return = kernel.function("sys_getitimer").return{
(name) = ("getitimer")
(retstr) = (returnstr(1))
}
probe syscall.compat_getitimer = kernel.function("compat_sys_getitimer")?{
(name) = ("getitimer")
(which) = ($which)
(value_uaddr) = ($it)
(argstr) = (sprintf("%s, %p", _itimer_which_str($which), $it))
}
probe syscall.compat_getitimer.return = kernel.function("compat_sys_getitimer").return?{
(name) = ("getitimer")
(retstr) = (returnstr(1))
}
probe syscall.get_mempolicy = kernel.function("sys_get_mempolicy")?{
(name) = ("get_mempolicy")
(policy_uaddr) = ($policy)
(nma
(futex_uaddr) = ($uaddr)

(op) = ($op)

(val) = ($val)

(utime_uaddr) = ($utime)

(uaddr2_uaddr) = ($uaddr2)

(val3) = ($val3)

if ((op) == (0)) (argstr) = (sprintf("%p, %s, %d, %s", $uaddr, _futex_op_str($op), $val, _struct_timespec_u($utime)))

else (argstr) = (sprintf("%p, %s, %d", $uaddr, _futex_op_str($op), $val))



}

probe syscall.futex.return = kernel.function("sys_futex").return{

(name) = ("futex")

(retstr) = (returnstr(1))

}

probe syscall.getcwd = kernel.function("sys_getcwd"){

(name) = ("getcwd")

(buf_uaddr) = ($buf)

(size) = ($size)

(argstr) = (sprintf("%p, %d", buf_uaddr, size))

}

probe syscall.getcwd.return = kernel.function("sys_getcwd").return{

(name) = ("getcwd")

(retstr) = (returnstr(1))

}

probe syscall.getdents = kernel.function("sys_getdents"){

(name) = ("getdents")

(fd) = ($fd)

(dirp_uaddr) = ($dirent)

(count) = ($count)

(argstr) = (sprintf("%d, %p, %d", fd, dirp_uaddr, count))

}

probe syscall.getdents.return = kernel.function("sys_getdents").return{

(name) = ("getdents")

(retstr) = (returnstr(1))

}

probe syscall.getdents64 = kernel.function("sys_getdents64"){

(name) = ("getdents")

(fd) = ($fd)

(dirp_uaddr) = ($dirent)

(count) = ($count)

(argstr) = (sprintf("%d, %p, %d", fd, dirp_uaddr, count))

}

probe syscall.getdents64.return = kernel.function("sys_getdents64").return{

(name) = ("getdents")

(retstr) = (returnstr(1))

}

probe syscall.getegid = kernel.function("sys_getegid"){

(name) = ("getegid")

}

probe syscall.getegid.return = kernel.function("sys_getegid").return{

(name) = ("getegid")

(retstr) = (returnstr(1))

}

probe syscall.getegid16 = kernel.function("sys_getegid16")?{

(name) = ("getegid16")

}

probe syscall.getegid16.return = kernel.function("sys_getegid16").return?{

(name) = ("getegid16")

(retstr) = (returnstr(1))

}

probe syscall.geteuid = kernel.function("sys_geteuid"){

(name) = ("geteuid")

}

probe syscall.geteuid.return = kernel.function("sys_geteuid").return{

(name) = ("geteuid")

(retstr) = (returnstr(1))

}

probe syscall.geteuid16 = kernel.function("sys_geteuid16")?{

(name) = ("geteuid16")

}

probe syscall.geteuid16.return = kernel.function("sys_geteuid16").return?{

(name) = ("geteuid16")

(retstr) = (returnstr(1))

}

probe syscall.getgid = kernel.function("sys_getgid"){

(name) = ("getgid")

}

probe syscall.getgid.return = kernel.function("sys_getgid").return{

(name) = ("getgid")

(retstr) = (returnstr(1))

}

probe syscall.getgid16 = kernel.function("sys_getgid16")?{

(name) = ("getgid16")

}

probe syscall.getgid16.return = kernel.function("sys_getgid16").return?{

(name) = ("getgid16")

(retstr) = (returnstr(1))

}

probe syscall.getgroups = kernel.function("sys_getgroups"){

(name) = ("getgroups")

(size) = ($gidsetsize)

(list_uaddr) = ($grouplist)

(argstr) = (sprintf("%d, %p", size, list_uaddr))

}

probe syscall.getgroups.return = kernel.function("sys_getgroups").return{

(name) = ("getgroups")

(retstr) = (returnstr(1))

}

probe syscall.gethostname = kernel.function("sys_gethostname"){

(name) = ("gethostname")

(name_uaddr) = ($name)

(len) = ($len)

(argstr) = (sprintf("%p, %d", name_uaddr, len))

}

probe syscall.gethostname.return = kernel.function("sys_gethostname").return{

(name) = ("gethostname")

(retstr) = (returnstr(1))

}

probe syscall.getitimer = kernel.function("sys_getitimer"){

(name) = ("getitimer")

(which) = ($which)

(value_uaddr) = ($value)

(argstr) = (sprintf("%s, %p", _itimer_which_str($which), $value))

}

probe syscall.getitimer.return = kernel.function("sys_getitimer").return{

(name) = ("getitimer")

(retstr) = (returnstr(1))

}

probe syscall.compat_getitimer = kernel.function("compat_sys_getitimer")?{

(name) = ("getitimer")

(which) = ($which)

(value_uaddr) = ($it)

(argstr) = (sprintf("%s, %p", _itimer_which_str($which), $it))

}

probe syscall.compat_getitimer.return = kernel.function("compat_sys_getitimer").return?{

(name) = ("getitimer")

(retstr) = (returnstr(1))

}

probe syscall.get_mempolicy = kernel.function("sys_get_mempolicy")?{

(name) = ("get_mempolicy")

(policy_uaddr) = ($policy)
sk_uaddr) = ($nmask)
(maxnode) = ($maxnode)
(addr) = ($addr)
(flags) = ($flags)
(argstr) = (sprintf("%p, %p, %d, %p, %d", policy_uaddr, nmask_uaddr, $maxnode, $addr, $flags))
}
probe syscall.get_mempolicy.return = kernel.function("sys_get_mempolicy").return?{
(name) = ("get_mempolicy")
(retstr) = (returnstr(1))
}
probe syscall.getpeername = kernel.function("sys_getpeername"){
(name) = ("getpeername")
(s) = ($fd)
(name_uaddr) = ($usockaddr)
(namelen_uaddr) = ($usockaddr_len)
(argstr) = (sprintf("%d, %p, %p", $fd, $usockaddr, $usockaddr_len))
}
probe syscall.getpeername.return = kernel.function("sys_getpeername").return{
(name) = ("getpeername")
(retstr) = (returnstr(1))
}
probe syscall.getpgid = kernel.function("sys_getpgid"){
(name) = ("getpgid")
}
probe syscall.getpgid.return = kernel.function("sys_getpgid").return{
(name) = ("getpgid")
(retstr) = (returnstr(1))
}
probe syscall.getpgrp = kernel.function("sys_getpgrp"){
(name) = ("getpgrp")
}
probe syscall.getpgrp.return = kernel.function("sys_getpgrp").return{
(name) = ("getpgrp")
(retstr) = (returnstr(1))
}
probe syscall.getpid = kernel.function("sys_getpid"){
(name) = ("getpid")
}
probe syscall.getpid.return = kernel.function("sys_getpid").return{
(name) = ("getpid")
(retstr) = (returnstr(1))
}
probe syscall.getppid = kernel.function("sys_getppid"){
(name) = ("getppid")
}
probe syscall.getppid.return = kernel.function("sys_getppid").return{
(name) = ("getppid")
}
probe syscall.getpriority = kernel.function("sys_getpriority"){
(name) = ("getpriority")
(which) = ($which)
(who) = ($who)
(argstr) = (sprintf("%s, %d", _priority_which_str(which), who))
}
probe syscall.getpriority.return = kernel.function("sys_getpriority").return{
(name) = ("getpriority")
(retstr) = (returnstr(1))
}
probe syscall.getresgid = kernel.function("sys_getresgid"){
(name) = ("getresgid")
(rgid_uaddr) = ($rgid)
(egid_uaddr) = ($egid)
(sgid_uaddr) = ($sgid)
(argstr) = (sprintf("%p, %p, %p", rgid_uaddr, egid_uaddr, sgid_uaddr))
}
probe syscall.getresgid.return = kernel.function("sys_getresgid").return{
(name) = ("getresgid")
(retstr) = (returnstr(1))
}
probe syscall.getresgid16 = kernel.function("sys_getresgid16")?{
(name) = ("getresgid16")
(rgid_uaddr) = ($rgid)
(egid_uaddr) = ($egid)
(sgid_uaddr) = ($sgid)
(argstr) = (sprintf("%p, %p, %p", rgid_uaddr, egid_uaddr, sgid_uaddr))
}
probe syscall.getresgid16.return = kernel.function("sys_getresgid16").return?{
(name) = ("getresgid16")
(retstr) = (returnstr(1))
}
probe syscall.getresuid = kernel.function("sys_getresuid"){
(name) = ("getresuid")
(ruid_uaddr) = ($ruid)
(euid_uaddr) = ($euid)
(suid_uaddr) = ($suid)
(argstr) = (sprintf("%p, %p, %p", ruid_uaddr, euid_uaddr, suid_uaddr))
}
probe syscall.getresuid.return = kernel.function("sys_getresuid").return{
(name) = ("getresuid")
(retstr) = (returnstr(1))
}
probe syscall.getresuid16 = kernel.function("sys_getresuid16")?{
(name) = ("getresuid16")
(ruid_uaddr) = ($ruid)
(euid_uaddr) = ($euid)
(suid_uaddr) = ($suid)
(argstr) = (sprintf("%p, %p, %p", ruid_uaddr, euid_uaddr, suid_uaddr))
}
probe syscall.getresuid16.return = kernel.function("sys_getresuid16").return?{
(name) = ("getresuid16")
(retstr) = (returnstr(1))
}
probe syscall.getrlimit = kernel.function("sys_getrlimit"){
(name) = ("getrlimit")
(resource) = ($resource)
(rlim_uaddr) = ($rlim)
(argstr) = (sprintf("%s, %p", _rlimit_resource_str($resource), rlim_uaddr))
}
probe syscall.getrlimit.return = kernel.function("sys_getrlimit").return{
(name) = ("getrlimit")
(retstr) = (returnstr(1))
}
probe syscall.getrusage = kernel.function("sys_getrusage"){
(name) = ("getrusage")
(who) = ($who)
(usage_uaddr) = ($ru)
(argstr) = (sprintf("%s, %p", _rusage_who_str($who), usage_uaddr))
}
probe syscall.getrusage.return = kernel.function("sys_getrusage").return{
(name) = ("getrusage")
(retstr) = (returnstr(1))
}
probe syscall.getsid = kernel.function("sys_getsid"){
(name) = ("getsid")
(pid) = ($pid)
(argstr) = (sprint(pid))
}
probe syscall.ge
(nmask_uaddr) = ($nmask)

(maxnode) = ($maxnode)

(addr) = ($addr)

(flags) = ($flags)

(argstr) = (sprintf("%p, %p, %d, %p, %d", policy_uaddr, nmask_uaddr, $maxnode, $addr, $flags))

}

probe syscall.get_mempolicy.return = kernel.function("sys_get_mempolicy").return?{

(name) = ("get_mempolicy")

(retstr) = (returnstr(1))

}

probe syscall.getpeername = kernel.function("sys_getpeername"){

(name) = ("getpeername")

(s) = ($fd)

(name_uaddr) = ($usockaddr)

(namelen_uaddr) = ($usockaddr_len)

(argstr) = (sprintf("%d, %p, %p", $fd, $usockaddr, $usockaddr_len))

}

probe syscall.getpeername.return = kernel.function("sys_getpeername").return{

(name) = ("getpeername")

(retstr) = (returnstr(1))

}

probe syscall.getpgid = kernel.function("sys_getpgid"){

(name) = ("getpgid")

}

probe syscall.getpgid.return = kernel.function("sys_getpgid").return{

(name) = ("getpgid")

(retstr) = (returnstr(1))

}

probe syscall.getpgrp = kernel.function("sys_getpgrp"){

(name) = ("getpgrp")

}

probe syscall.getpgrp.return = kernel.function("sys_getpgrp").return{

(name) = ("getpgrp")

(retstr) = (returnstr(1))

}

probe syscall.getpid = kernel.function("sys_getpid"){

(name) = ("getpid")

}

probe syscall.getpid.return = kernel.function("sys_getpid").return{

(name) = ("getpid")

(retstr) = (returnstr(1))

}

probe syscall.getppid = kernel.function("sys_getppid"){

(name) = ("getppid")

}

probe syscall.getppid.return = kernel.function("sys_getppid").return{

(name) = ("getppid")

}

probe syscall.getpriority = kernel.function("sys_getpriority"){

(name) = ("getpriority")

(which) = ($which)

(who) = ($who)

(argstr) = (sprintf("%s, %d", _priority_which_str(which), who))

}

probe syscall.getpriority.return = kernel.function("sys_getpriority").return{

(name) = ("getpriority")

(retstr) = (returnstr(1))

}

probe syscall.getresgid = kernel.function("sys_getresgid"){

(name) = ("getresgid")

(rgid_uaddr) = ($rgid)

(egid_uaddr) = ($egid)

(sgid_uaddr) = ($sgid)

(argstr) = (sprintf("%p, %p, %p", rgid_uaddr, egid_uaddr, sgid_uaddr))

}

probe syscall.getresgid.return = kernel.function("sys_getresgid").return{

(name) = ("getresgid")

(retstr) = (returnstr(1))

}

probe syscall.getresgid16 = kernel.function("sys_getresgid16")?{

(name) = ("getresgid16")

(rgid_uaddr) = ($rgid)

(egid_uaddr) = ($egid)

(sgid_uaddr) = ($sgid)

(argstr) = (sprintf("%p, %p, %p", rgid_uaddr, egid_uaddr, sgid_uaddr))

}

probe syscall.getresgid16.return = kernel.function("sys_getresgid16").return?{

(name) = ("getresgid16")

(retstr) = (returnstr(1))

}

probe syscall.getresuid = kernel.function("sys_getresuid"){

(name) = ("getresuid")

(ruid_uaddr) = ($ruid)

(euid_uaddr) = ($euid)

(suid_uaddr) = ($suid)

(argstr) = (sprintf("%p, %p, %p", ruid_uaddr, euid_uaddr, suid_uaddr))

}

probe syscall.getresuid.return = kernel.function("sys_getresuid").return{

(name) = ("getresuid")

(retstr) = (returnstr(1))

}

probe syscall.getresuid16 = kernel.function("sys_getresuid16")?{

(name) = ("getresuid16")

(ruid_uaddr) = ($ruid)

(euid_uaddr) = ($euid)

(suid_uaddr) = ($suid)

(argstr) = (sprintf("%p, %p, %p", ruid_uaddr, euid_uaddr, suid_uaddr))

}

probe syscall.getresuid16.return = kernel.function("sys_getresuid16").return?{

(name) = ("getresuid16")

(retstr) = (returnstr(1))

}

probe syscall.getrlimit = kernel.function("sys_getrlimit"){

(name) = ("getrlimit")

(resource) = ($resource)

(rlim_uaddr) = ($rlim)

(argstr) = (sprintf("%s, %p", _rlimit_resource_str($resource), rlim_uaddr))

}

probe syscall.getrlimit.return = kernel.function("sys_getrlimit").return{

(name) = ("getrlimit")

(retstr) = (returnstr(1))

}

probe syscall.getrusage = kernel.function("sys_getrusage"){

(name) = ("getrusage")

(who) = ($who)

(usage_uaddr) = ($ru)

(argstr) = (sprintf("%s, %p", _rusage_who_str($who), usage_uaddr))

}

probe syscall.getrusage.return = kernel.function("sys_getrusage").return{

(name) = ("getrusage")

(retstr) = (returnstr(1))

}

probe syscall.getsid = kernel.function("sys_getsid"){

(name) = ("getsid")

(pid) = ($pid)

(argstr) = (sprint(pid))

}
tsid.return = kernel.function("sys_getsid").return{
(name) = ("getsid")
(retstr) = (returnstr(1))
}
probe syscall.getsockname = kernel.function("sys_getsockname"){
(name) = ("getsockname")
(s) = ($fd)
(name_uaddr) = ($usockaddr)
(namelen_uaddr) = ($usockaddr_len)
(argstr) = (sprintf("%d, %p, %p", $fd, $usockaddr, $usockaddr_len))
}
probe syscall.getsockname.return = kernel.function("sys_getsockname").return{
(name) = ("getsockname")
(retstr) = (returnstr(1))
}
probe syscall.getsockopt = kernel.function("sys_getsockopt"){
(name) = ("getsockopt")
(fd) = ($fd)
(level) = ($level)
(level_str) = (_sockopt_level_str($level))
(optname) = ($optname)
(optname_str) = (_sockopt_optname_str($optname))
(optval_uaddr) = ($optval)
(optlen_uaddr) = ($optlen)
(argstr) = (sprintf("%d, %s, %s, %p, %p", $fd, _sockopt_level_str($level), _sockopt_optname_str($optname), $optval, $optlen))
}
probe syscall.getsockopt.return = kernel.function("sys_getsockopt").return{
(name) = ("getsockopt.return")
}
probe syscall.gettid = kernel.function("sys_gettid"){
(name) = ("gettid")
}
probe syscall.gettid.return = kernel.function("sys_gettid").return{
(name) = ("gettid")
(retstr) = (returnstr(1))
}
probe syscall.gettimeofday = kernel.function("sys_gettimeofday"), kernel.function("sys32_gettimeofday")?{
(name) = ("gettimeofday")
(tv_uaddr) = ($tv)
(tz_uaddr) = ($tz)
(argstr) = (sprintf("%p, %p", $tv, $tz))
}
probe syscall.gettimeofday.return = kernel.function("sys_gettimeofday").return, kernel.function("sys32_gettimeofday").return?{
(name) = ("gettimeofday")
(retstr) = (returnstr(1))
}
probe syscall.getuid = kernel.function("sys_getuid"){
(name) = ("getuid")
}
probe syscall.getuid.return = kernel.function("sys_getuid").return{
(name) = ("getuid")
(retstr) = (returnstr(1))
}
probe syscall.getuid16 = kernel.function("sys_getuid16")?{
(name) = ("getuid16")
}
probe syscall.getuid16.return = kernel.function("sys_getuid16").return?{
(name) = ("getuid16")
(retstr) = (returnstr(1))
}
probe syscall.getxattr = kernel.function("sys_getxattr"){
(name) = ("getxattr")
(path) = (user_string($path))
(name2) = (user_string($name))
(value_uaddr) = ($value)
(size) = ($size)
(argstr) = (sprintf("%s, %s, %p, %d", user_string_quoted($path), user_string_quoted($name), value_uaddr, size))
}
probe syscall.getxattr.return = kernel.function("sys_getxattr").return{
(name) = ("getxattr")
(retstr) = (returnstr(1))
}
probe syscall.init_module = kernel.function("sys_init_module"){
(name) = ("init_module")
(umod_uaddr) = ($umod)
(len) = ($len)
(uargs) = (user_string($uargs))
(argstr) = (sprintf("%p, %d, %s", umod_uaddr, len, uargs))
}
probe syscall.init_module.return = kernel.function("sys_init_module").return{
(name) = ("init_module")
(retstr) = (returnstr(1))
}
probe syscall.io_cancel = kernel.function("sys_io_cancel"){
(name) = ("io_cancel")
(ctx_id) = ($ctx_id)
(iocb_uaddr) = ($iocb)
(result_uaddr) = ($result)
(argstr) = (sprintf("%d, %p, %p", ctx_id, iocb_uaddr, result_uaddr))
}
probe syscall.io_cancel.return = kernel.function("sys_io_cancel").return{
(name) = ("io_cancel")
(retstr) = (returnstr(1))
}
probe syscall.ioctl = kernel.function("sys_ioctl"){
(name) = ("ioctl")
(fd) = ($fd)
(request) = ($cmd)
(argp) = ($arg)
(argstr) = (sprintf("%d, %d, %p", fd, request, argp))
}
probe syscall.ioctl.return = kernel.function("sys_ioctl").return{
(name) = ("ioctl")
(retstr) = (returnstr(1))
}
probe syscall.io_destroy = kernel.function("sys_io_destroy"){
(name) = ("io_destroy")
(ctx) = ($ctx)
(argstr) = (sprintf("%d", ctx))
}
probe syscall.io_destroy.return = kernel.function("sys_io_destroy").return{
(name) = ("io_destroy")
(retstr) = (returnstr(1))
}
probe syscall.io_getevents = kernel.function("sys_io_getevents"){
(name) = ("io_getevents")
(ctx_id) = ($ctx_id)
(min_nr) = ($min_nr)
(nr) = ($nr)
(events_uaddr) = ($events)
(timeout_uaddr) = ($timeout)
(timestr) = (_struct_timespec_u($timeout))
(argstr) = (sprintf("%d, %d, %d, %p, %p, %s", ctx_id, min_nr, nr, events_uaddr, tim
probe syscall.getsid.return = kernel.function("sys_getsid").return{

(name) = ("getsid")

(retstr) = (returnstr(1))

}

probe syscall.getsockname = kernel.function("sys_getsockname"){

(name) = ("getsockname")

(s) = ($fd)

(name_uaddr) = ($usockaddr)

(namelen_uaddr) = ($usockaddr_len)

(argstr) = (sprintf("%d, %p, %p", $fd, $usockaddr, $usockaddr_len))

}

probe syscall.getsockname.return = kernel.function("sys_getsockname").return{

(name) = ("getsockname")

(retstr) = (returnstr(1))

}

probe syscall.getsockopt = kernel.function("sys_getsockopt"){

(name) = ("getsockopt")

(fd) = ($fd)

(level) = ($level)

(level_str) = (_sockopt_level_str($level))

(optname) = ($optname)

(optname_str) = (_sockopt_optname_str($optname))

(optval_uaddr) = ($optval)

(optlen_uaddr) = ($optlen)

(argstr) = (sprintf("%d, %s, %s, %p, %p", $fd, _sockopt_level_str($level), _sockopt_optname_str($optname), $optval, $optlen))

}

probe syscall.getsockopt.return = kernel.function("sys_getsockopt").return{

(name) = ("getsockopt.return")

}

probe syscall.gettid = kernel.function("sys_gettid"){

(name) = ("gettid")

}

probe syscall.gettid.return = kernel.function("sys_gettid").return{

(name) = ("gettid")

(retstr) = (returnstr(1))

}

probe syscall.gettimeofday = kernel.function("sys_gettimeofday"), kernel.function("sys32_gettimeofday")?{

(name) = ("gettimeofday")

(tv_uaddr) = ($tv)

(tz_uaddr) = ($tz)

(argstr) = (sprintf("%p, %p", $tv, $tz))

}

probe syscall.gettimeofday.return = kernel.function("sys_gettimeofday").return, kernel.function("sys32_gettimeofday").return?{

(name) = ("gettimeofday")

(retstr) = (returnstr(1))

}

probe syscall.getuid = kernel.function("sys_getuid"){

(name) = ("getuid")

}

probe syscall.getuid.return = kernel.function("sys_getuid").return{

(name) = ("getuid")

(retstr) = (returnstr(1))

}

probe syscall.getuid16 = kernel.function("sys_getuid16")?{

(name) = ("getuid16")

}

probe syscall.getuid16.return = kernel.function("sys_getuid16").return?{

(name) = ("getuid16")

(retstr) = (returnstr(1))

}

probe syscall.getxattr = kernel.function("sys_getxattr"){

(name) = ("getxattr")

(path) = (user_string($path))

(name2) = (user_string($name))

(value_uaddr) = ($value)

(size) = ($size)

(argstr) = (sprintf("%s, %s, %p, %d", user_string_quoted($path), user_string_quoted($name), value_uaddr, size))

}

probe syscall.getxattr.return = kernel.function("sys_getxattr").return{

(name) = ("getxattr")

(retstr) = (returnstr(1))

}

probe syscall.init_module = kernel.function("sys_init_module"){

(name) = ("init_module")

(umod_uaddr) = ($umod)

(len) = ($len)

(uargs) = (user_string($uargs))

(argstr) = (sprintf("%p, %d, %s", umod_uaddr, len, uargs))

}

probe syscall.init_module.return = kernel.function("sys_init_module").return{

(name) = ("init_module")

(retstr) = (returnstr(1))

}

probe syscall.io_cancel = kernel.function("sys_io_cancel"){

(name) = ("io_cancel")

(ctx_id) = ($ctx_id)

(iocb_uaddr) = ($iocb)

(result_uaddr) = ($result)

(argstr) = (sprintf("%d, %p, %p", ctx_id, iocb_uaddr, result_uaddr))

}

probe syscall.io_cancel.return = kernel.function("sys_io_cancel").return{

(name) = ("io_cancel")

(retstr) = (returnstr(1))

}

probe syscall.ioctl = kernel.function("sys_ioctl"){

(name) = ("ioctl")

(fd) = ($fd)

(request) = ($cmd)

(argp) = ($arg)

(argstr) = (sprintf("%d, %d, %p", fd, request, argp))

}

probe syscall.ioctl.return = kernel.function("sys_ioctl").return{

(name) = ("ioctl")

(retstr) = (returnstr(1))

}

probe syscall.io_destroy = kernel.function("sys_io_destroy"){

(name) = ("io_destroy")

(ctx) = ($ctx)

(argstr) = (sprintf("%d", ctx))

}

probe syscall.io_destroy.return = kernel.function("sys_io_destroy").return{

(name) = ("io_destroy")

(retstr) = (returnstr(1))

}

probe syscall.io_getevents = kernel.function("sys_io_getevents"){

(name) = ("io_getevents")

(ctx_id) = ($ctx_id)

(min_nr) = ($min_nr)

(nr) = ($nr)

(events_uaddr) = ($events)

(timeout_uaddr) = ($timeout)

(timestr) = (_struct_timespec_u($timeout))
eout_uaddr, timestr))
}
probe syscall.io_getevents.return = kernel.function("sys_io_getevents").return{
(name) = ("io_getevents")
(retstr) = (returnstr(1))
}
probe syscall.ioperm = kernel.function("sys_ioperm")?{
(name) = ("ioperm")
(from) = ($from)
(num) = ($num)
(turn_on) = ($turn_on)
(argstr) = (sprintf("%d, %d, %d", $from, $num, $turn_on))
}
probe syscall.ioperm.return = kernel.function("sys_ioperm").return?{
(name) = ("ioperm")
(retstr) = (returnstr(1))
}
probe syscall.io_setup = kernel.function("sys_io_setup"){
(name) = ("io_setup")
(maxevents) = ($nr_events)
(ctxp_uaddr) = ($ctxp)
(argstr) = (sprintf("%d, %p", maxevents, ctxp_uaddr))
}
probe syscall.io_setup.return = kernel.function("sys_io_setup").return{
(name) = ("io_setup")
(retstr) = (returnstr(1))
}
probe syscall.io_submit = kernel.function("sys_io_submit"){
(name) = ("io_submit")
(ctx_id) = ($ctx_id)
(nr) = ($nr)
(iocbpp_uaddr) = ($iocbpp)
(argstr) = (sprintf("%d, %d, %p", ctx_id, nr, iocbpp_uaddr))
}
probe syscall.io_submit.return = kernel.function("sys_io_submit").return{
(name) = ("io_submit")
(retstr) = (returnstr(1))
}
probe syscall.ioprio_get = kernel.function("sys_ioprio_get")?{
(name) = ("ioprio_get")
(which) = ($which)
(who) = ($who)
(argstr) = (sprintf("%d, %d", $which, $who))
}
probe syscall.ioprio_get.return = kernel.function("sys_ioprio_get").return?{
(name) = ("ioprio_get")
(retstr) = (returnstr(1))
}
probe syscall.ioprio_set = kernel.function("sys_ioprio_set")?{
(name) = ("ioprio_set")
(which) = ($which)
(who) = ($who)
(ioprio) = ($ioprio)
(argstr) = (sprintf("%d, %d, %d", $which, $who, $ioprio))
}
probe syscall.ioprio_set.return = kernel.function("sys_ioprio_set").return?{
(name) = ("ioprio_set")
(retstr) = (returnstr(1))
}
probe syscall.kexec_load = kernel.function("sys_kexec_load")?{
(name) = ("kexec_load")
(entry) = ($entry)
(nr_segments) = ($nr_segments)
(segments_uaddr) = ($segments)
(flags) = ($flags)
(argstr) = (sprintf("%p, %d, %p, %d", $entry, $nr_segments, $segments, $flags))
}
probe syscall.kexec_load.return = kernel.function("sys_kexec_load").return?{
(name) = ("kexec_load")
(retstr) = (returnstr(1))
}
probe syscall.keyctl = kernel.function("sys_keyctl")?{
(name) = ("keyctl")
(option) = ($option)
(arg2) = ($arg2)
(arg3) = ($arg3)
(arg4) = ($arg4)
(arg5) = ($arg5)
(argstr) = (sprintf("%d", $option))
}
probe syscall.keyctl.return = kernel.function("sys_keyctl").return?{
(name) = ("keyctl")
(retstr) = (returnstr(1))
}
probe syscall.kill = kernel.function("sys_kill"){
(name) = ("kill")
(pid) = ($pid)
(sig) = ($sig)
(argstr) = (sprintf("%d, %s", $pid, _signal_name($sig)))
}
probe syscall.kill.return = kernel.function("sys_kill").return{
(name) = ("kill")
(retstr) = (returnstr(1))
}
probe syscall.lchown = kernel.function("sys_lchown"){
(name) = ("lchown")
(path) = (user_string($filename))
(owner) = ($user)
(group) = ($group)
(argstr) = (sprintf("%s, %d, %d", user_string_quoted($filename), owner, group))
}
probe syscall.lchown.return = kernel.function("sys_lchown").return{
(name) = ("lchown")
(retstr) = (returnstr(1))
}
probe syscall.lchown16 = kernel.function("sys_lchown16")?{
(name) = ("lchown16")
(path) = (user_string($filename))
(owner) = (__short($user))
(group) = (__short($group))
(argstr) = (sprintf("%s, %d, %d", user_string_quoted($filename), owner, group))
}
probe syscall.lchown16.return = kernel.function("sys_lchown16").return?{
(name) = ("lchown16")
(retstr) = (returnstr(1))
}
probe syscall.lgetxattr = kernel.function("sys_lgetxattr"){
(name) = ("lgetxattr")
(path) = (user_string($path))
(name2) = (user_string($name))
(value_uaddr) = ($value)
(size) = ($size)
(argstr) = (sprintf("%s, %s, %p, %d", user_string_quoted($path), user_string_quoted($name), value_uaddr, size))
}
probe syscall.lgetxattr.return = kernel.function("sys_lgetxattr").return{
(name) = ("lgetxattr")
(retstr) = (returnstr(1))
}
probe syscall.link = kernel.function("sys_link"){
(name) = ("link")
(oldpath) = (user_string($oldname))

(argstr) = (sprintf("%d, %d, %d, %p, %p, %s", ctx_id, min_nr, nr, events_uaddr, timeout_uaddr, timestr))

}

probe syscall.io_getevents.return = kernel.function("sys_io_getevents").return{

(name) = ("io_getevents")

(retstr) = (returnstr(1))

}

probe syscall.ioperm = kernel.function("sys_ioperm")?{

(name) = ("ioperm")

(from) = ($from)

(num) = ($num)

(turn_on) = ($turn_on)

(argstr) = (sprintf("%d, %d, %d", $from, $num, $turn_on))

}

probe syscall.ioperm.return = kernel.function("sys_ioperm").return?{

(name) = ("ioperm")

(retstr) = (returnstr(1))

}

probe syscall.io_setup = kernel.function("sys_io_setup"){

(name) = ("io_setup")

(maxevents) = ($nr_events)

(ctxp_uaddr) = ($ctxp)

(argstr) = (sprintf("%d, %p", maxevents, ctxp_uaddr))

}

probe syscall.io_setup.return = kernel.function("sys_io_setup").return{

(name) = ("io_setup")

(retstr) = (returnstr(1))

}

probe syscall.io_submit = kernel.function("sys_io_submit"){

(name) = ("io_submit")

(ctx_id) = ($ctx_id)

(nr) = ($nr)

(iocbpp_uaddr) = ($iocbpp)

(argstr) = (sprintf("%d, %d, %p", ctx_id, nr, iocbpp_uaddr))

}

probe syscall.io_submit.return = kernel.function("sys_io_submit").return{

(name) = ("io_submit")

(retstr) = (returnstr(1))

}

probe syscall.ioprio_get = kernel.function("sys_ioprio_get")?{

(name) = ("ioprio_get")

(which) = ($which)

(who) = ($who)

(argstr) = (sprintf("%d, %d", $which, $who))

}

probe syscall.ioprio_get.return = kernel.function("sys_ioprio_get").return?{

(name) = ("ioprio_get")

(retstr) = (returnstr(1))

}

probe syscall.ioprio_set = kernel.function("sys_ioprio_set")?{

(name) = ("ioprio_set")

(which) = ($which)

(who) = ($who)

(ioprio) = ($ioprio)

(argstr) = (sprintf("%d, %d, %d", $which, $who, $ioprio))

}

probe syscall.ioprio_set.return = kernel.function("sys_ioprio_set").return?{

(name) = ("ioprio_set")

(retstr) = (returnstr(1))

}

probe syscall.kexec_load = kernel.function("sys_kexec_load")?{

(name) = ("kexec_load")

(entry) = ($entry)

(nr_segments) = ($nr_segments)

(segments_uaddr) = ($segments)

(flags) = ($flags)

(argstr) = (sprintf("%p, %d, %p, %d", $entry, $nr_segments, $segments, $flags))

}

probe syscall.kexec_load.return = kernel.function("sys_kexec_load").return?{

(name) = ("kexec_load")

(retstr) = (returnstr(1))

}

probe syscall.keyctl = kernel.function("sys_keyctl")?{

(name) = ("keyctl")

(option) = ($option)

(arg2) = ($arg2)

(arg3) = ($arg3)

(arg4) = ($arg4)

(arg5) = ($arg5)

(argstr) = (sprintf("%d", $option))

}

probe syscall.keyctl.return = kernel.function("sys_keyctl").return?{

(name) = ("keyctl")

(retstr) = (returnstr(1))

}

probe syscall.kill = kernel.function("sys_kill"){

(name) = ("kill")

(pid) = ($pid)

(sig) = ($sig)

(argstr) = (sprintf("%d, %s", $pid, _signal_name($sig)))

}

probe syscall.kill.return = kernel.function("sys_kill").return{

(name) = ("kill")

(retstr) = (returnstr(1))

}

probe syscall.lchown = kernel.function("sys_lchown"){

(name) = ("lchown")

(path) = (user_string($filename))

(owner) = ($user)

(group) = ($group)

(argstr) = (sprintf("%s, %d, %d", user_string_quoted($filename), owner, group))

}

probe syscall.lchown.return = kernel.function("sys_lchown").return{

(name) = ("lchown")

(retstr) = (returnstr(1))

}

probe syscall.lchown16 = kernel.function("sys_lchown16")?{

(name) = ("lchown16")

(path) = (user_string($filename))

(owner) = (__short($user))

(group) = (__short($group))

(argstr) = (sprintf("%s, %d, %d", user_string_quoted($filename), owner, group))

}

probe syscall.lchown16.return = kernel.function("sys_lchown16").return?{

(name) = ("lchown16")

(retstr) = (returnstr(1))

}

probe syscall.lgetxattr = kernel.function("sys_lgetxattr"){

(name) = ("lgetxattr")

(path) = (user_string($path))

(name2) = (user_string($name))

(value_uaddr) = ($value)

(size) = ($size)

(argstr) = (sprintf("%s, %s, %p, %d", user_string_quoted($path), user_string_quoted($name), value_uaddr, size))

}

probe syscall.lgetxattr.return = kernel.function("sys_lgetxattr").return{

(name) = ("lgetxattr")

(retstr) = (returnstr(1))

}

probe syscall.link = kernel.function("sys_link"){

(name) = ("link")

(oldpath) = (user_string($oldname))
(newpath) = (user_string($newname))
(argstr) = (sprintf("%s, %s", user_string_quoted($oldname), user_string_quoted($newname)))
}
probe syscall.link.return = kernel.function("sys_link").return{
(name) = ("link")
(retstr) = (returnstr(1))
}
probe syscall.listen = kernel.function("sys_listen"){
(name) = ("listen")
(sockfd) = ($fd)
(backlog) = ($backlog)
(argstr) = (sprintf("%d, %d", $fd, $backlog))
}
probe syscall.listen.return = kernel.function("sys_listen").return{
(name) = ("listen")
(retstr) = (returnstr(1))
}
probe syscall.listxattr = kernel.function("sys_listxattr"){
(name) = ("listxattr")
(path_uaddr) = ($path)
(path) = (user_string($path))
(list_uaddr) = ($list)
(size) = ($size)
(argstr) = (sprintf("%s, %p, %d", user_string_quoted($path), $list, $size))
}
probe syscall.listxattr.return = kernel.function("sys_listxattr").return{
(name) = ("listxattr")
(retstr) = (returnstr(1))
}
probe syscall.llistxattr = kernel.function("sys_llistxattr"){
(name) = ("llistxattr")
(path_uaddr) = ($path)
(path) = (user_string($path))
(list_uaddr) = ($list)
(size) = ($size)
(argstr) = (sprintf("%s, %p, %d", user_string_quoted($path), $list, $size))
}
probe syscall.llistxattr.return = kernel.function("sys_llistxattr").return{
(name) = ("llistxattr")
(retstr) = (returnstr(1))
}
probe syscall.llseek = kernel.function("sys_llseek"){
(name) = ("llseek")
(fd) = ($fd)
(offset_high) = ($offset_high)
(offset_low) = ($offset_low)
(result_uaddr) = ($result)
(whence) = ($origin)
(whence_str) = (_seek_whence_str($origin))
(argstr) = (sprintf("%d, 0x%x, 0x%x, %p, %s", $fd, $offset_high, $offset_low, $result, whence_str))
}
probe syscall.llseek.return = kernel.function("sys_llseek").return{
(name) = ("llseek")
(retstr) = (returnstr(1))
}
probe syscall.lookup_dcookie = kernel.function("sys_lookup_dcookie"){
(name) = ("lookup_dcookie")
(cookie) = ($cookie64)
(buffer_uaddr) = ($buf)
(len) = ($len)
(argstr) = (sprintf("%d, %p, %d", $cookie64, $buf, $len))
}
probe syscall.lookup_dcookie.return = kernel.function("sys_lookup_dcookie").return{
(name) = ("lookup_dcookie")
(retstr) = (returnstr(1))
}
probe syscall.lremovexattr = kernel.function("sys_lremovexattr"){
(name) = ("lremovexattr")
(path_uaddr) = ($path)
(path) = (user_string($path))
(name_uaddr) = ($name)
(name2) = (user_string($name))
(argstr) = (sprintf("%s, %s", user_string_quoted($path), user_string_quoted($name)))
}
probe syscall.lremovexattr.return = kernel.function("sys_lremovexattr").return{
(name) = ("lremovexattr")
(retstr) = (returnstr(1))
}
probe syscall.lseek = kernel.function("sys_lseek"){
(name) = ("lseek")
(fildes) = ($fd)
(offset) = ($offset)
(whence) = ($origin)
(whence_str) = (_seek_whence_str($origin))
(argstr) = (sprintf("%d, %d, %s", $fd, $offset, whence_str))
}
probe syscall.lseek.return = kernel.function("sys_lseek").return{
(name) = ("lseek")
(retstr) = (returnstr(1))
}
probe syscall.lsetxattr = kernel.function("sys_lsetxattr"){
(name) = ("lsetxattr")
(path_uaddr) = ($path)
(path) = (user_string($path))
(name_uaddr) = ($name)
(name_str) = (user_string($name))
(value_uaddr) = ($value)
(size) = ($size)
(flags) = ($flags)
(argstr) = (sprintf("%s, %s, %p, %d, %d", user_string_quoted($path), user_string_quoted($name), value_uaddr, $size, $flags))
}
probe syscall.lsetxattr.return = kernel.function("sys_lsetxattr").return{
(name) = ("lsetxattr")
(retstr) = (returnstr(1))
}
probe syscall.lstat = kernel.function("sys_lstat")?, kernel.function("sys_newlstat")?, kernel.function("compat_sys_newlstat")?, kernel.function("sys32_lstat64")?{
(name) = ("lstat")
(file_name) = (user_string($filename))
(buf_uaddr) = ($statbuf)
(argstr) = (sprintf("%s, %p", user_string_quoted($filename), $statbuf))
}
probe syscall.lstat.return = kernel.function("sys_lstat").return?, kernel.function("sys_newlstat").return?, kernel.function("compat_sys_newlstat").return?, kernel.function("sys32_lstat64").return?{
(name) = ("lstat")
(retstr) = (returnstr(1))
}
probe syscall.madvise = kernel.function("sy
(newpath) = (user_string($newname))

(argstr) = (sprintf("%s, %s", user_string_quoted($oldname), user_string_quoted($newname)))

}

probe syscall.link.return = kernel.function("sys_link").return{

(name) = ("link")

(retstr) = (returnstr(1))

}

probe syscall.listen = kernel.function("sys_listen"){

(name) = ("listen")

(sockfd) = ($fd)

(backlog) = ($backlog)

(argstr) = (sprintf("%d, %d", $fd, $backlog))

}

probe syscall.listen.return = kernel.function("sys_listen").return{

(name) = ("listen")

(retstr) = (returnstr(1))

}

probe syscall.listxattr = kernel.function("sys_listxattr"){

(name) = ("listxattr")

(path_uaddr) = ($path)

(path) = (user_string($path))

(list_uaddr) = ($list)

(size) = ($size)

(argstr) = (sprintf("%s, %p, %d", user_string_quoted($path), $list, $size))

}

probe syscall.listxattr.return = kernel.function("sys_listxattr").return{

(name) = ("listxattr")

(retstr) = (returnstr(1))

}

probe syscall.llistxattr = kernel.function("sys_llistxattr"){

(name) = ("llistxattr")

(path_uaddr) = ($path)

(path) = (user_string($path))

(list_uaddr) = ($list)

(size) = ($size)

(argstr) = (sprintf("%s, %p, %d", user_string_quoted($path), $list, $size))

}

probe syscall.llistxattr.return = kernel.function("sys_llistxattr").return{

(name) = ("llistxattr")

(retstr) = (returnstr(1))

}

probe syscall.llseek = kernel.function("sys_llseek"){

(name) = ("llseek")

(fd) = ($fd)

(offset_high) = ($offset_high)

(offset_low) = ($offset_low)

(result_uaddr) = ($result)

(whence) = ($origin)

(whence_str) = (_seek_whence_str($origin))

(argstr) = (sprintf("%d, 0x%x, 0x%x, %p, %s", $fd, $offset_high, $offset_low, $result, whence_str))

}

probe syscall.llseek.return = kernel.function("sys_llseek").return{

(name) = ("llseek")

(retstr) = (returnstr(1))

}

probe syscall.lookup_dcookie = kernel.function("sys_lookup_dcookie"){

(name) = ("lookup_dcookie")

(cookie) = ($cookie64)

(buffer_uaddr) = ($buf)

(len) = ($len)

(argstr) = (sprintf("%d, %p, %d", $cookie64, $buf, $len))

}

probe syscall.lookup_dcookie.return = kernel.function("sys_lookup_dcookie").return{

(name) = ("lookup_dcookie")

(retstr) = (returnstr(1))

}

probe syscall.lremovexattr = kernel.function("sys_lremovexattr"){

(name) = ("lremovexattr")

(path_uaddr) = ($path)

(path) = (user_string($path))

(name_uaddr) = ($name)

(name2) = (user_string($name))

(argstr) = (sprintf("%s, %s", user_string_quoted($path), user_string_quoted($name)))

}

probe syscall.lremovexattr.return = kernel.function("sys_lremovexattr").return{

(name) = ("lremovexattr")

(retstr) = (returnstr(1))

}

probe syscall.lseek = kernel.function("sys_lseek"){

(name) = ("lseek")

(fildes) = ($fd)

(offset) = ($offset)

(whence) = ($origin)

(whence_str) = (_seek_whence_str($origin))

(argstr) = (sprintf("%d, %d, %s", $fd, $offset, whence_str))

}

probe syscall.lseek.return = kernel.function("sys_lseek").return{

(name) = ("lseek")

(retstr) = (returnstr(1))

}

probe syscall.lsetxattr = kernel.function("sys_lsetxattr"){

(name) = ("lsetxattr")

(path_uaddr) = ($path)

(path) = (user_string($path))

(name_uaddr) = ($name)

(name_str) = (user_string($name))

(value_uaddr) = ($value)

(size) = ($size)

(flags) = ($flags)

(argstr) = (sprintf("%s, %s, %p, %d, %d", user_string_quoted($path), user_string_quoted($name), value_uaddr, $size, $flags))

}

probe syscall.lsetxattr.return = kernel.function("sys_lsetxattr").return{

(name) = ("lsetxattr")

(retstr) = (returnstr(1))

}

probe syscall.lstat = kernel.function("sys_lstat")?, kernel.function("sys_newlstat")?, kernel.function("compat_sys_newlstat")?, kernel.function("sys32_lstat64")?{

(name) = ("lstat")

(file_name) = (user_string($filename))

(buf_uaddr) = ($statbuf)

(argstr) = (sprintf("%s, %p", user_string_quoted($filename), $statbuf))

}

probe syscall.lstat.return = kernel.function("sys_lstat").return?, kernel.function("sys_newlstat").return?, kernel.function("compat_sys_newlstat").return?, kernel.function("sys32_lstat64").return?{

(name) = ("lstat")

(retstr) = (returnstr(1))

}
s_madvise"){
(name) = ("madvise")
(start) = ($start)
(length) = ($len_in)
(advice) = ($behavior)
(advice_str) = (_madvice_advice_str($behavior))
(argstr) = (sprintf("%p, %d, %s", $start, $len_in, _madvice_advice_str($behavior)))
}
probe syscall.madvise.return = kernel.function("sys_madvise").return{
(name) = ("madvise")
(retstr) = (returnstr(1))
}
probe syscall.mbind = kernel.function("sys_mbind")?{
(name) = ("mbind")
(start) = ($start)
(len) = ($len)
(mode) = ($mode)
(nmask_uaddr) = ($nmask)
(maxnode) = ($maxnode)
(flags) = ($flags)
(argstr) = (sprintf("%d, %d, %d, %p, %d, %d", $start, $len, $mode, nmask_uaddr, $maxnode, $flags))
}
probe syscall.mbind.return = kernel.function("sys_mbind").return?{
(name) = ("mbind")
(retstr) = (returnstr(1))
}
probe syscall.mincore = kernel.function("sys_mincore"){
(name) = ("mincore")
(start) = ($start)
(length) = ($len)
(vec_uaddr) = ($vec)
(argstr) = (sprintf("%p, %d, %p", $start, $len, $vec))
}
probe syscall.mincore.return = kernel.function("sys_mincore").return{
(name) = ("mincore")
(retstr) = (returnstr(1))
}
probe syscall.mkdir = kernel.function("sys_mkdir"){
(name) = ("mkdir")
(pathname_uaddr) = ($pathname)
(pathname) = (user_string($pathname))
(mode) = ($mode)
(argstr) = (sprintf("%s, %#o", user_string_quoted($pathname), $mode))
}
probe syscall.mkdir.return = kernel.function("sys_mkdir").return{
(name) = ("mkdir")
(retstr) = (returnstr(1))
}
probe syscall.mkdirat = kernel.function("sys_mkdirat")?{
(name) = ("mkdirat")
(dirfd) = ($dfd)
(pathname) = (user_string($pathname))
(mode) = ($mode)
(argstr) = (sprintf("%d, %s, %#o", $dfd, user_string_quoted($pathname), $mode))
}
probe syscall.mkdirat.return = kernel.function("sys_mkdirat").return?{
(name) = ("mkdirat")
(retstr) = (returnstr(1))
}
probe syscall.mknod = kernel.function("sys_mknod"){
(name) = ("mknod")
(pathname) = (user_string($filename))
(mode) = ($mode)
(dev) = ($dev)
(argstr) = (sprintf("%s, %s, %p", user_string_quoted($filename), _mknod_mode_str($mode), dev))
}
probe syscall.mknod.return = kernel.function("sys_mknod").return{
(name) = ("mknod")
(retstr) = (returnstr(1))
}
probe syscall.mlock = kernel.function("sys_mlock"){
(name) = ("mlock")
(addr) = ($start)
(len) = ($len)
(argstr) = (sprintf("0x%p, %d", addr, len))
}
probe syscall.mlock.return = kernel.function("sys_mlock").return{
(name) = ("mlock")
(retstr) = (returnstr(1))
}
probe syscall.mlockall = kernel.function("sys_mlockall"){
(name) = ("mlockall")
(flags) = ($flags)
(flags_str) = (_mlockall_flags_str($flags))
(argstr) = (flags_str)
}
probe syscall.mlockall.return = kernel.function("sys_mlockall").return{
(name) = ("mlockall")
(retstr) = (returnstr(1))
}
probe syscall.mmap = kernel.function("sys_mmap")?{
(name) = ("mmap")
(start) = ($addr)
(len) = ($len)
(prot) = ($prot)
(flags) = ($flags)
(fd) = ($fd)
(offset) = ($off)
(argstr) = (sprintf("%p, %d, %s, %s, %d, %d", $addr, $len, _mprotect_prot_str($prot), _mmap_flags($flags), $fd, offset))
}
probe syscall.mmap.return = kernel.function("sys_mmap").return?{
(name) = ("mmap")
(retstr) = (returnstr(2))
}
probe syscall.mmap2 = kernel.function("sys_mmap2")?, kernel.function("sys32_mmap2")?{
(name) = ("mmap2")
(start) = ($addr)
(length) = ($len)
(prot) = ($prot)
(flags) = ($flags)
(fd) = ($fd)
(pgoffset) = ($pgoff)
(argstr) = (sprintf("%p, %d, %s, %s, %d, %d", $addr, $len, _mprotect_prot_str($prot), _mmap_flags($flags), $fd, $pgoff))
}
probe syscall.mmap2.return = kernel.function("sys_mmap2").return?, kernel.function("sys32_mmap2").return?{
(name) = ("mmap2")
(retstr) = (returnstr(2))
}
probe syscall.modify_ldt = kernel.function("sys_modify_ldt")?{
(name) = ("modify_ldt")
(func) = ($func)
(ptr_uaddr) = ($ptr)
(bytecount) = ($bytecount)
(argstr) = (sprintf("%d, %p, %d", $func, $ptr, $bytecount))
}
probe syscall.modify_ldt.return = kernel.function("sys_modify_ldt").return?{
(name) = ("modify_ldt")
(retstr) = (returnstr(1))
}
probe syscall.mount = kernel.function("sys_mount"), kernel.function
probe syscall.madvise = kernel.function("sys_madvise"){

(name) = ("madvise")

(start) = ($start)

(length) = ($len_in)

(advice) = ($behavior)

(advice_str) = (_madvice_advice_str($behavior))

(argstr) = (sprintf("%p, %d, %s", $start, $len_in, _madvice_advice_str($behavior)))

}

probe syscall.madvise.return = kernel.function("sys_madvise").return{

(name) = ("madvise")

(retstr) = (returnstr(1))

}

probe syscall.mbind = kernel.function("sys_mbind")?{

(name) = ("mbind")

(start) = ($start)

(len) = ($len)

(mode) = ($mode)

(nmask_uaddr) = ($nmask)

(maxnode) = ($maxnode)

(flags) = ($flags)

(argstr) = (sprintf("%d, %d, %d, %p, %d, %d", $start, $len, $mode, nmask_uaddr, $maxnode, $flags))

}

probe syscall.mbind.return = kernel.function("sys_mbind").return?{

(name) = ("mbind")

(retstr) = (returnstr(1))

}

probe syscall.mincore = kernel.function("sys_mincore"){

(name) = ("mincore")

(start) = ($start)

(length) = ($len)

(vec_uaddr) = ($vec)

(argstr) = (sprintf("%p, %d, %p", $start, $len, $vec))

}

probe syscall.mincore.return = kernel.function("sys_mincore").return{

(name) = ("mincore")

(retstr) = (returnstr(1))

}

probe syscall.mkdir = kernel.function("sys_mkdir"){

(name) = ("mkdir")

(pathname_uaddr) = ($pathname)

(pathname) = (user_string($pathname))

(mode) = ($mode)

(argstr) = (sprintf("%s, %#o", user_string_quoted($pathname), $mode))

}

probe syscall.mkdir.return = kernel.function("sys_mkdir").return{

(name) = ("mkdir")

(retstr) = (returnstr(1))

}

probe syscall.mkdirat = kernel.function("sys_mkdirat")?{

(name) = ("mkdirat")

(dirfd) = ($dfd)

(pathname) = (user_string($pathname))

(mode) = ($mode)

(argstr) = (sprintf("%d, %s, %#o", $dfd, user_string_quoted($pathname), $mode))

}

probe syscall.mkdirat.return = kernel.function("sys_mkdirat").return?{

(name) = ("mkdirat")

(retstr) = (returnstr(1))

}

probe syscall.mknod = kernel.function("sys_mknod"){

(name) = ("mknod")

(pathname) = (user_string($filename))

(mode) = ($mode)

(dev) = ($dev)

(argstr) = (sprintf("%s, %s, %p", user_string_quoted($filename), _mknod_mode_str($mode), dev))

}

probe syscall.mknod.return = kernel.function("sys_mknod").return{

(name) = ("mknod")

(retstr) = (returnstr(1))

}

probe syscall.mlock = kernel.function("sys_mlock"){

(name) = ("mlock")

(addr) = ($start)

(len) = ($len)

(argstr) = (sprintf("0x%p, %d", addr, len))

}

probe syscall.mlock.return = kernel.function("sys_mlock").return{

(name) = ("mlock")

(retstr) = (returnstr(1))

}

probe syscall.mlockall = kernel.function("sys_mlockall"){

(name) = ("mlockall")

(flags) = ($flags)

(flags_str) = (_mlockall_flags_str($flags))

(argstr) = (flags_str)

}

probe syscall.mlockall.return = kernel.function("sys_mlockall").return{

(name) = ("mlockall")

(retstr) = (returnstr(1))

}

probe syscall.mmap = kernel.function("sys_mmap")?{

(name) = ("mmap")

(start) = ($addr)

(len) = ($len)

(prot) = ($prot)

(flags) = ($flags)

(fd) = ($fd)

(offset) = ($off)

(argstr) = (sprintf("%p, %d, %s, %s, %d, %d", $addr, $len, _mprotect_prot_str($prot), _mmap_flags($flags), $fd, offset))

}

probe syscall.mmap.return = kernel.function("sys_mmap").return?{

(name) = ("mmap")

(retstr) = (returnstr(2))

}

probe syscall.mmap2 = kernel.function("sys_mmap2")?, kernel.function("sys32_mmap2")?{

(name) = ("mmap2")

(start) = ($addr)

(length) = ($len)

(prot) = ($prot)

(flags) = ($flags)

(fd) = ($fd)

(pgoffset) = ($pgoff)

(argstr) = (sprintf("%p, %d, %s, %s, %d, %d", $addr, $len, _mprotect_prot_str($prot), _mmap_flags($flags), $fd, $pgoff))

}

probe syscall.mmap2.return = kernel.function("sys_mmap2").return?, kernel.function("sys32_mmap2").return?{

(name) = ("mmap2")

(retstr) = (returnstr(2))

}

probe syscall.modify_ldt = kernel.function("sys_modify_ldt")?{

(name) = ("modify_ldt")

(func) = ($func)

(ptr_uaddr) = ($ptr)

(bytecount) = ($bytecount)

(argstr) = (sprintf("%d, %p, %d", $func, $ptr, $bytecount))

}

probe syscall.modify_ldt.return = kernel.function("sys_modify_ldt").return?{

(name) = ("modify_ldt")

(retstr) = (returnstr(1))

}
("compat_sys_mount")?{
(name) = ("mount")
(source) = (user_string($dev_name))
(target) = (user_string($dir_name))
(filesystemtype) = (user_string($type))
(mountflags) = ($flags)
(mountflags_str) = (_mountflags_str($flags))
(data) = (text_strn(user_string($data), 30, 1))
(argstr) = (sprintf("%s, %s, %s, %s, %s", user_string_quoted($dev_name), user_string_quoted($dir_name), user_string_quoted($type), mountflags_str, data))
}
probe syscall.mount.return = kernel.function("sys_mount").return, kernel.function("compat_sys_mount").return?{
(name) = ("mount")
(retstr) = (returnstr(1))
}
probe syscall.mprotect = kernel.function("sys_mprotect"){
(name) = ("mprotect")
(addr) = ($start)
(len) = ($len)
(prot) = ($prot)
(prot_str) = (_mprotect_prot_str($prot))
(argstr) = (sprintf("%p, %d, %s", $start, $len, _mprotect_prot_str($prot)))
}
probe syscall.mprotect.return = kernel.function("sys_mprotect").return{
(name) = ("mprotect")
(retstr) = (returnstr(1))
}
probe syscall.mq_getsetattr = kernel.function("sys_mq_getsetattr"){
(name) = ("mq_getsetattr")
(mqdes) = ($mqdes)
(u_mqstat_uaddr) = ($u_mqstat)
(u_omqstat_uaddr) = ($u_omqstat)
(argstr) = (sprintf("%d, %p, %p", $mqdes, $u_mqstat, $u_omqstat))
}
probe syscall.mq_getsetattr.return = kernel.function("sys_mq_getsetattr").return{
(name) = ("mq_getsetattr")
(retstr) = (returnstr(1))
}
probe syscall.mq_notify = kernel.function("sys_mq_notify"){
(name) = ("mq_notify")
(mqdes) = ($mqdes)
(notification_uaddr) = ($u_notification)
(argstr) = (sprintf("%d, %p", $mqdes, $u_notification))
}
probe syscall.mq_notify.return = kernel.function("sys_mq_notify").return{
(name) = ("mq_notify")
(retstr) = (returnstr(1))
}
probe syscall.mq_open = kernel.function("sys_mq_open"){
(name) = ("mq_open")
(name_uaddr) = ($u_name)
(filename) = (user_string($u_name))
(mode) = ($mode)
(u_attr_uaddr) = ($u_attr)
(oflag) = ($oflag)
if ((oflag) & (64)) (argstr) = (sprintf("%s, %s, %#o, %p", user_string_quoted($u_name), _sys_open_flag_str(oflag), $mode, $u_attr))
else (argstr) = (sprintf("%s, %s", user_string_quoted($u_name), _sys_open_flag_str(oflag)))

}
probe syscall.mq_open.return = kernel.function("sys_mq_open").return{
(name) = ("mq_open")
(retstr) = (returnstr(1))
}
probe syscall.mq_timedreceive = kernel.function("sys_mq_timedreceive"){
(name) = ("mq_timedreceive")
(mqdes) = ($mqdes)
(msg_ptr_uaddr) = ($u_msg_ptr)
(msg_len) = ($msg_len)
(msg_prio_uaddr) = ($u_msg_prio)
(abs_timout_uaddr) = ($u_abs_timeout)
(argstr) = (sprintf("%d, %p, %d, %p, %p", $mqdes, $u_msg_ptr, $msg_len, $u_msg_prio, $u_abs_timeout))
}
probe syscall.mq_timedreceive.return = kernel.function("sys_mq_timedreceive").return{
(name) = ("mq_timedreceive")
(retstr) = (returnstr(1))
}
probe syscall.mq_timedsend = kernel.function("sys_mq_timedsend"){
(name) = ("mq_timedsend")
(mqdes) = ($mqdes)
(msg_ptr_uaddr) = ($u_msg_ptr)
(msg_len) = ($msg_len)
(msg_prio) = ($msg_prio)
(abs_timeout_uaddr) = ($u_abs_timeout)
(argstr) = (sprintf("%d, %p, %d, %d, %p", $mqdes, $u_msg_ptr, $msg_len, $msg_prio, $u_abs_timeout))
}
probe syscall.mq_timedsend.return = kernel.function("sys_mq_timedsend").return{
(name) = ("mq_timedsend")
(retstr) = (returnstr(1))
}
probe syscall.mq_unlink = kernel.function("sys_mq_unlink"){
(name) = ("mq_unlink")
(u_name_uaddr) = ($u_name)
(u_name) = (user_string($u_name))
(argstr) = (user_string_quoted($u_name))
}
probe syscall.mq_unlink.return = kernel.function("sys_mq_unlink").return{
(name) = ("mq_unlink")
(retstr) = (returnstr(1))
}
probe syscall.mremap = kernel.function("sys_mremap"){
(name) = ("mremap")
(old_address) = ($addr)
(old_size) = ($old_len)
(new_size) = ($new_len)
(flags) = ($flags)
(new_address) = ($new_addr)
(argstr) = (sprintf("%p, %d, %d, %s, %p", $addr, $old_len, $new_len, _mmap_flags($flags), $new_addr))
}
probe syscall.mremap.return = kernel.function("sys_mremap").return{
(name) = ("mremap")
(retstr) = (returnstr(2))
}
probe syscall.msgctl = kernel.function("sys_msgctl"){
(name) = ("msgctl")
(msqid) = ($ms
probe syscall.mount = kernel.function("sys_mount"), kernel.function("compat_sys_mount")?{

(name) = ("mount")

(source) = (user_string($dev_name))

(target) = (user_string($dir_name))

(filesystemtype) = (user_string($type))

(mountflags) = ($flags)

(mountflags_str) = (_mountflags_str($flags))

(data) = (text_strn(user_string($data), 30, 1))

(argstr) = (sprintf("%s, %s, %s, %s, %s", user_string_quoted($dev_name), user_string_quoted($dir_name), user_string_quoted($type), mountflags_str, data))

}

probe syscall.mount.return = kernel.function("sys_mount").return, kernel.function("compat_sys_mount").return?{

(name) = ("mount")

(retstr) = (returnstr(1))

}

probe syscall.mprotect = kernel.function("sys_mprotect"){

(name) = ("mprotect")

(addr) = ($start)

(len) = ($len)

(prot) = ($prot)

(prot_str) = (_mprotect_prot_str($prot))

(argstr) = (sprintf("%p, %d, %s", $start, $len, _mprotect_prot_str($prot)))

}

probe syscall.mprotect.return = kernel.function("sys_mprotect").return{

(name) = ("mprotect")

(retstr) = (returnstr(1))

}

probe syscall.mq_getsetattr = kernel.function("sys_mq_getsetattr"){

(name) = ("mq_getsetattr")

(mqdes) = ($mqdes)

(u_mqstat_uaddr) = ($u_mqstat)

(u_omqstat_uaddr) = ($u_omqstat)

(argstr) = (sprintf("%d, %p, %p", $mqdes, $u_mqstat, $u_omqstat))

}

probe syscall.mq_getsetattr.return = kernel.function("sys_mq_getsetattr").return{

(name) = ("mq_getsetattr")

(retstr) = (returnstr(1))

}

probe syscall.mq_notify = kernel.function("sys_mq_notify"){

(name) = ("mq_notify")

(mqdes) = ($mqdes)

(notification_uaddr) = ($u_notification)

(argstr) = (sprintf("%d, %p", $mqdes, $u_notification))

}

probe syscall.mq_notify.return = kernel.function("sys_mq_notify").return{

(name) = ("mq_notify")

(retstr) = (returnstr(1))

}

probe syscall.mq_open = kernel.function("sys_mq_open"){

(name) = ("mq_open")

(name_uaddr) = ($u_name)

(filename) = (user_string($u_name))

(mode) = ($mode)

(u_attr_uaddr) = ($u_attr)

(oflag) = ($oflag)

if ((oflag) & (64)) (argstr) = (sprintf("%s, %s, %#o, %p", user_string_quoted($u_name), _sys_open_flag_str(oflag), $mode, $u_attr))

else (argstr) = (sprintf("%s, %s", user_string_quoted($u_name), _sys_open_flag_str(oflag)))



}

probe syscall.mq_open.return = kernel.function("sys_mq_open").return{

(name) = ("mq_open")

(retstr) = (returnstr(1))

}

probe syscall.mq_timedreceive = kernel.function("sys_mq_timedreceive"){

(name) = ("mq_timedreceive")

(mqdes) = ($mqdes)

(msg_ptr_uaddr) = ($u_msg_ptr)

(msg_len) = ($msg_len)

(msg_prio_uaddr) = ($u_msg_prio)

(abs_timout_uaddr) = ($u_abs_timeout)

(argstr) = (sprintf("%d, %p, %d, %p, %p", $mqdes, $u_msg_ptr, $msg_len, $u_msg_prio, $u_abs_timeout))

}

probe syscall.mq_timedreceive.return = kernel.function("sys_mq_timedreceive").return{

(name) = ("mq_timedreceive")

(retstr) = (returnstr(1))

}

probe syscall.mq_timedsend = kernel.function("sys_mq_timedsend"){

(name) = ("mq_timedsend")

(mqdes) = ($mqdes)

(msg_ptr_uaddr) = ($u_msg_ptr)

(msg_len) = ($msg_len)

(msg_prio) = ($msg_prio)

(abs_timeout_uaddr) = ($u_abs_timeout)

(argstr) = (sprintf("%d, %p, %d, %d, %p", $mqdes, $u_msg_ptr, $msg_len, $msg_prio, $u_abs_timeout))

}

probe syscall.mq_timedsend.return = kernel.function("sys_mq_timedsend").return{

(name) = ("mq_timedsend")

(retstr) = (returnstr(1))

}

probe syscall.mq_unlink = kernel.function("sys_mq_unlink"){

(name) = ("mq_unlink")

(u_name_uaddr) = ($u_name)

(u_name) = (user_string($u_name))

(argstr) = (user_string_quoted($u_name))

}

probe syscall.mq_unlink.return = kernel.function("sys_mq_unlink").return{

(name) = ("mq_unlink")

(retstr) = (returnstr(1))

}

probe syscall.mremap = kernel.function("sys_mremap"){

(name) = ("mremap")

(old_address) = ($addr)

(old_size) = ($old_len)

(new_size) = ($new_len)

(flags) = ($flags)

(new_address) = ($new_addr)

(argstr) = (sprintf("%p, %d, %d, %s, %p", $addr, $old_len, $new_len, _mmap_flags($flags), $new_addr))

}

probe syscall.mremap.return = kernel.function("sys_mremap").return{

(name) = ("mremap")

(retstr) = (returnstr(2))

}

probe syscall.msgctl = kernel.function("sys_msgctl"){

(name) = ("msgctl")
qid)
(cmd) = ($cmd)
(buf_uaddr) = ($buf)
(argstr) = (sprintf("%d, %d, %p", $msqid, $cmd, $buf))
}
probe syscall.msgctl.return = kernel.function("sys_msgctl").return{
(name) = ("msgctl")
(retstr) = (returnstr(1))
}
probe syscall.msgget = kernel.function("sys_msgget"){
(name) = ("msgget")
(key) = ($key)
(msgflg) = ($msgflg)
(msgflg_str) = (_sys_open_flag_str($msgflg))
(argstr) = (sprintf("%d, %s", $key, _sys_open_flag_str($msgflg)))
}
probe syscall.msgget.return = kernel.function("sys_msgget").return{
(name) = ("msgget")
(retstr) = (returnstr(1))
}
probe syscall.msgrcv = kernel.function("sys_msgrcv"){
(name) = ("msgrcv")
(msqid) = ($msqid)
(msgp_uaddr) = ($msgp)
(msgsz) = ($msgsz)
(msgtyp) = ($msgtyp)
(msgflg) = ($msgflg)
(argstr) = (sprintf("%d, %p, %d, %d, %d", $msqid, $msgp, $msgsz, $msgtyp, $msgflg))
}
probe syscall.msgrcv.return = kernel.function("sys_msgrcv").return{
(name) = ("msgrcv")
(retstr) = (returnstr(1))
}
probe syscall.msgsnd = kernel.function("sys_msgsnd"){
(name) = ("msgsnd")
(msqid) = ($msqid)
(msgp_uaddr) = ($msgp)
(msgsz) = ($msgsz)
(msgflg) = ($msgflg)
(argstr) = (sprintf("%d, %p, %d, %d", $msqid, $msgp, $msgsz, $msgflg))
}
probe syscall.msgsnd.return = kernel.function("sys_msgsnd").return{
(name) = ("msgsnd")
(retstr) = (returnstr(1))
}
probe syscall.msync = kernel.function("sys_msync"){
(name) = ("msync")
(start) = ($start)
(length) = ($len)
(flags) = ($flags)
(argstr) = (sprintf("%p, %d, %s", start, length, _msync_flag_str(flags)))
}
probe syscall.msync.return = kernel.function("sys_msync").return{
(name) = ("msync.return")
(retstr) = (returnstr(1))
}
probe syscall.munlock = kernel.function("sys_munlock"){
(name) = ("munlock")
(addr) = ($start)
(len) = ($len)
(argstr) = (sprintf("%p, %d", addr, len))
}
probe syscall.munlock.return = kernel.function("sys_munlock").return{
(name) = ("munlock")
(retstr) = (returnstr(1))
}
probe syscall.munlockall = kernel.function("sys_munlockall"){
(name) = ("munlockall")
}
probe syscall.munlockall.return = kernel.function("sys_munlockall").return{
(name) = ("munlockall")
(retstr) = (returnstr(1))
}
probe syscall.munmap = kernel.function("sys_munmap"){
(name) = ("munmap")
(start) = ($addr)
(length) = ($len)
(argstr) = (sprintf("%p, %d", start, length))
}
probe syscall.munmap.return = kernel.function("sys_munmap").return{
(name) = ("munmap")
(retstr) = (returnstr(1))
}

# file /usr/local/share/systemtap/tapset/syscalls2.stp
probe syscall.nanosleep = kernel.function("sys_nanosleep"){
(name) = ("nanosleep")
(req_uaddr) = ($rqtp)
(rem_uaddr) = ($rmtp)
(argstr) = (sprintf("%s, %p", _struct_timespec_u($rqtp), $rmtp))
}
probe syscall.nanosleep.return = kernel.function("sys_nanosleep").return{
(name) = ("nanosleep")
(retstr) = (returnstr(1))
}
probe syscall.compat_nanosleep = kernel.function("compat_sys_nanosleep")?{
(name) = ("nanosleep")
(req_uaddr) = ($rqtp)
(rem_uaddr) = ($rmtp)
(argstr) = (sprintf("%s, %p", _struct_compat_timespec_u($rqtp), $rmtp))
}
probe syscall.compat_nanosleep.return = kernel.function("compat_sys_nanosleep").return?{
(name) = ("nanosleep")
(retstr) = (returnstr(1))
}
probe syscall.nfsservctl = kernel.function("sys_nfsservctl"){
(name) = ("nfsservctl")
(cmd) = ($cmd)
(argp_uaddr) = ($arg)
(resp_uaddr) = ($res)
(argstr) = (sprintf("%p, %p, %p", cmd, argp_uaddr, resp_uaddr))
}
probe syscall.nfsservctl.return = kernel.function("sys_nfsservctl").return{
(name) = ("nfsservctl")
(retstr) = (returnstr(1))
}
probe syscall.nice = kernel.function("sys_nice"){
(name) = ("nice")
(inc) = ($increment)
(argstr) = (sprintf("%d", $increment))
}
probe syscall.nice.return = kernel.function("sys_nice").return{
(name) = ("nice")
(retstr) = (returnstr(1))
}
probe syscall.ni_syscall = kernel.function("sys_ni_syscall"){
(name) = ("ni_syscall")
(argstr) = ("")
}
probe syscall.ni_syscall.return = kernel.function("sys_ni_syscall").return{
(name) = ("ni_syscall")
(retstr) = (returnstr(1))
}
probe syscall.old_getrlimit = kernel.function("sys_old_ge
(msqid) = ($msqid)

(cmd) = ($cmd)

(buf_uaddr) = ($buf)

(argstr) = (sprintf("%d, %d, %p", $msqid, $cmd, $buf))

}

probe syscall.msgctl.return = kernel.function("sys_msgctl").return{

(name) = ("msgctl")

(retstr) = (returnstr(1))

}

probe syscall.msgget = kernel.function("sys_msgget"){

(name) = ("msgget")

(key) = ($key)

(msgflg) = ($msgflg)

(msgflg_str) = (_sys_open_flag_str($msgflg))

(argstr) = (sprintf("%d, %s", $key, _sys_open_flag_str($msgflg)))

}

probe syscall.msgget.return = kernel.function("sys_msgget").return{

(name) = ("msgget")

(retstr) = (returnstr(1))

}

probe syscall.msgrcv = kernel.function("sys_msgrcv"){

(name) = ("msgrcv")

(msqid) = ($msqid)

(msgp_uaddr) = ($msgp)

(msgsz) = ($msgsz)

(msgtyp) = ($msgtyp)

(msgflg) = ($msgflg)

(argstr) = (sprintf("%d, %p, %d, %d, %d", $msqid, $msgp, $msgsz, $msgtyp, $msgflg))

}

probe syscall.msgrcv.return = kernel.function("sys_msgrcv").return{

(name) = ("msgrcv")

(retstr) = (returnstr(1))

}

probe syscall.msgsnd = kernel.function("sys_msgsnd"){

(name) = ("msgsnd")

(msqid) = ($msqid)

(msgp_uaddr) = ($msgp)

(msgsz) = ($msgsz)

(msgflg) = ($msgflg)

(argstr) = (sprintf("%d, %p, %d, %d", $msqid, $msgp, $msgsz, $msgflg))

}

probe syscall.msgsnd.return = kernel.function("sys_msgsnd").return{

(name) = ("msgsnd")

(retstr) = (returnstr(1))

}

probe syscall.msync = kernel.function("sys_msync"){

(name) = ("msync")

(start) = ($start)

(length) = ($len)

(flags) = ($flags)

(argstr) = (sprintf("%p, %d, %s", start, length, _msync_flag_str(flags)))

}

probe syscall.msync.return = kernel.function("sys_msync").return{

(name) = ("msync.return")

(retstr) = (returnstr(1))

}

probe syscall.munlock = kernel.function("sys_munlock"){

(name) = ("munlock")

(addr) = ($start)

(len) = ($len)

(argstr) = (sprintf("%p, %d", addr, len))

}

probe syscall.munlock.return = kernel.function("sys_munlock").return{

(name) = ("munlock")

(retstr) = (returnstr(1))

}

probe syscall.munlockall = kernel.function("sys_munlockall"){

(name) = ("munlockall")

}

probe syscall.munlockall.return = kernel.function("sys_munlockall").return{

(name) = ("munlockall")

(retstr) = (returnstr(1))

}

probe syscall.munmap = kernel.function("sys_munmap"){

(name) = ("munmap")

(start) = ($addr)

(length) = ($len)

(argstr) = (sprintf("%p, %d", start, length))

}

probe syscall.munmap.return = kernel.function("sys_munmap").return{

(name) = ("munmap")

(retstr) = (returnstr(1))

}



# file /usr/local/share/systemtap/tapset/syscalls2.stp

probe syscall.nanosleep = kernel.function("sys_nanosleep"){

(name) = ("nanosleep")

(req_uaddr) = ($rqtp)

(rem_uaddr) = ($rmtp)

(argstr) = (sprintf("%s, %p", _struct_timespec_u($rqtp), $rmtp))

}

probe syscall.nanosleep.return = kernel.function("sys_nanosleep").return{

(name) = ("nanosleep")

(retstr) = (returnstr(1))

}

probe syscall.compat_nanosleep = kernel.function("compat_sys_nanosleep")?{

(name) = ("nanosleep")

(req_uaddr) = ($rqtp)

(rem_uaddr) = ($rmtp)

(argstr) = (sprintf("%s, %p", _struct_compat_timespec_u($rqtp), $rmtp))

}

probe syscall.compat_nanosleep.return = kernel.function("compat_sys_nanosleep").return?{

(name) = ("nanosleep")

(retstr) = (returnstr(1))

}

probe syscall.nfsservctl = kernel.function("sys_nfsservctl"){

(name) = ("nfsservctl")

(cmd) = ($cmd)

(argp_uaddr) = ($arg)

(resp_uaddr) = ($res)

(argstr) = (sprintf("%p, %p, %p", cmd, argp_uaddr, resp_uaddr))

}

probe syscall.nfsservctl.return = kernel.function("sys_nfsservctl").return{

(name) = ("nfsservctl")

(retstr) = (returnstr(1))

}

probe syscall.nice = kernel.function("sys_nice"){

(name) = ("nice")

(inc) = ($increment)

(argstr) = (sprintf("%d", $increment))

}

probe syscall.nice.return = kernel.function("sys_nice").return{

(name) = ("nice")

(retstr) = (returnstr(1))

}

probe syscall.ni_syscall = kernel.function("sys_ni_syscall"){

(name) = ("ni_syscall")

(argstr) = ("")

}

probe syscall.ni_syscall.return = kernel.function("sys_ni_syscall").return{

(name) = ("ni_syscall")

(retstr) = (returnstr(1))

}
trlimit"){
(name) = ("old_getrlimit")
(resource) = ($resource)
(resource_str) = (_rlimit_resource_str($resource))
(rlim_uaddr) = ($rlim)
(argstr) = (sprintf("%s, %p", resource_str, rlim_uaddr))
}
probe syscall.old_getrlimit.return = kernel.function("sys_old_getrlimit").return{
(name) = ("old_getrlimit")
(retstr) = (returnstr(1))
}
probe syscall.open = kernel.function("sys_open")?, kernel.function("sys32_open")?{
(name) = ("open")
(filename) = (user_string($filename))
(flags) = ($flags)
(mode) = ($mode)
if ((flags) & (64)) (argstr) = (sprintf("%s, %s, %#o", user_string_quoted($filename), _sys_open_flag_str(flags), $mode))
else (argstr) = (sprintf("%s, %s", user_string_quoted($filename), _sys_open_flag_str(flags)))

}
probe syscall.open.return = kernel.function("sys_open").return?, kernel.function("sys32_open").return?{
(name) = ("open")
(retstr) = (returnstr(1))
}
probe syscall.pause = kernel.function("sys_pause"){
(name) = ("pause")
(argstr) = ("")
}
probe syscall.pause.return = kernel.function("sys_pause").return{
(name) = ("pause")
(retstr) = (returnstr(1))
}
probe syscall.personality = kernel.function("sys_personality"){
(name) = ("personality")
(persona) = ($personality)
(argstr) = (sprintf("%p", persona))
;
}
probe syscall.personality.return = kernel.function("sys_personality").return{
(name) = ("personality")
(retstr) = (returnstr(1))
}
probe syscall.pipe = kernel.function("sys_pipe"){
(name) = ("pipe")
(fildes_uaddr) = ($fildes)
(argstr) = (_fildes_u($fildes))
}
probe syscall.pipe.return = kernel.function("sys_pipe").return{
(name) = ("pipe")
(retstr) = (returnstr(1))
}
probe syscall.pivot_root = kernel.function("sys_pivot_root"){
(name) = ("pivot_root")
(new_root_str) = (user_string($new_root))
(old_root_str) = (user_string($put_old))
(argstr) = (sprintf("%s, %s", user_string_quoted($new_root), user_string_quoted($put_old)))
}
probe syscall.pivot_root.return = kernel.function("sys_pivot_root").return{
(name) = ("pivot_root")
(retstr) = (returnstr(1))
}
probe syscall.poll = kernel.function("sys_poll"){
(name) = ("poll")
(ufds_uaddr) = ($ufds)
(nfds) = ($nfds)
(timeout) = ($timeout_msecs)
(argstr) = (sprintf("%p, %d, %d", ufds_uaddr, nfds, timeout))
}
probe syscall.poll.return = kernel.function("sys_poll").return{
(name) = ("poll")
(retstr) = (returnstr(1))
}
probe syscall.prctl = kernel.function("sys_prctl"){
(name) = ("prctl")
(option) = ($option)
(arg2) = ($arg2)
(arg3) = ($arg3)
(arg4) = ($arg4)
(arg5) = ($arg5)
(argstr) = (sprintf("%p, %p, %p, %p, %p", option, arg2, arg3, arg4, arg5))
}
probe syscall.prctl.return = kernel.function("sys_prctl").return{
(name) = ("prctl")
(retstr) = (returnstr(1))
}
probe syscall.pread64 = kernel.function("sys_pread64"){
(name) = ("pread64")
(fd) = ($fd)
(buf_uaddr) = ($buf)
(count) = ($count)
(offset) = ($pos)
(argstr) = (sprintf("%d, %p, %p, %p", fd, buf_uaddr, count, offset))
}
probe syscall.pread64.return = kernel.function("sys_pread64").return{
(name) = ("pread64")
(retstr) = (returnstr(1))
}
probe syscall.ptrace = kernel.function("sys_ptrace"){
(name) = ("ptrace")
(request) = ($request)
(pid) = ($pid)
(addr) = ($addr)
(data) = ($data)
(argstr) = (sprintf("%p, %p, %p, %p", request, pid, addr, data))
}
probe syscall.ptrace.return = kernel.function("sys_ptrace").return{
(name) = ("ptrace")
(retstr) = (returnstr(1))
}
probe syscall.pwrite64 = kernel.function("sys_pwrite64"){
(name) = ("pwrite64")
(fd) = ($fd)
(buf_uaddr) = ($buf)
(count) = ($count)
(offset) = ($pos)
(argstr) = (sprintf("%d, %p, %p, %p", fd, buf_uaddr, count, offset))
}
probe syscall.pwrite64.return = kernel.function("sys_pwrite64").return{
(name) = ("pwrite64")
(retstr) = (returnstr(1))
}
probe syscall.read = kernel.function("sys_read"){
(name) = ("read")
(fd) = ($fd)
(buf_uaddr) = ($buf)
(count) = ($count)
(argstr) = (sprintf("%d, %p, %d", $fd, $buf, $count))
}
probe syscall.read.return = kernel.function("sys_read").return{
(name) = ("read")
(retstr) = (returnstr(1))
}
probe sys
probe syscall.old_getrlimit = kernel.function("sys_old_getrlimit"){

(name) = ("old_getrlimit")

(resource) = ($resource)

(resource_str) = (_rlimit_resource_str($resource))

(rlim_uaddr) = ($rlim)

(argstr) = (sprintf("%s, %p", resource_str, rlim_uaddr))

}

probe syscall.old_getrlimit.return = kernel.function("sys_old_getrlimit").return{

(name) = ("old_getrlimit")

(retstr) = (returnstr(1))

}

probe syscall.open = kernel.function("sys_open")?, kernel.function("sys32_open")?{

(name) = ("open")

(filename) = (user_string($filename))

(flags) = ($flags)

(mode) = ($mode)

if ((flags) & (64)) (argstr) = (sprintf("%s, %s, %#o", user_string_quoted($filename), _sys_open_flag_str(flags), $mode))

else (argstr) = (sprintf("%s, %s", user_string_quoted($filename), _sys_open_flag_str(flags)))



}

probe syscall.open.return = kernel.function("sys_open").return?, kernel.function("sys32_open").return?{

(name) = ("open")

(retstr) = (returnstr(1))

}

probe syscall.pause = kernel.function("sys_pause"){

(name) = ("pause")

(argstr) = ("")

}

probe syscall.pause.return = kernel.function("sys_pause").return{

(name) = ("pause")

(retstr) = (returnstr(1))

}

probe syscall.personality = kernel.function("sys_personality"){

(name) = ("personality")

(persona) = ($personality)

(argstr) = (sprintf("%p", persona))

;

}

probe syscall.personality.return = kernel.function("sys_personality").return{

(name) = ("personality")

(retstr) = (returnstr(1))

}

probe syscall.pipe = kernel.function("sys_pipe"){

(name) = ("pipe")

(fildes_uaddr) = ($fildes)

(argstr) = (_fildes_u($fildes))

}

probe syscall.pipe.return = kernel.function("sys_pipe").return{

(name) = ("pipe")

(retstr) = (returnstr(1))

}

probe syscall.pivot_root = kernel.function("sys_pivot_root"){

(name) = ("pivot_root")

(new_root_str) = (user_string($new_root))

(old_root_str) = (user_string($put_old))

(argstr) = (sprintf("%s, %s", user_string_quoted($new_root), user_string_quoted($put_old)))

}

probe syscall.pivot_root.return = kernel.function("sys_pivot_root").return{

(name) = ("pivot_root")

(retstr) = (returnstr(1))

}

probe syscall.poll = kernel.function("sys_poll"){

(name) = ("poll")

(ufds_uaddr) = ($ufds)

(nfds) = ($nfds)

(timeout) = ($timeout_msecs)

(argstr) = (sprintf("%p, %d, %d", ufds_uaddr, nfds, timeout))

}

probe syscall.poll.return = kernel.function("sys_poll").return{

(name) = ("poll")

(retstr) = (returnstr(1))

}

probe syscall.prctl = kernel.function("sys_prctl"){

(name) = ("prctl")

(option) = ($option)

(arg2) = ($arg2)

(arg3) = ($arg3)

(arg4) = ($arg4)

(arg5) = ($arg5)

(argstr) = (sprintf("%p, %p, %p, %p, %p", option, arg2, arg3, arg4, arg5))

}

probe syscall.prctl.return = kernel.function("sys_prctl").return{

(name) = ("prctl")

(retstr) = (returnstr(1))

}

probe syscall.pread64 = kernel.function("sys_pread64"){

(name) = ("pread64")

(fd) = ($fd)

(buf_uaddr) = ($buf)

(count) = ($count)

(offset) = ($pos)

(argstr) = (sprintf("%d, %p, %p, %p", fd, buf_uaddr, count, offset))

}

probe syscall.pread64.return = kernel.function("sys_pread64").return{

(name) = ("pread64")

(retstr) = (returnstr(1))

}

probe syscall.ptrace = kernel.function("sys_ptrace"){

(name) = ("ptrace")

(request) = ($request)

(pid) = ($pid)

(addr) = ($addr)

(data) = ($data)

(argstr) = (sprintf("%p, %p, %p, %p", request, pid, addr, data))

}

probe syscall.ptrace.return = kernel.function("sys_ptrace").return{

(name) = ("ptrace")

(retstr) = (returnstr(1))

}

probe syscall.pwrite64 = kernel.function("sys_pwrite64"){

(name) = ("pwrite64")

(fd) = ($fd)

(buf_uaddr) = ($buf)

(count) = ($count)

(offset) = ($pos)

(argstr) = (sprintf("%d, %p, %p, %p", fd, buf_uaddr, count, offset))

}

probe syscall.pwrite64.return = kernel.function("sys_pwrite64").return{

(name) = ("pwrite64")

(retstr) = (returnstr(1))

}

probe syscall.read = kernel.function("sys_read"){

(name) = ("read")

(fd) = ($fd)

(buf_uaddr) = ($buf)

(count) = ($count)

(argstr) = (sprintf("%d, %p, %d", $fd, $buf, $count))

}

probe syscall.read.return = kernel.function("sys_read").return{

(name) = ("read")

(retstr) = (returnstr(1))

}
call.readahead = kernel.function("sys_readahead"){
(name) = ("readahead")
(fd) = ($fd)
(offset) = ($offset)
(count) = ($count)
(argstr) = (sprintf("%d, %p, %p", fd, offset, count))
}
probe syscall.readahead.return = kernel.function("sys_readahead").return{
(name) = ("readahead")
(retstr) = (returnstr(1))
}
probe syscall.readlink = kernel.function("sys_readlink"){
(name) = ("readlink")
(path) = (user_string($path))
(buf_uaddr) = ($buf)
(bufsiz) = ($bufsiz)
(argstr) = (sprintf("%s, %p, %d", user_string_quoted($path), buf_uaddr, bufsiz))
}
probe syscall.readlink.return = kernel.function("sys_readlink").return{
(name) = ("readlink")
(retstr) = (returnstr(1))
}
probe syscall.readv = kernel.function("sys_readv"), kernel.function("compat_sys_readv")?{
(name) = ("readv")
(vector_uaddr) = ($vec)
(count) = ($vlen)
(fd) = ($fd)
(argstr) = (sprintf("%d, %p, %d", $fd, $vec, $vlen))
}
probe syscall.readv.return = kernel.function("sys_readv").return, kernel.function("compat_sys_readv").return?{
(name) = ("readv")
(retstr) = (returnstr(1))
}
probe syscall.reboot = kernel.function("sys_reboot"){
(name) = ("reboot")
(magic) = ($magic1)
(magic_str) = (_reboot_magic_str($magic1))
(magic2) = ($magic2)
(magic2_str) = (_reboot_magic_str($magic2))
(flag) = ($cmd)
(flag_str) = (_reboot_flag_str(flag))
(arg_uaddr) = ($arg)
(argstr) = (sprintf("%s, %s, %s, %p", magic_str, magic2_str, flag_str, arg_uaddr))
}
probe syscall.reboot.return = kernel.function("sys_reboot").return{
(name) = ("reboot")
(retstr) = (returnstr(1))
}
probe syscall.recv = kernel.function("sys_recvfrom"){
(name) = ("recv")
(s) = ($fd)
(buf_uaddr) = ($ubuf)
(len) = ($size)
(flags) = ($flags)
(flags_str) = (_recvflags_str($flags))
(addr_uaddr) = ($addr)
(addrlen_uaddr) = ($addr_len)
(argstr) = (sprintf("%d, %p, %p, %s, %p, %p", s, buf_uaddr, len, flags_str, addr_uaddr, addrlen_uaddr))
}
probe syscall.recv.return = kernel.function("sys_recvfrom").return{
(name) = ("recv")
(retstr) = (returnstr(1))
}
probe syscall.recvfrom = kernel.function("sys_recvfrom"){
(name) = ("recvfrom")
(s) = ($fd)
(buf_uaddr) = ($ubuf)
(len) = ($size)
(flags) = ($flags)
(flags_str) = (_recvflags_str($flags))
(addr_uaddr) = ($addr)
(addrlen_uaddr) = ($addr_len)
(argstr) = (sprintf("%d, %p, %p, %s, %p, %p", s, buf_uaddr, len, flags_str, addr_uaddr, addrlen_uaddr))
}
probe syscall.recvfrom.return = kernel.function("sys_recvfrom").return{
(name) = ("recvfrom")
(retstr) = (returnstr(1))
}
probe syscall.recvmsg = kernel.function("sys_recvmsg"){
(name) = ("recvmsg")
(s) = ($fd)
(msg_uaddr) = ($msg)
(flags) = ($flags)
(flags_str) = (_recvflags_str($flags))
(argstr) = (sprintf("%d, %p, %s", s, msg_uaddr, flags_str))
}
probe syscall.recvmsg.return = kernel.function("sys_recvmsg").return{
(name) = ("recvmsg")
(retstr) = (returnstr(1))
}
probe syscall.remap_file_pages = kernel.function("sys_remap_file_pages"){
(name) = ("remap_file_pages")
(start) = ($start)
(size) = ($size)
(prot) = ($__prot)
(pgoff) = ($pgoff)
(flags) = ($flags)
(argstr) = (sprintf("%p, %p, %p, %p, %p", start, size, prot, pgoff, flags))
}
probe syscall.remap_file_pages.return = kernel.function("sys_remap_file_pages").return{
(name) = ("remap_file_pages")
(retstr) = (returnstr(1))
}
probe syscall.removexattr = kernel.function("sys_removexattr"){
(name) = ("removexattr")
(path) = (user_string($path))
(name_str) = (user_string($name))
(argstr) = (sprintf("%s, %s", user_string_quoted($path), user_string_quoted($name)))
}
probe syscall.removexattr.return = kernel.function("sys_removexattr").return{
(name) = ("removexattr")
(retstr) = (returnstr(1))
}
probe syscall.rename = kernel.function("sys_rename"){
(name) = ("rename")
(oldpath) = (user_string($oldname))
(newpath) = (user_string($newname))
(argstr) = (sprintf("%s, %s", user_string_quoted($oldname), user_string_quoted($newname)))
}
probe syscall.rename.return = kernel.function("sys_rename").return{
(name) = ("rename")
(retstr) = (returnstr(1))
}
probe syscall.restart_syscall = ke
probe syscall.readahead = kernel.function("sys_readahead"){

(name) = ("readahead")

(fd) = ($fd)

(offset) = ($offset)

(count) = ($count)

(argstr) = (sprintf("%d, %p, %p", fd, offset, count))

}

probe syscall.readahead.return = kernel.function("sys_readahead").return{

(name) = ("readahead")

(retstr) = (returnstr(1))

}

probe syscall.readlink = kernel.function("sys_readlink"){

(name) = ("readlink")

(path) = (user_string($path))

(buf_uaddr) = ($buf)

(bufsiz) = ($bufsiz)

(argstr) = (sprintf("%s, %p, %d", user_string_quoted($path), buf_uaddr, bufsiz))

}

probe syscall.readlink.return = kernel.function("sys_readlink").return{

(name) = ("readlink")

(retstr) = (returnstr(1))

}

probe syscall.readv = kernel.function("sys_readv"), kernel.function("compat_sys_readv")?{

(name) = ("readv")

(vector_uaddr) = ($vec)

(count) = ($vlen)

(fd) = ($fd)

(argstr) = (sprintf("%d, %p, %d", $fd, $vec, $vlen))

}

probe syscall.readv.return = kernel.function("sys_readv").return, kernel.function("compat_sys_readv").return?{

(name) = ("readv")

(retstr) = (returnstr(1))

}

probe syscall.reboot = kernel.function("sys_reboot"){

(name) = ("reboot")

(magic) = ($magic1)

(magic_str) = (_reboot_magic_str($magic1))

(magic2) = ($magic2)

(magic2_str) = (_reboot_magic_str($magic2))

(flag) = ($cmd)

(flag_str) = (_reboot_flag_str(flag))

(arg_uaddr) = ($arg)

(argstr) = (sprintf("%s, %s, %s, %p", magic_str, magic2_str, flag_str, arg_uaddr))

}

probe syscall.reboot.return = kernel.function("sys_reboot").return{

(name) = ("reboot")

(retstr) = (returnstr(1))

}

probe syscall.recv = kernel.function("sys_recvfrom"){

(name) = ("recv")

(s) = ($fd)

(buf_uaddr) = ($ubuf)

(len) = ($size)

(flags) = ($flags)

(flags_str) = (_recvflags_str($flags))

(addr_uaddr) = ($addr)

(addrlen_uaddr) = ($addr_len)

(argstr) = (sprintf("%d, %p, %p, %s, %p, %p", s, buf_uaddr, len, flags_str, addr_uaddr, addrlen_uaddr))

}

probe syscall.recv.return = kernel.function("sys_recvfrom").return{

(name) = ("recv")

(retstr) = (returnstr(1))

}

probe syscall.recvfrom = kernel.function("sys_recvfrom"){

(name) = ("recvfrom")

(s) = ($fd)

(buf_uaddr) = ($ubuf)

(len) = ($size)

(flags) = ($flags)

(flags_str) = (_recvflags_str($flags))

(addr_uaddr) = ($addr)

(addrlen_uaddr) = ($addr_len)

(argstr) = (sprintf("%d, %p, %p, %s, %p, %p", s, buf_uaddr, len, flags_str, addr_uaddr, addrlen_uaddr))

}

probe syscall.recvfrom.return = kernel.function("sys_recvfrom").return{

(name) = ("recvfrom")

(retstr) = (returnstr(1))

}

probe syscall.recvmsg = kernel.function("sys_recvmsg"){

(name) = ("recvmsg")

(s) = ($fd)

(msg_uaddr) = ($msg)

(flags) = ($flags)

(flags_str) = (_recvflags_str($flags))

(argstr) = (sprintf("%d, %p, %s", s, msg_uaddr, flags_str))

}

probe syscall.recvmsg.return = kernel.function("sys_recvmsg").return{

(name) = ("recvmsg")

(retstr) = (returnstr(1))

}

probe syscall.remap_file_pages = kernel.function("sys_remap_file_pages"){

(name) = ("remap_file_pages")

(start) = ($start)

(size) = ($size)

(prot) = ($__prot)

(pgoff) = ($pgoff)

(flags) = ($flags)

(argstr) = (sprintf("%p, %p, %p, %p, %p", start, size, prot, pgoff, flags))

}

probe syscall.remap_file_pages.return = kernel.function("sys_remap_file_pages").return{

(name) = ("remap_file_pages")

(retstr) = (returnstr(1))

}

probe syscall.removexattr = kernel.function("sys_removexattr"){

(name) = ("removexattr")

(path) = (user_string($path))

(name_str) = (user_string($name))

(argstr) = (sprintf("%s, %s", user_string_quoted($path), user_string_quoted($name)))

}

probe syscall.removexattr.return = kernel.function("sys_removexattr").return{

(name) = ("removexattr")

(retstr) = (returnstr(1))

}

probe syscall.rename = kernel.function("sys_rename"){

(name) = ("rename")

(oldpath) = (user_string($oldname))

(newpath) = (user_string($newname))

(argstr) = (sprintf("%s, %s", user_string_quoted($oldname), user_string_quoted($newname)))

}

probe syscall.rename.return = kernel.function("sys_rename").return{

(name) = ("rename")

(retstr) = (returnstr(1))

}
rnel.function("sys_restart_syscall"){
(name) = ("restart_syscall")
(argstr) = ("")
}
probe syscall.restart_syscall.return = kernel.function("sys_restart_syscall").return{
(name) = ("restart_syscall")
(retstr) = (returnstr(1))
}
probe syscall.rmdir = kernel.function("sys_rmdir"){
(name) = ("rmdir")
(pathname) = (user_string($pathname))
(argstr) = (user_string_quoted($pathname))
}
probe syscall.rmdir.return = kernel.function("sys_rmdir").return{
(name) = ("rmdir")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigaction = kernel.function("sys_rt_sigaction"){
(name) = ("rt_sigaction")
(sig) = ($sig)
(act_uaddr) = ($act)
(oact_uaddr) = ($oact)
(sigsetsize) = ($sigsetsize)
(argstr) = (sprintf("%s, %p, %p, %d", _signal_name($sig), $act, $oact, $sigsetsize))
}
probe syscall.rt_sigaction.return = kernel.function("sys_rt_sigaction").return{
(name) = ("rt_sigaction")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigaction32 = kernel.function("sys32_rt_sigaction")?{
(name) = ("rt_sigaction")
(sig) = ($sig)
(act_uaddr) = ($act)
(oact_uaddr) = ($oact)
(sigsetsize) = ($sigsetsize)
(argstr) = (sprintf("%s, %p, %p, %d", _signal_name($sig), $act, $oact, $sigsetsize))
}
probe syscall.rt_sigaction32.return = kernel.function("sys32_rt_sigaction").return?{
(name) = ("rt_sigaction")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigpending = kernel.function("do_sigpending"){
(name) = ("rt_sigpending")
(set_uaddr) = ($set)
(sigsetsize) = ($sigsetsize)
(argstr) = (sprintf("%p, %d", $set, $sigsetsize))
}
probe syscall.rt_sigpending.return = kernel.function("do_sigpending").return{
(name) = ("rt_sigpending")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigprocmask = kernel.function("sys_rt_sigprocmask"){
(name) = ("rt_sigprocmask")
(how) = ($how)
(how_str) = (_sigprocmask_how_str($how))
(set_uaddr) = ($set)
(oset_uaddr) = ($oset)
(sigsetsize) = ($sigsetsize)
(argstr) = (sprintf("%s, %p, %p, %d", how_str, $set, $oset, $sigsetsize))
}
probe syscall.rt_sigprocmask.return = kernel.function("sys_rt_sigprocmask").return{
(name) = ("rt_sigprocmask")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigqueueinfo = kernel.function("sys_rt_sigqueueinfo"){
(name) = ("rt_sigqueueinfo")
(pid) = ($pid)
(sig) = ($sig)
(uinfo_uaddr) = ($uinfo)
(argstr) = (sprintf("%p, %s, %p", $pid, _signal_name($sig), $uinfo))
}
probe syscall.rt_sigqueueinfo.return = kernel.function("sys_rt_sigqueueinfo").return{
(name) = ("rt_sigqueueinfo")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigreturn = kernel.function("sys_rt_sigreturn"){
(name) = ("rt_sigreturn")
(argstr) = ("")
}
probe syscall.rt_sigreturn.return = kernel.function("sys_rt_sigreturn").return{
(name) = ("rt_sigreturn")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigsuspend = kernel.function("sys_rt_sigsuspend"){
(name) = ("rt_sigsuspend")
(argstr) = ("")
}
probe syscall.rt_sigsuspend.return = kernel.function("sys_rt_sigsuspend").return{
(name) = ("rt_sigsuspend")
(retstr) = (returnstr(1))
}
probe syscall.rt_sigtimedwait = kernel.function("sys_rt_sigtimedwait"){
(name) = ("rt_sigtimedwait")
(uthese_uaddr) = ($uthese)
(uinfo_uaddr) = ($uinfo)
(uts_uaddr) = ($uts)
(sigsetsize) = ($sigsetsize)
(argstr) = (sprintf("%p, %p, %p, %d", $uthese, $uinfo, $uts, $sigsetsize))
}
probe syscall.rt_sigtimedwait.return = kernel.function("sys_rt_sigtimedwait").return{
(name) = ("rt_sigtimedwait")
(retstr) = (returnstr(1))
}
probe syscall.sched_getaffinity = kernel.function("sys_sched_getaffinity"){
(name) = ("sched_getaffinity")
(pid) = ($pid)
(len) = ($len)
(mask_uaddr) = ($user_mask_ptr)
(argstr) = (sprintf("%d, %p, %p", pid, len, mask_uaddr))
}
probe syscall.sched_getaffinity.return = kernel.function("sys_sched_getaffinity").return{
(name) = ("sched_getaffinity")
(retstr) = (returnstr(1))
}
probe syscall.sched_getparam = kernel.function("sys_sched_getparam"){
(name) = ("sched_getparam")
(pid) = ($pid)
(p_uaddr) = ($param)
(argstr) = (sprintf("%d, %p", pid, p_uaddr))
}
probe syscall.sched_getparam.return = kernel.function(
probe syscall.restart_syscall = kernel.function("sys_restart_syscall"){

(name) = ("restart_syscall")

(argstr) = ("")

}

probe syscall.restart_syscall.return = kernel.function("sys_restart_syscall").return{

(name) = ("restart_syscall")

(retstr) = (returnstr(1))

}

probe syscall.rmdir = kernel.function("sys_rmdir"){

(name) = ("rmdir")

(pathname) = (user_string($pathname))

(argstr) = (user_string_quoted($pathname))

}

probe syscall.rmdir.return = kernel.function("sys_rmdir").return{

(name) = ("rmdir")

(retstr) = (returnstr(1))

}

probe syscall.rt_sigaction = kernel.function("sys_rt_sigaction"){

(name) = ("rt_sigaction")

(sig) = ($sig)

(act_uaddr) = ($act)

(oact_uaddr) = ($oact)

(sigsetsize) = ($sigsetsize)

(argstr) = (sprintf("%s, %p, %p, %d", _signal_name($sig), $act, $oact, $sigsetsize))

}

probe syscall.rt_sigaction.return = kernel.function("sys_rt_sigaction").return{

(name) = ("rt_sigaction")

(retstr) = (returnstr(1))

}

probe syscall.rt_sigaction32 = kernel.function("sys32_rt_sigaction")?{

(name) = ("rt_sigaction")

(sig) = ($sig)

(act_uaddr) = ($act)

(oact_uaddr) = ($oact)

(sigsetsize) = ($sigsetsize)

(argstr) = (sprintf("%s, %p, %p, %d", _signal_name($sig), $act, $oact, $sigsetsize))

}

probe syscall.rt_sigaction32.return = kernel.function("sys32_rt_sigaction").return?{

(name) = ("rt_sigaction")

(retstr) = (returnstr(1))

}

probe syscall.rt_sigpending = kernel.function("do_sigpending"){

(name) = ("rt_sigpending")

(set_uaddr) = ($set)

(sigsetsize) = ($sigsetsize)

(argstr) = (sprintf("%p, %d", $set, $sigsetsize))

}

probe syscall.rt_sigpending.return = kernel.function("do_sigpending").return{

(name) = ("rt_sigpending")

(retstr) = (returnstr(1))

}

probe syscall.rt_sigprocmask = kernel.function("sys_rt_sigprocmask"){

(name) = ("rt_sigprocmask")

(how) = ($how)

(how_str) = (_sigprocmask_how_str($how))

(set_uaddr) = ($set)

(oset_uaddr) = ($oset)

(sigsetsize) = ($sigsetsize)

(argstr) = (sprintf("%s, %p, %p, %d", how_str, $set, $oset, $sigsetsize))

}

probe syscall.rt_sigprocmask.return = kernel.function("sys_rt_sigprocmask").return{

(name) = ("rt_sigprocmask")

(retstr) = (returnstr(1))

}

probe syscall.rt_sigqueueinfo = kernel.function("sys_rt_sigqueueinfo"){

(name) = ("rt_sigqueueinfo")

(pid) = ($pid)

(sig) = ($sig)

(uinfo_uaddr) = ($uinfo)

(argstr) = (sprintf("%p, %s, %p", $pid, _signal_name($sig), $uinfo))

}

probe syscall.rt_sigqueueinfo.return = kernel.function("sys_rt_sigqueueinfo").return{

(name) = ("rt_sigqueueinfo")

(retstr) = (returnstr(1))

}

probe syscall.rt_sigreturn = kernel.function("sys_rt_sigreturn"){

(name) = ("rt_sigreturn")

(argstr) = ("")

}

probe syscall.rt_sigreturn.return = kernel.function("sys_rt_sigreturn").return{

(name) = ("rt_sigreturn")

(retstr) = (returnstr(1))

}

probe syscall.rt_sigsuspend = kernel.function("sys_rt_sigsuspend"){

(name) = ("rt_sigsuspend")

(argstr) = ("")

}

probe syscall.rt_sigsuspend.return = kernel.function("sys_rt_sigsuspend").return{

(name) = ("rt_sigsuspend")

(retstr) = (returnstr(1))

}

probe syscall.rt_sigtimedwait = kernel.function("sys_rt_sigtimedwait"){

(name) = ("rt_sigtimedwait")

(uthese_uaddr) = ($uthese)

(uinfo_uaddr) = ($uinfo)

(uts_uaddr) = ($uts)

(sigsetsize) = ($sigsetsize)

(argstr) = (sprintf("%p, %p, %p, %d", $uthese, $uinfo, $uts, $sigsetsize))

}

probe syscall.rt_sigtimedwait.return = kernel.function("sys_rt_sigtimedwait").return{

(name) = ("rt_sigtimedwait")

(retstr) = (returnstr(1))

}

probe syscall.sched_getaffinity = kernel.function("sys_sched_getaffinity"){

(name) = ("sched_getaffinity")

(pid) = ($pid)

(len) = ($len)

(mask_uaddr) = ($user_mask_ptr)

(argstr) = (sprintf("%d, %p, %p", pid, len, mask_uaddr))

}

probe syscall.sched_getaffinity.return = kernel.function("sys_sched_getaffinity").return{

(name) = ("sched_getaffinity")

(retstr) = (returnstr(1))

}

probe syscall.sched_getparam = kernel.function("sys_sched_getparam"){

(name) = ("sched_getparam")

(pid) = ($pid)

(p_uaddr) = ($param)

(argstr) = (sprintf("%d, %p", pid, p_uaddr))

}
"sys_sched_getparam").return{
(name) = ("sched_getparam")
(retstr) = (returnstr(1))
}
probe syscall.sched_get_priority_max = kernel.function("sys_sched_get_priority_max"){
(name) = ("sched_get_priority_max")
(policy) = ($policy)
(argstr) = (sprint(policy))
}
probe syscall.sched_get_priority_max.return = kernel.function("sys_sched_get_priority_max").return{
(name) = ("sched_get_priority_max")
(retstr) = (returnstr(1))
}
probe syscall.sched_get_priority_min = kernel.function("sys_sched_get_priority_min"){
(name) = ("sched_get_priority_min")
(policy) = ($policy)
(argstr) = (sprint(policy))
}
probe syscall.sched_get_priority_min.return = kernel.function("sys_sched_get_priority_min").return{
(name) = ("sched_get_priority_min")
(retstr) = (returnstr(1))
}
probe syscall.sched_getscheduler = kernel.function("sys_sched_getscheduler"){
(name) = ("sched_getscheduler")
(pid) = ($pid)
(argstr) = (sprint(pid))
}
probe syscall.sched_getscheduler.return = kernel.function("sys_sched_getscheduler").return{
(name) = ("sched_getscheduler")
(retstr) = (returnstr(1))
}
probe syscall.sched_rr_get_interval = kernel.function("sys_sched_rr_get_interval"){
(name) = ("sched_rr_get_interval")
(pid) = ($pid)
(tp_uaddr) = ($interval)
(argstr) = (sprintf("%d, %s", pid, _struct_timespec_u(tp_uaddr)))
}
probe syscall.sched_rr_get_interval.return = kernel.function("sys_sched_rr_get_interval").return{
(name) = ("sched_rr_get_interval")
(retstr) = (returnstr(1))
}
probe syscall.sched_setaffinity = kernel.function("sys_sched_setaffinity"){
(name) = ("sched_setaffinity")
(pid) = ($pid)
(len) = ($len)
(mask_uaddr) = ($user_mask_ptr)
(argstr) = (sprintf("%d, %d, %p", $pid, $len, $user_mask_ptr))
}
probe syscall.sched_setaffinity.return = kernel.function("sys_sched_setaffinity").return{
(name) = ("sched_setaffinity")
(retstr) = (returnstr(1))
}
probe syscall.sched_yield = kernel.function("sys_sched_yield"){
(name) = ("sched_yield")
(argstr) = ("")
}
probe syscall.sched_yield.return = kernel.function("sys_sched_yield").return{
(name) = ("sched_yield")
(retstr) = (returnstr(1))
}
probe syscall.select = kernel.function("sys_select"){
(name) = ("select")
(n) = ($n)
(readfds_uaddr) = ($inp)
(writefds_uaddr) = ($outp)
(exceptfds_uaddr) = ($exp)
(timeout_uaddr) = ($tvp)
(argstr) = (sprintf("%d, %s, %s, %s, %s", n, _fd_set_u(readfds_uaddr), _fd_set_u(writefds_uaddr), _fd_set_u(exceptfds_uaddr), _struct_timeval_u(timeout_uaddr)))
}
probe syscall.select.return = kernel.function("sys_select").return{
(name) = ("select")
(retstr) = (returnstr(1))
}
probe syscall.semctl = kernel.function("sys_semctl"){
(name) = ("semctl")
(semid) = ($semid)
(semnum) = ($semnum)
(cmd) = ($cmd)
(argstr) = (sprintf("%d, %d, %s", semid, semnum, _semctl_cmd(cmd)))
}
probe syscall.semctl.return = kernel.function("sys_semctl").return{
(name) = ("semctl")
(retstr) = (returnstr(1))
}
probe syscall.semget = kernel.function("sys_semget"){
(name) = ("semget")
(key) = ($key)
(nsems) = ($nsems)
(semflg) = ($semflg)
(argstr) = (sprintf("%d, %d, %s", key, nsems, __sem_flags(semflg)))
}
probe syscall.semget.return = kernel.function("sys_semget").return{
(name) = ("semget")
(retstr) = (returnstr(1))
}
probe syscall.semop = kernel.function("sys_semtimedop"){
(name) = ("semop")
(semid) = ($semid)
(tsops_uaddr) = ($tsops)
(nsops) = ($nsops)
(argstr) = (sprintf("%d, %p, %d", semid, tsops_uaddr, nsops))
}
probe syscall.semop.return = kernel.function("sys_semtimedop").return{
(name) = ("semop")
(retstr) = (returnstr(1))
}
probe syscall.semtimedop = kernel.function("sys_semtimedop"){
(name) = ("semtimedop")
(semid) = ($semid)
(sops_uaddr) = ($tsops)
(nsops) = ($nsops)
(timeout_uaddr) = ($timeout)
(argstr) = (sprintf("%d, %p, %d, %s", semid, sops_uaddr, nsops, _struct_timespec_u(timeout_uaddr)))
}
probe syscall.semtimedop.return = kernel.function("sys_semtimedop").return{
(name) = ("semtimedop")
(retstr) = (returnstr(1))
}
probe syscall.send = kernel.function("sys_sendto"){
(name) = ("send")
(s) = 
probe syscall.sched_getparam.return = kernel.function("sys_sched_getparam").return{

(name) = ("sched_getparam")

(retstr) = (returnstr(1))

}

probe syscall.sched_get_priority_max = kernel.function("sys_sched_get_priority_max"){

(name) = ("sched_get_priority_max")

(policy) = ($policy)

(argstr) = (sprint(policy))

}

probe syscall.sched_get_priority_max.return = kernel.function("sys_sched_get_priority_max").return{

(name) = ("sched_get_priority_max")

(retstr) = (returnstr(1))

}

probe syscall.sched_get_priority_min = kernel.function("sys_sched_get_priority_min"){

(name) = ("sched_get_priority_min")

(policy) = ($policy)

(argstr) = (sprint(policy))

}

probe syscall.sched_get_priority_min.return = kernel.function("sys_sched_get_priority_min").return{

(name) = ("sched_get_priority_min")

(retstr) = (returnstr(1))

}

probe syscall.sched_getscheduler = kernel.function("sys_sched_getscheduler"){

(name) = ("sched_getscheduler")

(pid) = ($pid)

(argstr) = (sprint(pid))

}

probe syscall.sched_getscheduler.return = kernel.function("sys_sched_getscheduler").return{

(name) = ("sched_getscheduler")

(retstr) = (returnstr(1))

}

probe syscall.sched_rr_get_interval = kernel.function("sys_sched_rr_get_interval"){

(name) = ("sched_rr_get_interval")

(pid) = ($pid)

(tp_uaddr) = ($interval)

(argstr) = (sprintf("%d, %s", pid, _struct_timespec_u(tp_uaddr)))

}

probe syscall.sched_rr_get_interval.return = kernel.function("sys_sched_rr_get_interval").return{

(name) = ("sched_rr_get_interval")

(retstr) = (returnstr(1))

}

probe syscall.sched_setaffinity = kernel.function("sys_sched_setaffinity"){

(name) = ("sched_setaffinity")

(pid) = ($pid)

(len) = ($len)

(mask_uaddr) = ($user_mask_ptr)

(argstr) = (sprintf("%d, %d, %p", $pid, $len, $user_mask_ptr))

}

probe syscall.sched_setaffinity.return = kernel.function("sys_sched_setaffinity").return{

(name) = ("sched_setaffinity")

(retstr) = (returnstr(1))

}

probe syscall.sched_yield = kernel.function("sys_sched_yield"){

(name) = ("sched_yield")

(argstr) = ("")

}

probe syscall.sched_yield.return = kernel.function("sys_sched_yield").return{

(name) = ("sched_yield")

(retstr) = (returnstr(1))

}

probe syscall.select = kernel.function("sys_select"){

(name) = ("select")

(n) = ($n)

(readfds_uaddr) = ($inp)

(writefds_uaddr) = ($outp)

(exceptfds_uaddr) = ($exp)

(timeout_uaddr) = ($tvp)

(argstr) = (sprintf("%d, %s, %s, %s, %s", n, _fd_set_u(readfds_uaddr), _fd_set_u(writefds_uaddr), _fd_set_u(exceptfds_uaddr), _struct_timeval_u(timeout_uaddr)))

}

probe syscall.select.return = kernel.function("sys_select").return{

(name) = ("select")

(retstr) = (returnstr(1))

}

probe syscall.semctl = kernel.function("sys_semctl"){

(name) = ("semctl")

(semid) = ($semid)

(semnum) = ($semnum)

(cmd) = ($cmd)

(argstr) = (sprintf("%d, %d, %s", semid, semnum, _semctl_cmd(cmd)))

}

probe syscall.semctl.return = kernel.function("sys_semctl").return{

(name) = ("semctl")

(retstr) = (returnstr(1))

}

probe syscall.semget = kernel.function("sys_semget"){

(name) = ("semget")

(key) = ($key)

(nsems) = ($nsems)

(semflg) = ($semflg)

(argstr) = (sprintf("%d, %d, %s", key, nsems, __sem_flags(semflg)))

}

probe syscall.semget.return = kernel.function("sys_semget").return{

(name) = ("semget")

(retstr) = (returnstr(1))

}

probe syscall.semop = kernel.function("sys_semtimedop"){

(name) = ("semop")

(semid) = ($semid)

(tsops_uaddr) = ($tsops)

(nsops) = ($nsops)

(argstr) = (sprintf("%d, %p, %d", semid, tsops_uaddr, nsops))

}

probe syscall.semop.return = kernel.function("sys_semtimedop").return{

(name) = ("semop")

(retstr) = (returnstr(1))

}

probe syscall.semtimedop = kernel.function("sys_semtimedop"){

(name) = ("semtimedop")

(semid) = ($semid)

(sops_uaddr) = ($tsops)

(nsops) = ($nsops)

(timeout_uaddr) = ($timeout)

(argstr) = (sprintf("%d, %p, %d, %s", semid, sops_uaddr, nsops, _struct_timespec_u(timeout_uaddr)))

}

probe syscall.semtimedop.return = kernel.function("sys_semtimedop").return{

(name) = ("semtimedop")

(retstr) = (returnstr(1))

}

probe syscall.send = kernel.function("sys_sendto"){

(name) = ("send")
($fd)
(buf_uaddr) = ($buff)
(len) = ($len)
(flags) = ($flags)
(flags_str) = (_send_flags_str($flags))
(to_uaddr) = ($addr)
(tolen) = ($addr_len)
(argstr) = (sprintf("%d, %p, %s, %p, %d", $fd, buf_uaddr, flags_str, to_uaddr, $addr_len))
}
probe syscall.send.return = kernel.function("sys_sendto").return{
(name) = ("send")
(retstr) = (returnstr(1))
}
probe syscall.sendfile = kernel.function("sys_sendfile")?, kernel.function("sys_sendfile64")?{
(name) = ("sendfile")
(out_fd) = ($out_fd)
(in_fd) = ($in_fd)
(offset_uaddr) = ($offset)
(count) = ($count)
(argstr) = (sprintf("%d, %d, %p, %d", $out_fd, $in_fd, offset_uaddr, $count))
}
probe syscall.sendfile.return = kernel.function("sys_sendfile").return?, kernel.function("sys_sendfile64").return?{
(name) = ("sendfile")
(retstr) = (returnstr(1))
}
probe syscall.sendmsg = kernel.function("sys_sendmsg"){
(name) = ("sendmsg")
(s) = ($fd)
(msg_uaddr) = ($msg)
(flags) = ($flags)
(flags_str) = (_send_flags_str($flags))
(argstr) = (sprintf("%d, %p, %s", $fd, msg_uaddr, flags_str))
}
probe syscall.sendmsg.return = kernel.function("sys_sendmsg").return{
(name) = ("sendmsg")
(retstr) = (returnstr(1))
}
probe syscall.sendto = kernel.function("sys_sendto"){
(name) = ("sendto")
(s) = ($fd)
(buf_uaddr) = ($buff)
(len) = ($len)
(flags) = ($flags)
(flags_str) = (_send_flags_str($flags))
(to_uaddr) = ($addr)
(tolen) = ($addr_len)
(argstr) = (sprintf("%d, %p, %d, %s, %p, %d", $fd, buf_uaddr, $len, flags_str, to_uaddr, $addr_len))
}
probe syscall.sendto.return = kernel.function("sys_sendto").return{
(name) = ("sendto")
(retstr) = (returnstr(1))
}
probe syscall.setdomainname = kernel.function("sys_setdomainname"){
(name) = ("setdomainname")
(hostname_uaddr) = ($name)
(len) = ($len)
(argstr) = ("")
}
probe syscall.setdomainname.return = kernel.function("sys_setdomainname").return{
(name) = ("setdomainname")
(retstr) = (returnstr(1))
}
probe syscall.setfsgid = kernel.function("sys_setfsgid"){
(name) = ("setfsgid")
(fsgid) = ($gid)
(argstr) = (sprint($gid))
}
probe syscall.setfsgid.return = kernel.function("sys_setfsgid").return{
(name) = ("setfsgid")
(retstr) = (returnstr(1))
}
probe syscall.setfsgid16 = kernel.function("sys_setfsgid16")?{
(name) = ("setfsgid16")
(gid) = ($gid)
(argstr) = (sprint($gid))
}
probe syscall.setfsgid16.return = kernel.function("sys_setfsgid16").return?{
(name) = ("setfsgid16")
(retstr) = (returnstr(1))
}
probe syscall.setfsuid = kernel.function("sys_setfsuid"){
(name) = ("setfsuid")
(fsuid) = ($uid)
(argstr) = (sprint($uid))
}
probe syscall.setfsuid.return = kernel.function("sys_setfsuid").return{
(name) = ("setfsuid")
(retstr) = (returnstr(1))
}
probe syscall.setfsuid16 = kernel.function("sys_setfsuid16")?{
(name) = ("setfsuid16")
(uid) = ($uid)
(argstr) = (sprint($uid))
}
probe syscall.setfsuid16.return = kernel.function("sys_setfsuid16").return?{
(name) = ("setfsuid16")
(retstr) = (returnstr(1))
}
probe syscall.setgid = kernel.function("sys_setgid"){
(name) = ("setgid")
(gid) = ($gid)
(argstr) = (sprint($gid))
}
probe syscall.setgid.return = kernel.function("sys_setgid").return{
(name) = ("setgid")
(retstr) = (returnstr(1))
}
probe syscall.setgid16 = kernel.function("sys_setgid16")?{
(name) = ("setgid16")
(gid) = ($gid)
(argstr) = (sprint($gid))
}
probe syscall.setgid16.return = kernel.function("sys_setgid16").return?{
(name) = ("setgid16")
(retstr) = (returnstr(1))
}
probe syscall.setgroups = kernel.function("sys_setgroups"){
(name) = ("setgroups")
(size) = ($gidsetsize)
(list_uaddr) = ($grouplist)
(argstr) = (sprintf("%d, %p", $gidsetsize, list_uaddr))
}
probe syscall.setgroups.return = kernel.function("sys_setgroups").return{
(name) = ("setgroups")
(retstr) = (returnstr(1))
}
probe syscall.sethostname = kernel.function("sys_sethostname"){
(name) = ("sethostname")
(hostname_uaddr) = ($name)
(name_str) = (user_string($name))
(len) = ($len)
(argstr) = (sprintf("%s, %d", user_string_quoted($name), $len))
}
probe syscall.sethostname.return = 
(s) = ($fd)

(buf_uaddr) = ($buff)

(len) = ($len)

(flags) = ($flags)

(flags_str) = (_send_flags_str($flags))

(to_uaddr) = ($addr)

(tolen) = ($addr_len)

(argstr) = (sprintf("%d, %p, %s, %p, %d", $fd, buf_uaddr, flags_str, to_uaddr, $addr_len))

}

probe syscall.send.return = kernel.function("sys_sendto").return{

(name) = ("send")

(retstr) = (returnstr(1))

}

probe syscall.sendfile = kernel.function("sys_sendfile")?, kernel.function("sys_sendfile64")?{

(name) = ("sendfile")

(out_fd) = ($out_fd)

(in_fd) = ($in_fd)

(offset_uaddr) = ($offset)

(count) = ($count)

(argstr) = (sprintf("%d, %d, %p, %d", $out_fd, $in_fd, offset_uaddr, $count))

}

probe syscall.sendfile.return = kernel.function("sys_sendfile").return?, kernel.function("sys_sendfile64").return?{

(name) = ("sendfile")

(retstr) = (returnstr(1))

}

probe syscall.sendmsg = kernel.function("sys_sendmsg"){

(name) = ("sendmsg")

(s) = ($fd)

(msg_uaddr) = ($msg)

(flags) = ($flags)

(flags_str) = (_send_flags_str($flags))

(argstr) = (sprintf("%d, %p, %s", $fd, msg_uaddr, flags_str))

}

probe syscall.sendmsg.return = kernel.function("sys_sendmsg").return{

(name) = ("sendmsg")

(retstr) = (returnstr(1))

}

probe syscall.sendto = kernel.function("sys_sendto"){

(name) = ("sendto")

(s) = ($fd)

(buf_uaddr) = ($buff)

(len) = ($len)

(flags) = ($flags)

(flags_str) = (_send_flags_str($flags))

(to_uaddr) = ($addr)

(tolen) = ($addr_len)

(argstr) = (sprintf("%d, %p, %d, %s, %p, %d", $fd, buf_uaddr, $len, flags_str, to_uaddr, $addr_len))

}

probe syscall.sendto.return = kernel.function("sys_sendto").return{

(name) = ("sendto")

(retstr) = (returnstr(1))

}

probe syscall.setdomainname = kernel.function("sys_setdomainname"){

(name) = ("setdomainname")

(hostname_uaddr) = ($name)

(len) = ($len)

(argstr) = ("")

}

probe syscall.setdomainname.return = kernel.function("sys_setdomainname").return{

(name) = ("setdomainname")

(retstr) = (returnstr(1))

}

probe syscall.setfsgid = kernel.function("sys_setfsgid"){

(name) = ("setfsgid")

(fsgid) = ($gid)

(argstr) = (sprint($gid))

}

probe syscall.setfsgid.return = kernel.function("sys_setfsgid").return{

(name) = ("setfsgid")

(retstr) = (returnstr(1))

}

probe syscall.setfsgid16 = kernel.function("sys_setfsgid16")?{

(name) = ("setfsgid16")

(gid) = ($gid)

(argstr) = (sprint($gid))

}

probe syscall.setfsgid16.return = kernel.function("sys_setfsgid16").return?{

(name) = ("setfsgid16")

(retstr) = (returnstr(1))

}

probe syscall.setfsuid = kernel.function("sys_setfsuid"){

(name) = ("setfsuid")

(fsuid) = ($uid)

(argstr) = (sprint($uid))

}

probe syscall.setfsuid.return = kernel.function("sys_setfsuid").return{

(name) = ("setfsuid")

(retstr) = (returnstr(1))

}

probe syscall.setfsuid16 = kernel.function("sys_setfsuid16")?{

(name) = ("setfsuid16")

(uid) = ($uid)

(argstr) = (sprint($uid))

}

probe syscall.setfsuid16.return = kernel.function("sys_setfsuid16").return?{

(name) = ("setfsuid16")

(retstr) = (returnstr(1))

}

probe syscall.setgid = kernel.function("sys_setgid"){

(name) = ("setgid")

(gid) = ($gid)

(argstr) = (sprint($gid))

}

probe syscall.setgid.return = kernel.function("sys_setgid").return{

(name) = ("setgid")

(retstr) = (returnstr(1))

}

probe syscall.setgid16 = kernel.function("sys_setgid16")?{

(name) = ("setgid16")

(gid) = ($gid)

(argstr) = (sprint($gid))

}

probe syscall.setgid16.return = kernel.function("sys_setgid16").return?{

(name) = ("setgid16")

(retstr) = (returnstr(1))

}

probe syscall.setgroups = kernel.function("sys_setgroups"){

(name) = ("setgroups")

(size) = ($gidsetsize)

(list_uaddr) = ($grouplist)

(argstr) = (sprintf("%d, %p", $gidsetsize, list_uaddr))

}

probe syscall.setgroups.return = kernel.function("sys_setgroups").return{

(name) = ("setgroups")

(retstr) = (returnstr(1))

}

probe syscall.sethostname = kernel.function("sys_sethostname"){

(name) = ("sethostname")

(hostname_uaddr) = ($name)

(name_str) = (user_string($name))

(len) = ($len)

(argstr) = (sprintf("%s, %d", user_string_quoted($name), $len))

}
kernel.function("sys_sethostname").return{
(name) = ("sethostname")
(retstr) = (returnstr(1))
}
probe syscall.setitimer = kernel.function("sys_setitimer"){
(name) = ("setitimer")
(which) = ($which)
(value_uaddr) = ($value)
(ovalue_uaddr) = ($ovalue)
(argstr) = (sprintf("%s, %s, %p", _itimer_which_str($which), _struct_itimerval_u($value), $ovalue))
}
probe syscall.setitimer.return = kernel.function("sys_setitimer").return{
(name) = ("setitimer")
(retstr) = (returnstr(1))
}
probe syscall.compat_setitimer = kernel.function("compat_sys_setitimer")?{
(name) = ("setitimer")
(which) = ($which)
(value_uaddr) = ($in)
(ovalue_uaddr) = ($out)
(argstr) = (sprintf("%s, %s, %p", _itimer_which_str($which), _struct_compat_itimerval_u($in), $out))
}
probe syscall.compat_setitimer.return = kernel.function("compat_sys_setitimer").return?{
(name) = ("setitimer")
(retstr) = (returnstr(1))
}
probe syscall.set_mempolicy = kernel.function("sys_set_mempolicy")?{
(name) = ("set_mempolicy")
(mode) = ($mode)
(nmask_uaddr) = ($nmask)
(maxnode) = ($maxnode)
(argstr) = (sprintf("%d, %p, %d", $mode, nmask_uaddr, $maxnode))
}
probe syscall.set_mempolicy.return = kernel.function("sys_set_mempolicy").return?{
(name) = ("set_mempolicy")
(retstr) = (returnstr(1))
}
probe syscall.setpgid = kernel.function("sys_setpgid"){
(name) = ("setpgid")
(pid) = ($pid)
(pgid) = ($pgid)
(argstr) = (sprintf("%d, %d", $pid, $pgid))
}
probe syscall.setpgid.return = kernel.function("sys_setpgid").return{
(name) = ("setpgid")
(retstr) = (returnstr(1))
}
probe syscall.setpriority = kernel.function("sys_setpriority"){
(name) = ("setpriority")
(which) = ($which)
(which_str) = (_priority_which_str($which))
(who) = ($who)
(prio) = ($niceval)
(argstr) = (sprintf("%s, %d, %d", which_str, $who, $niceval))
}
probe syscall.setpriority.return = kernel.function("sys_setpriority").return{
(name) = ("setpriority")
(retstr) = (returnstr(1))
}
probe syscall.setregid = kernel.function("sys_setregid"){
(name) = ("setregid")
(rgid) = (__uid($rgid))
(egid) = (__uid($egid))
(argstr) = (sprintf("%d, %d", rgid, egid))
}
probe syscall.setregid.return = kernel.function("sys_setregid").return{
(name) = ("setregid")
(retstr) = (returnstr(1))
}
probe syscall.setregid16 = kernel.function("sys_setregid16")?{
(name) = ("setregid16")
(rgid) = (__short($rgid))
(egid) = (__short($egid))
(argstr) = (sprintf("%d, %d", rgid, egid))
}
probe syscall.setregid16.return = kernel.function("sys_setregid16").return?{
(name) = ("setregid16")
(retstr) = (returnstr(1))
}
probe syscall.setresgid = kernel.function("sys_setresgid"){
(name) = ("setresgid")
(rgid) = (__uid($rgid))
(egid) = (__uid($egid))
(sgid) = (__uid($sgid))
(argstr) = (sprintf("%d, %d, %d", rgid, egid, sgid))
}
probe syscall.setresgid.return = kernel.function("sys_setresgid").return{
(name) = ("setresgid")
(retstr) = (returnstr(1))
}
probe syscall.setresgid16 = kernel.function("sys_setresgid16")?{
(name) = ("setresgid16")
(rgid) = (__short($rgid))
(egid) = (__short($egid))
(sgid) = (__short($sgid))
(argstr) = (sprintf("%d, %d, %d", rgid, egid, sgid))
}
probe syscall.setresgid16.return = kernel.function("sys_setresgid16").return?{
(name) = ("setresgid16")
(retstr) = (returnstr(1))
}
probe syscall.setresuid = kernel.function("sys_setresuid"){
(name) = ("setresuid")
(ruid) = (__uid($ruid))
(euid) = (__uid($euid))
(suid) = (__uid($suid))
(argstr) = (sprintf("%d, %d, %d", ruid, euid, suid))
}
probe syscall.setresuid.return = kernel.function("sys_setresuid").return{
(name) = ("setresuid")
(retstr) = (returnstr(1))
}
probe syscall.setresuid16 = kernel.function("sys_setresuid16")?{
(name) = ("setresuid16")
(ruid) = (__short($ruid))
(euid) = (__short($euid))
(suid) = (__short($suid))
(argstr) = (sprintf("%d, %d, %d", ruid, euid, suid))
}
probe syscall.setresuid16.return = kernel.function("sys_setresuid16").return?{
(name) = ("setresuid16")
(retstr) = (returnstr(1))
}
probe syscall.setreuid = kernel.function("sys_setreuid"){
(name) = ("setreuid"
probe syscall.sethostname.return = kernel.function("sys_sethostname").return{

(name) = ("sethostname")

(retstr) = (returnstr(1))

}

probe syscall.setitimer = kernel.function("sys_setitimer"){

(name) = ("setitimer")

(which) = ($which)

(value_uaddr) = ($value)

(ovalue_uaddr) = ($ovalue)

(argstr) = (sprintf("%s, %s, %p", _itimer_which_str($which), _struct_itimerval_u($value), $ovalue))

}

probe syscall.setitimer.return = kernel.function("sys_setitimer").return{

(name) = ("setitimer")

(retstr) = (returnstr(1))

}

probe syscall.compat_setitimer = kernel.function("compat_sys_setitimer")?{

(name) = ("setitimer")

(which) = ($which)

(value_uaddr) = ($in)

(ovalue_uaddr) = ($out)

(argstr) = (sprintf("%s, %s, %p", _itimer_which_str($which), _struct_compat_itimerval_u($in), $out))

}

probe syscall.compat_setitimer.return = kernel.function("compat_sys_setitimer").return?{

(name) = ("setitimer")

(retstr) = (returnstr(1))

}

probe syscall.set_mempolicy = kernel.function("sys_set_mempolicy")?{

(name) = ("set_mempolicy")

(mode) = ($mode)

(nmask_uaddr) = ($nmask)

(maxnode) = ($maxnode)

(argstr) = (sprintf("%d, %p, %d", $mode, nmask_uaddr, $maxnode))

}

probe syscall.set_mempolicy.return = kernel.function("sys_set_mempolicy").return?{

(name) = ("set_mempolicy")

(retstr) = (returnstr(1))

}

probe syscall.setpgid = kernel.function("sys_setpgid"){

(name) = ("setpgid")

(pid) = ($pid)

(pgid) = ($pgid)

(argstr) = (sprintf("%d, %d", $pid, $pgid))

}

probe syscall.setpgid.return = kernel.function("sys_setpgid").return{

(name) = ("setpgid")

(retstr) = (returnstr(1))

}

probe syscall.setpriority = kernel.function("sys_setpriority"){

(name) = ("setpriority")

(which) = ($which)

(which_str) = (_priority_which_str($which))

(who) = ($who)

(prio) = ($niceval)

(argstr) = (sprintf("%s, %d, %d", which_str, $who, $niceval))

}

probe syscall.setpriority.return = kernel.function("sys_setpriority").return{

(name) = ("setpriority")

(retstr) = (returnstr(1))

}

probe syscall.setregid = kernel.function("sys_setregid"){

(name) = ("setregid")

(rgid) = (__uid($rgid))

(egid) = (__uid($egid))

(argstr) = (sprintf("%d, %d", rgid, egid))

}

probe syscall.setregid.return = kernel.function("sys_setregid").return{

(name) = ("setregid")

(retstr) = (returnstr(1))

}

probe syscall.setregid16 = kernel.function("sys_setregid16")?{

(name) = ("setregid16")

(rgid) = (__short($rgid))

(egid) = (__short($egid))

(argstr) = (sprintf("%d, %d", rgid, egid))

}

probe syscall.setregid16.return = kernel.function("sys_setregid16").return?{

(name) = ("setregid16")

(retstr) = (returnstr(1))

}

probe syscall.setresgid = kernel.function("sys_setresgid"){

(name) = ("setresgid")

(rgid) = (__uid($rgid))

(egid) = (__uid($egid))

(sgid) = (__uid($sgid))

(argstr) = (sprintf("%d, %d, %d", rgid, egid, sgid))

}

probe syscall.setresgid.return = kernel.function("sys_setresgid").return{

(name) = ("setresgid")

(retstr) = (returnstr(1))

}

probe syscall.setresgid16 = kernel.function("sys_setresgid16")?{

(name) = ("setresgid16")

(rgid) = (__short($rgid))

(egid) = (__short($egid))

(sgid) = (__short($sgid))

(argstr) = (sprintf("%d, %d, %d", rgid, egid, sgid))

}

probe syscall.setresgid16.return = kernel.function("sys_setresgid16").return?{

(name) = ("setresgid16")

(retstr) = (returnstr(1))

}

probe syscall.setresuid = kernel.function("sys_setresuid"){

(name) = ("setresuid")

(ruid) = (__uid($ruid))

(euid) = (__uid($euid))

(suid) = (__uid($suid))

(argstr) = (sprintf("%d, %d, %d", ruid, euid, suid))

}

probe syscall.setresuid.return = kernel.function("sys_setresuid").return{

(name) = ("setresuid")

(retstr) = (returnstr(1))

}

probe syscall.setresuid16 = kernel.function("sys_setresuid16")?{

(name) = ("setresuid16")

(ruid) = (__short($ruid))

(euid) = (__short($euid))

(suid) = (__short($suid))

(argstr) = (sprintf("%d, %d, %d", ruid, euid, suid))

}

probe syscall.setresuid16.return = kernel.function("sys_setresuid16").return?{

(name) = ("setresuid16")

(retstr) = (returnstr(1))

}

probe syscall.setreuid = kernel.function("sys_setreuid"){
)
(ruid) = (__uid($ruid))
(euid) = (__uid($euid))
(argstr) = (sprintf("%d, %d", ruid, euid))
}
probe syscall.setreuid.return = kernel.function("sys_setreuid").return{
(name) = ("setreuid")
(retstr) = (returnstr(1))
}
probe syscall.setreuid16 = kernel.function("sys_setreuid16")?{
(name) = ("setreuid16")
(ruid) = (__short($ruid))
(euid) = (__short($euid))
(argstr) = (sprintf("%d, %d", ruid, euid))
}
probe syscall.setreuid16.return = kernel.function("sys_setreuid16").return?{
(name) = ("setreuid16")
(retstr) = (returnstr(1))
}
probe syscall.setrlimit = kernel.function("sys_setrlimit"){
(name) = ("setrlimit")
(resource) = ($resource)
(rlim_uaddr) = ($rlim)
(argstr) = (sprintf("%s, %s", _rlimit_resource_str($resource), _struct_rlimit_u($rlim)))
}
probe syscall.setrlimit.return = kernel.function("sys_setrlimit").return{
(name) = ("setrlimit")
(retstr) = (returnstr(1))
}
probe syscall.setsid = kernel.function("sys_setsid"){
(name) = ("setsid")
(argstr) = ("")
}
probe syscall.setsid.return = kernel.function("sys_setsid").return{
(name) = ("setsid")
(retstr) = (returnstr(1))
}
probe syscall.setsockopt = kernel.function("sys_setsockopt"){
(name) = ("setsockopt")
(fd) = ($fd)
(level) = ($level)
(level_str) = (_sockopt_level_str($level))
(optname) = ($optname)
(optname_str) = (_sockopt_optname_str($optname))
(optval_uaddr) = ($optval)
(optlen) = ($optlen)
(argstr) = (sprintf("%d, %s, %s, %p, %d", $fd, level_str, optname_str, optval_uaddr, $optlen))
}
probe syscall.setsockopt.return = kernel.function("sys_setsockopt").return{
(name) = ("setsockopt")
(retstr) = (returnstr(1))
}
probe syscall.set_tid_address = kernel.function("sys_set_tid_address"){
(name) = ("set_tid_address")
(tidptr_uaddr) = ($tidptr)
(argstr) = (sprintf("%p", tidptr_uaddr))
}
probe syscall.set_tid_address.return = kernel.function("sys_set_tid_address").return{
(name) = ("set_tid_address")
(retstr) = (returnstr(1))
}
probe syscall.settimeofday = kernel.function("sys_settimeofday"){
(name) = ("settimeofday")
(tv_uaddr) = ($tv)
(tz_uaddr) = ($tz)
(argstr) = (sprintf("%s, %s", _struct_timeval_u($tv), _struct_timezone_u($tz)))
}
probe syscall.settimeofday.return = kernel.function("sys_settimeofday").return{
(name) = ("settimeofday")
(retstr) = (returnstr(1))
}
probe syscall.settimeofday32 = kernel.function("sys32_settimeofday")?{
(name) = ("settimeofday")
(tv_uaddr) = ($tv)
(tz_uaddr) = ($tz)
(argstr) = (sprintf("%s, %s", _struct_compat_timeval_u($tv), _struct_timezone_u($tz)))
}
probe syscall.settimeofday32.return = kernel.function("sys32_settimeofday").return?{
(name) = ("settimeofday")
(retstr) = (returnstr(1))
}
probe syscall.setuid = kernel.function("sys_setuid"){
(name) = ("setuid")
(uid) = ($uid)
(argstr) = (sprint($uid))
}
probe syscall.setuid.return = kernel.function("sys_setuid").return{
(name) = ("setuid")
(retstr) = (returnstr(1))
}
probe syscall.setuid16 = kernel.function("sys_setuid16")?{
(name) = ("setuid16")
(uid) = ($uid)
(argstr) = (sprint($uid))
}
probe syscall.setuid16.return = kernel.function("sys_setuid16").return?{
(name) = ("setuid16")
(retstr) = (returnstr(1))
}
probe syscall.setxattr = kernel.function("sys_setxattr"){
(name) = ("setxattr")
(path_uaddr) = ($path)
(path) = (user_string($path))
(name_uaddr) = ($name)
(name_str) = (user_string($name))
(value_uaddr) = ($value)
(size) = ($size)
(flags) = ($flags)
(argstr) = (sprintf("%s, %s, %p, %d, %d", user_string_quoted($path), user_string_quoted($name), value_uaddr, $size, $flags))
}
probe syscall.setxattr.return = kernel.function("sys_setxattr").return{
(name) = ("setxattr")
(retstr) = (returnstr(1))
}
probe syscall.sgetmask = kernel.function("sys_sgetmask"){
(name) = ("sgetmask")
(argstr) = ("")
}
probe syscall.sgetmask.return = kernel.function("sys_sgetmask").return{
(name) = ("sgetmask")
(retstr) = (returnstr(1))
}
probe syscall.shmctl = kernel.function("sys_shmctl"){
(name) = ("shmctl")
(shmid) = ($shmid)
(cmd) = ($cmd)
(buf_uaddr) = ($buf)
(argstr) = (sprintf("%d, 
(name) = ("setreuid")

(ruid) = (__uid($ruid))

(euid) = (__uid($euid))

(argstr) = (sprintf("%d, %d", ruid, euid))

}

probe syscall.setreuid.return = kernel.function("sys_setreuid").return{

(name) = ("setreuid")

(retstr) = (returnstr(1))

}

probe syscall.setreuid16 = kernel.function("sys_setreuid16")?{

(name) = ("setreuid16")

(ruid) = (__short($ruid))

(euid) = (__short($euid))

(argstr) = (sprintf("%d, %d", ruid, euid))

}

probe syscall.setreuid16.return = kernel.function("sys_setreuid16").return?{

(name) = ("setreuid16")

(retstr) = (returnstr(1))

}

probe syscall.setrlimit = kernel.function("sys_setrlimit"){

(name) = ("setrlimit")

(resource) = ($resource)

(rlim_uaddr) = ($rlim)

(argstr) = (sprintf("%s, %s", _rlimit_resource_str($resource), _struct_rlimit_u($rlim)))

}

probe syscall.setrlimit.return = kernel.function("sys_setrlimit").return{

(name) = ("setrlimit")

(retstr) = (returnstr(1))

}

probe syscall.setsid = kernel.function("sys_setsid"){

(name) = ("setsid")

(argstr) = ("")

}

probe syscall.setsid.return = kernel.function("sys_setsid").return{

(name) = ("setsid")

(retstr) = (returnstr(1))

}

probe syscall.setsockopt = kernel.function("sys_setsockopt"){

(name) = ("setsockopt")

(fd) = ($fd)

(level) = ($level)

(level_str) = (_sockopt_level_str($level))

(optname) = ($optname)

(optname_str) = (_sockopt_optname_str($optname))

(optval_uaddr) = ($optval)

(optlen) = ($optlen)

(argstr) = (sprintf("%d, %s, %s, %p, %d", $fd, level_str, optname_str, optval_uaddr, $optlen))

}

probe syscall.setsockopt.return = kernel.function("sys_setsockopt").return{

(name) = ("setsockopt")

(retstr) = (returnstr(1))

}

probe syscall.set_tid_address = kernel.function("sys_set_tid_address"){

(name) = ("set_tid_address")

(tidptr_uaddr) = ($tidptr)

(argstr) = (sprintf("%p", tidptr_uaddr))

}

probe syscall.set_tid_address.return = kernel.function("sys_set_tid_address").return{

(name) = ("set_tid_address")

(retstr) = (returnstr(1))

}

probe syscall.settimeofday = kernel.function("sys_settimeofday"){

(name) = ("settimeofday")

(tv_uaddr) = ($tv)

(tz_uaddr) = ($tz)

(argstr) = (sprintf("%s, %s", _struct_timeval_u($tv), _struct_timezone_u($tz)))

}

probe syscall.settimeofday.return = kernel.function("sys_settimeofday").return{

(name) = ("settimeofday")

(retstr) = (returnstr(1))

}

probe syscall.settimeofday32 = kernel.function("sys32_settimeofday")?{

(name) = ("settimeofday")

(tv_uaddr) = ($tv)

(tz_uaddr) = ($tz)

(argstr) = (sprintf("%s, %s", _struct_compat_timeval_u($tv), _struct_timezone_u($tz)))

}

probe syscall.settimeofday32.return = kernel.function("sys32_settimeofday").return?{

(name) = ("settimeofday")

(retstr) = (returnstr(1))

}

probe syscall.setuid = kernel.function("sys_setuid"){

(name) = ("setuid")

(uid) = ($uid)

(argstr) = (sprint($uid))

}

probe syscall.setuid.return = kernel.function("sys_setuid").return{

(name) = ("setuid")

(retstr) = (returnstr(1))

}

probe syscall.setuid16 = kernel.function("sys_setuid16")?{

(name) = ("setuid16")

(uid) = ($uid)

(argstr) = (sprint($uid))

}

probe syscall.setuid16.return = kernel.function("sys_setuid16").return?{

(name) = ("setuid16")

(retstr) = (returnstr(1))

}

probe syscall.setxattr = kernel.function("sys_setxattr"){

(name) = ("setxattr")

(path_uaddr) = ($path)

(path) = (user_string($path))

(name_uaddr) = ($name)

(name_str) = (user_string($name))

(value_uaddr) = ($value)

(size) = ($size)

(flags) = ($flags)

(argstr) = (sprintf("%s, %s, %p, %d, %d", user_string_quoted($path), user_string_quoted($name), value_uaddr, $size, $flags))

}

probe syscall.setxattr.return = kernel.function("sys_setxattr").return{

(name) = ("setxattr")

(retstr) = (returnstr(1))

}

probe syscall.sgetmask = kernel.function("sys_sgetmask"){

(name) = ("sgetmask")

(argstr) = ("")

}

probe syscall.sgetmask.return = kernel.function("sys_sgetmask").return{

(name) = ("sgetmask")

(retstr) = (returnstr(1))

}

probe syscall.shmctl = kernel.function("sys_shmctl"){

(name) = ("shmctl")

(shmid) = ($shmid)

(cmd) = ($cmd)

(buf_uaddr) = ($buf)
%s, %p", $shmid, _semctl_cmd($cmd), buf_uaddr))
}
probe syscall.shmctl.return = kernel.function("sys_shmctl").return{
(name) = ("shmctl")
(retstr) = (returnstr(1))
}
probe syscall.shmdt = kernel.function("sys_shmdt"){
(name) = ("shmdt")
(shmaddr_uaddr) = ($shmaddr)
(argstr) = (sprintf("%p", shmaddr_uaddr))
}
probe syscall.shmdt.return = kernel.function("sys_shmdt").return{
(name) = ("shmdt")
(retstr) = (returnstr(1))
}
probe syscall.shmget = kernel.function("sys_shmget"){
(name) = ("shmget")
(key) = ($key)
(size) = ($size)
(shmflg) = ($shmflg)
(argstr) = (sprintf("%d, %d, %d", $key, $size, $shmflg))
}
probe syscall.shmget.return = kernel.function("sys_shmget").return{
(name) = ("shmget")
(retstr) = (returnstr(1))
}
probe syscall.shutdown = kernel.function("sys_shutdown"){
(name) = ("shutdown")
(s) = ($fd)
(how) = ($how)
(how_str) = (_shutdown_how_str($how))
(argstr) = (sprintf("%d, %s", s, how_str))
}
probe syscall.shutdown.return = kernel.function("sys_shutdown").return{
(name) = ("shutdown")
(retstr) = (returnstr(1))
}
probe syscall.signal = kernel.function("sys_signal"){
(name) = ("signal")
(sig) = ($sig)
(handler) = ($handler)
(argstr) = (sprintf("%s, %p", _signal_name($sig), $handler))
}
probe syscall.signal.return = kernel.function("sys_signal").return{
(name) = ("signal")
(retstr) = (returnstr(1))
}
probe syscall.sigpending = kernel.function("do_sigpending"){
(name) = ("sigpending")
(set_uaddr) = ($set)
(sigsetsize) = ($sigsetsize)
(argstr) = (sprintf("%p, %d", $set, $sigsetsize))
}
probe syscall.sigpending.return = kernel.function("do_sigpending").return{
(name) = ("sigpending")
(retstr) = (returnstr(1))
}
probe syscall.sigprocmask = kernel.function("sys_sigprocmask"){
(name) = ("sigprocmask")
(how) = ($how)
(how_str) = (_sigprocmask_how_str($how))
(set_uaddr) = ($set)
(oldset_uaddr) = ($oset)
(argstr) = (sprintf("%s, %p, %p", how_str, $set, $oset))
}
probe syscall.sigprocmask.return = kernel.function("sys_sigprocmask").return{
(name) = ("sigprocmask")
(retstr) = (returnstr(1))
}
probe syscall.socket = kernel.function("sys_socket"){
(name) = ("socket")
(family) = ($family)
(type) = ($type)
(protocol) = ($protocol)
(argstr) = (sprintf("%s, %s, %d", _sock_family_str($family), _sock_type_str($type), $protocol))
}
probe syscall.socket.return = kernel.function("sys_socket").return{
(name) = ("socket")
(retstr) = (returnstr(1))
}
probe syscall.socketpair = kernel.function("sys_socketpair"){
(name) = ("socketpair")
(family) = ($family)
(type) = ($type)
(protocol) = ($protocol)
(sv_uaddr) = ($usockvec)
(argstr) = (sprintf("%s, %s, %d, %p", _sock_family_str($family), _sock_type_str($type), $protocol, sv_uaddr))
}
probe syscall.socketpair.return = kernel.function("sys_socketpair").return{
(name) = ("socketpair")
(retstr) = (returnstr(1))
}
probe syscall.ssetmask = kernel.function("sys_ssetmask"){
(name) = ("ssetmask")
(newmask) = ($newmask)
(argstr) = (sprint($newmask))
}
probe syscall.ssetmask.return = kernel.function("sys_ssetmask").return{
(name) = ("ssetmask")
(retstr) = (returnstr(1))
}
probe syscall.stat = kernel.function("sys_stat")?, kernel.function("sys_newstat")?, kernel.function("sys32_stat64")?, kernel.function("sys_stat64")?, kernel.function("compat_sys_newstat")?{
(name) = ("stat")
(filename_uaddr) = ($filename)
(filename) = (user_string($filename))
(buf_uaddr) = ($statbuf)
(argstr) = (sprintf("%s, %p", user_string_quoted($filename), buf_uaddr))
}
probe syscall.stat.return = kernel.function("sys_stat").return?, kernel.function("sys_newstat").return?, kernel.function("sys32_stat64").return?, kernel.function("sys_stat64").return?, kernel.function("compat_sys_newstat").return?{
(name) = ("stat")
(retstr) = (returnstr(1))
}
probe syscall.statfs = kernel.function("sys_statfs"), kernel.function("compat_sys_statfs")?{
(name) = ("statfs")
(path) = (user_string($path))
(buf_uaddr) = ($buf)
(argstr) = (sprintf("%s, %p", user_string_quoted($path), $buf))
}
probe syscall.statfs.return = kernel.function("
(argstr) = (sprintf("%d, %s, %p", $shmid, _semctl_cmd($cmd), buf_uaddr))

}

probe syscall.shmctl.return = kernel.function("sys_shmctl").return{

(name) = ("shmctl")

(retstr) = (returnstr(1))

}

probe syscall.shmdt = kernel.function("sys_shmdt"){

(name) = ("shmdt")

(shmaddr_uaddr) = ($shmaddr)

(argstr) = (sprintf("%p", shmaddr_uaddr))

}

probe syscall.shmdt.return = kernel.function("sys_shmdt").return{

(name) = ("shmdt")

(retstr) = (returnstr(1))

}

probe syscall.shmget = kernel.function("sys_shmget"){

(name) = ("shmget")

(key) = ($key)

(size) = ($size)

(shmflg) = ($shmflg)

(argstr) = (sprintf("%d, %d, %d", $key, $size, $shmflg))

}

probe syscall.shmget.return = kernel.function("sys_shmget").return{

(name) = ("shmget")

(retstr) = (returnstr(1))

}

probe syscall.shutdown = kernel.function("sys_shutdown"){

(name) = ("shutdown")

(s) = ($fd)

(how) = ($how)

(how_str) = (_shutdown_how_str($how))

(argstr) = (sprintf("%d, %s", s, how_str))

}

probe syscall.shutdown.return = kernel.function("sys_shutdown").return{

(name) = ("shutdown")

(retstr) = (returnstr(1))

}

probe syscall.signal = kernel.function("sys_signal"){

(name) = ("signal")

(sig) = ($sig)

(handler) = ($handler)

(argstr) = (sprintf("%s, %p", _signal_name($sig), $handler))

}

probe syscall.signal.return = kernel.function("sys_signal").return{

(name) = ("signal")

(retstr) = (returnstr(1))

}

probe syscall.sigpending = kernel.function("do_sigpending"){

(name) = ("sigpending")

(set_uaddr) = ($set)

(sigsetsize) = ($sigsetsize)

(argstr) = (sprintf("%p, %d", $set, $sigsetsize))

}

probe syscall.sigpending.return = kernel.function("do_sigpending").return{

(name) = ("sigpending")

(retstr) = (returnstr(1))

}

probe syscall.sigprocmask = kernel.function("sys_sigprocmask"){

(name) = ("sigprocmask")

(how) = ($how)

(how_str) = (_sigprocmask_how_str($how))

(set_uaddr) = ($set)

(oldset_uaddr) = ($oset)

(argstr) = (sprintf("%s, %p, %p", how_str, $set, $oset))

}

probe syscall.sigprocmask.return = kernel.function("sys_sigprocmask").return{

(name) = ("sigprocmask")

(retstr) = (returnstr(1))

}

probe syscall.socket = kernel.function("sys_socket"){

(name) = ("socket")

(family) = ($family)

(type) = ($type)

(protocol) = ($protocol)

(argstr) = (sprintf("%s, %s, %d", _sock_family_str($family), _sock_type_str($type), $protocol))

}

probe syscall.socket.return = kernel.function("sys_socket").return{

(name) = ("socket")

(retstr) = (returnstr(1))

}

probe syscall.socketpair = kernel.function("sys_socketpair"){

(name) = ("socketpair")

(family) = ($family)

(type) = ($type)

(protocol) = ($protocol)

(sv_uaddr) = ($usockvec)

(argstr) = (sprintf("%s, %s, %d, %p", _sock_family_str($family), _sock_type_str($type), $protocol, sv_uaddr))

}

probe syscall.socketpair.return = kernel.function("sys_socketpair").return{

(name) = ("socketpair")

(retstr) = (returnstr(1))

}

probe syscall.ssetmask = kernel.function("sys_ssetmask"){

(name) = ("ssetmask")

(newmask) = ($newmask)

(argstr) = (sprint($newmask))

}

probe syscall.ssetmask.return = kernel.function("sys_ssetmask").return{

(name) = ("ssetmask")

(retstr) = (returnstr(1))

}

probe syscall.stat = kernel.function("sys_stat")?, kernel.function("sys_newstat")?, kernel.function("sys32_stat64")?, kernel.function("sys_stat64")?, kernel.function("compat_sys_newstat")?{

(name) = ("stat")

(filename_uaddr) = ($filename)

(filename) = (user_string($filename))

(buf_uaddr) = ($statbuf)

(argstr) = (sprintf("%s, %p", user_string_quoted($filename), buf_uaddr))

}

probe syscall.stat.return = kernel.function("sys_stat").return?, kernel.function("sys_newstat").return?, kernel.function("sys32_stat64").return?, kernel.function("sys_stat64").return?, kernel.function("compat_sys_newstat").return?{

(name) = ("stat")

(retstr) = (returnstr(1))

}

probe syscall.statfs = kernel.function("sys_statfs"), kernel.function("compat_sys_statfs")?{

(name) = ("statfs")

(path) = (user_string($path))

(buf_uaddr) = ($buf)

(argstr) = (sprintf("%s, %p", user_string_quoted($path), $buf))

}
sys_statfs").return, kernel.function("compat_sys_statfs").return?{
(name) = ("statfs")
(retstr) = (returnstr(1))
}
probe syscall.statfs64 = kernel.function("sys_statfs64"){
(name) = ("statfs64")
(path) = (user_string($path))
(sz) = ($sz)
(buf_uaddr) = ($buf)
(argstr) = (sprintf("%s, %d, %p", user_string_quoted($path), $sz, $buf))
}
probe syscall.statfs64.return = kernel.function("sys_statfs64").return{
(name) = ("statfs64")
(retstr) = (returnstr(1))
}
probe syscall.stime = kernel.function("sys_stime"){
(name) = ("stime")
(t_uaddr) = ($tptr)
(argstr) = (sprintf("%p", t_uaddr))
}
probe syscall.stime.return = kernel.function("sys_stime").return{
(name) = ("stime")
(retstr) = (returnstr(1))
}
probe syscall.swapoff = kernel.function("sys_swapoff"){
(name) = ("swapoff")
(path) = (user_string($specialfile))
(argstr) = (user_string_quoted($specialfile))
}
probe syscall.swapoff.return = kernel.function("sys_swapoff").return{
(name) = ("swapoff")
(retstr) = (returnstr(1))
}
probe syscall.swapon = kernel.function("sys_swapon"){
(name) = ("swapon")
(path) = (user_string($specialfile))
(swapflags) = ($swap_flags)
(argstr) = (sprintf("%s, %d", user_string_quoted($specialfile), swapflags))
}
probe syscall.swapon.return = kernel.function("sys_swapon").return{
(name) = ("swapon")
(retstr) = (returnstr(1))
}
probe syscall.symlink = kernel.function("sys_symlink"){
(name) = ("symlink")
(oldpath) = (user_string($oldname))
(newpath) = (user_string($newname))
(argstr) = (sprintf("%s, %s", user_string_quoted($oldname), user_string_quoted($newname)))
}
probe syscall.symlink.return = kernel.function("sys_symlink").return{
(name) = ("symlink")
(retstr) = (returnstr(1))
}
probe syscall.sync = kernel.function("sys_sync"){
(name) = ("sync")
(argstr) = ("")
}
probe syscall.sync.return = kernel.function("sys_sync").return{
(name) = ("sync")
(retstr) = (returnstr(1))
}
probe syscall.sysctl = kernel.function("sys_sysctl"){
(name) = ("sysctl")
(args_uaddr) = ($args)
(argstr) = (sprintf("%p", args_uaddr))
}
probe syscall.sysctl.return = kernel.function("sys_sysctl").return{
(name) = ("sysctl")
(retstr) = (returnstr(1))
}
probe syscall.sysfs = kernel.function("sys_sysfs"){
(name) = ("sysfs")
(option) = ($option)
(arg1) = ($arg1)
(arg2) = ($arg2)
(argstr) = (sprintf("%d, %d, %d", $option, $arg1, $arg2))
}
probe syscall.sysfs.return = kernel.function("sys_sysfs").return{
(name) = ("sysfs")
(retstr) = (returnstr(1))
}
probe syscall.sysinfo = kernel.function("sys_sysinfo"){
(name) = ("sysinfo")
(info_uaddr) = ($info)
(argstr) = (sprintf("%p", info_uaddr))
}
probe syscall.sysinfo.return = kernel.function("sys_sysinfo").return{
(name) = ("sysinfo")
(retstr) = (returnstr(1))
}
probe syscall.syslog = kernel.function("do_syslog"){
(name) = ("syslog")
(type) = ($type)
(bufp_uaddr) = ($buf)
(len) = ($len)
(argstr) = (sprintf("%d, %p, %d", $type, bufp_uaddr, $len))
}
probe syscall.syslog.return = kernel.function("do_syslog").return{
(name) = ("syslog")
(retstr) = (returnstr(1))
}
probe syscall.tgkill = kernel.function("sys_tgkill"){
(name) = ("tgkill")
(tgid) = ($tgid)
(pid) = ($pid)
(sig) = ($sig)
(argstr) = (sprintf("%d, %d, %s", $tgid, $pid, _signal_name($sig)))
}
probe syscall.tgkill.return = kernel.function("sys_tgkill").return{
(name) = ("tgkill")
(retstr) = (returnstr(1))
}
probe syscall.time = kernel.function("sys_time"), kernel.function("sys32_time")?, kernel.function("sys_time64")?, kernel.function("compat_sys_time")?{
(name) = ("time")
(t_uaddr) = ($tloc)
(argstr) = (sprintf("%p", $tloc))
}
probe syscall.time.return = kernel.function("sys_time").return, kernel.function("sys32_time").return?, kernel.function("sys_time64").return?, kernel.function("compat_sys_time").return?{
(name) = ("time")
(retstr) = (returnstr(1))
}
probe syscall.timer_create = kernel.function("sys_timer_create"){
(name) = ("timer_create")
(clockid) = ($which_clock)
(clockid_str) = (_get_wc_str($which_clock))
(evp_uaddr) = ($timer_event_spec)
(timerid_uaddr) = ($cr
probe syscall.statfs.return = kernel.function("sys_statfs").return, kernel.function("compat_sys_statfs").return?{

(name) = ("statfs")

(retstr) = (returnstr(1))

}

probe syscall.statfs64 = kernel.function("sys_statfs64"){

(name) = ("statfs64")

(path) = (user_string($path))

(sz) = ($sz)

(buf_uaddr) = ($buf)

(argstr) = (sprintf("%s, %d, %p", user_string_quoted($path), $sz, $buf))

}

probe syscall.statfs64.return = kernel.function("sys_statfs64").return{

(name) = ("statfs64")

(retstr) = (returnstr(1))

}

probe syscall.stime = kernel.function("sys_stime"){

(name) = ("stime")

(t_uaddr) = ($tptr)

(argstr) = (sprintf("%p", t_uaddr))

}

probe syscall.stime.return = kernel.function("sys_stime").return{

(name) = ("stime")

(retstr) = (returnstr(1))

}

probe syscall.swapoff = kernel.function("sys_swapoff"){

(name) = ("swapoff")

(path) = (user_string($specialfile))

(argstr) = (user_string_quoted($specialfile))

}

probe syscall.swapoff.return = kernel.function("sys_swapoff").return{

(name) = ("swapoff")

(retstr) = (returnstr(1))

}

probe syscall.swapon = kernel.function("sys_swapon"){

(name) = ("swapon")

(path) = (user_string($specialfile))

(swapflags) = ($swap_flags)

(argstr) = (sprintf("%s, %d", user_string_quoted($specialfile), swapflags))

}

probe syscall.swapon.return = kernel.function("sys_swapon").return{

(name) = ("swapon")

(retstr) = (returnstr(1))

}

probe syscall.symlink = kernel.function("sys_symlink"){

(name) = ("symlink")

(oldpath) = (user_string($oldname))

(newpath) = (user_string($newname))

(argstr) = (sprintf("%s, %s", user_string_quoted($oldname), user_string_quoted($newname)))

}

probe syscall.symlink.return = kernel.function("sys_symlink").return{

(name) = ("symlink")

(retstr) = (returnstr(1))

}

probe syscall.sync = kernel.function("sys_sync"){

(name) = ("sync")

(argstr) = ("")

}

probe syscall.sync.return = kernel.function("sys_sync").return{

(name) = ("sync")

(retstr) = (returnstr(1))

}

probe syscall.sysctl = kernel.function("sys_sysctl"){

(name) = ("sysctl")

(args_uaddr) = ($args)

(argstr) = (sprintf("%p", args_uaddr))

}

probe syscall.sysctl.return = kernel.function("sys_sysctl").return{

(name) = ("sysctl")

(retstr) = (returnstr(1))

}

probe syscall.sysfs = kernel.function("sys_sysfs"){

(name) = ("sysfs")

(option) = ($option)

(arg1) = ($arg1)

(arg2) = ($arg2)

(argstr) = (sprintf("%d, %d, %d", $option, $arg1, $arg2))

}

probe syscall.sysfs.return = kernel.function("sys_sysfs").return{

(name) = ("sysfs")

(retstr) = (returnstr(1))

}

probe syscall.sysinfo = kernel.function("sys_sysinfo"){

(name) = ("sysinfo")

(info_uaddr) = ($info)

(argstr) = (sprintf("%p", info_uaddr))

}

probe syscall.sysinfo.return = kernel.function("sys_sysinfo").return{

(name) = ("sysinfo")

(retstr) = (returnstr(1))

}

probe syscall.syslog = kernel.function("do_syslog"){

(name) = ("syslog")

(type) = ($type)

(bufp_uaddr) = ($buf)

(len) = ($len)

(argstr) = (sprintf("%d, %p, %d", $type, bufp_uaddr, $len))

}

probe syscall.syslog.return = kernel.function("do_syslog").return{

(name) = ("syslog")

(retstr) = (returnstr(1))

}

probe syscall.tgkill = kernel.function("sys_tgkill"){

(name) = ("tgkill")

(tgid) = ($tgid)

(pid) = ($pid)

(sig) = ($sig)

(argstr) = (sprintf("%d, %d, %s", $tgid, $pid, _signal_name($sig)))

}

probe syscall.tgkill.return = kernel.function("sys_tgkill").return{

(name) = ("tgkill")

(retstr) = (returnstr(1))

}

probe syscall.time = kernel.function("sys_time"), kernel.function("sys32_time")?, kernel.function("sys_time64")?, kernel.function("compat_sys_time")?{

(name) = ("time")

(t_uaddr) = ($tloc)

(argstr) = (sprintf("%p", $tloc))

}

probe syscall.time.return = kernel.function("sys_time").return, kernel.function("sys32_time").return?, kernel.function("sys_time64").return?, kernel.function("compat_sys_time").return?{

(name) = ("time")

(retstr) = (returnstr(1))

}

probe syscall.timer_create = kernel.function("sys_timer_create"){

(name) = ("timer_create")

(clockid) = ($which_clock)

(clockid_str) = (_get_wc_str($which_clock))

(evp_uaddr) = ($timer_event_spec)
eated_timer_id)
(argstr) = (sprintf("%s, %p, %p", clockid_str, $timer_event_spec, $created_timer_id))
}
probe syscall.timer_create.return = kernel.function("sys_timer_create").return{
(name) = ("timer_create")
(retstr) = (returnstr(1))
}
probe syscall.timer_delete = kernel.function("sys_timer_delete"){
(name) = ("timer_delete")
(timerid) = ($timer_id)
(argstr) = (sprint($timer_id))
}
probe syscall.timer_delete.return = kernel.function("sys_timer_delete").return{
(name) = ("timer_delete")
(retstr) = (returnstr(1))
}
probe syscall.timer_getoverrun = kernel.function("sys_timer_getoverrun"){
(name) = ("timer_getoverrun")
(timerid) = ($timer_id)
(argstr) = (sprint($timer_id))
}
probe syscall.timer_getoverrun.return = kernel.function("sys_timer_getoverrun").return{
(name) = ("timer_getoverrun")
(retstr) = (returnstr(1))
}
probe syscall.timer_gettime = kernel.function("sys_timer_gettime"){
(name) = ("timer_gettime")
(timerid) = ($timer_id)
(value_uaddr) = ($setting)
(argstr) = (sprintf("%d, %p", $timer_id, $setting))
}
probe syscall.timer_gettime.return = kernel.function("sys_timer_gettime").return{
(name) = ("timer_gettime")
(retstr) = (returnstr(1))
}
probe syscall.timer_settime = kernel.function("sys_timer_settime"){
(name) = ("timer_settime")
(timerid) = ($timer_id)
(flags) = ($flags)
(value_uaddr) = ($new_setting)
(ovalue_uaddr) = ($old_setting)
(argstr) = (sprintf("%d, %d, %s, %p", $timer_id, $flags, _struct_itimerspec_u($new_setting), $old_setting))
}
probe syscall.timer_settime.return = kernel.function("sys_timer_settime").return{
(name) = ("timer_settime")
(retstr) = (returnstr(1))
}
probe syscall.times = kernel.function("sys_times"){
(name) = ("times")
(buf_uaddr) = ($tbuf)
(argstr) = (sprintf("%p", buf_uaddr))
}
probe syscall.times.return = kernel.function("sys_times").return{
(name) = ("times")
(retstr) = (returnstr(1))
}
probe syscall.tkill = kernel.function("sys_tkill"){
(name) = ("tkill")
(pid) = ($pid)
(sig) = ($sig)
(argstr) = (sprintf("%d, %s", $pid, _signal_name($sig)))
}
probe syscall.tkill.return = kernel.function("sys_tkill").return{
(name) = ("tkill")
(retstr) = (returnstr(1))
}
probe syscall.truncate = kernel.function("sys_truncate")?, kernel.function("sys_truncate64")?{
(name) = ("truncate")
(path_uaddr) = ($path)
(path) = (user_string($path))
(length) = ($length)
(argstr) = (sprintf("%s, %d", user_string_quoted($path), $length))
}
probe syscall.truncate.return = kernel.function("sys_truncate").return?, kernel.function("sys_truncate64").return?{
(name) = ("truncate")
(retstr) = (returnstr(1))
}
probe syscall.tux = kernel.function("sys_tux")?{
(name) = ("tux")
(action) = ($action)
(u_info_uaddr) = ($u_info)
(argstr) = (sprintf("%d, %p", $action, $u_info))
}
probe syscall.tux.return = kernel.function("sys_tux").return?{
(name) = ("tux")
(retstr) = (returnstr(1))
}
probe syscall.umask = kernel.function("sys_umask"){
(name) = ("umask")
(mask) = ($mask)
(argstr) = (sprintf("%#o", $mask))
}
probe syscall.umask.return = kernel.function("sys_umask").return{
(name) = ("umask")
(retstr) = (returnstr(3))
}
probe syscall.umount = kernel.function("sys_umount"){
(name) = ("umount")
(target) = (user_string($name))
(flags) = ($flags)
(flags_str) = (_umountflags_str($flags))
(argstr) = (sprintf("%s, %s", user_string_quoted($name), flags_str))
}
probe syscall.umount.return = kernel.function("sys_umount").return{
(name) = ("umount")
(retstr) = (returnstr(1))
}
probe syscall.uname = kernel.function("sys_uname")?, kernel.function("sys_newuname")?{
(name) = ("uname")
(name_uaddr) = ($name)
(argstr) = (sprintf("%p", $name))
}
probe syscall.uname.return = kernel.function("sys_uname").return?, kernel.function("sys_newuname").return?{
(name) = ("uname")
(retstr) = (returnstr(1))
}
probe syscall.unlink = kernel.function("sys_unlink"){
(name) = ("unlink")
(pathname_uaddr) = ($pathname)
(pathname) = (user_string($pathname))
(argstr) = (user_string_quoted($pathname))
}
probe syscall.unlink.return = kernel.functi
(timerid_uaddr) = ($created_timer_id)

(argstr) = (sprintf("%s, %p, %p", clockid_str, $timer_event_spec, $created_timer_id))

}

probe syscall.timer_create.return = kernel.function("sys_timer_create").return{

(name) = ("timer_create")

(retstr) = (returnstr(1))

}

probe syscall.timer_delete = kernel.function("sys_timer_delete"){

(name) = ("timer_delete")

(timerid) = ($timer_id)

(argstr) = (sprint($timer_id))

}

probe syscall.timer_delete.return = kernel.function("sys_timer_delete").return{

(name) = ("timer_delete")

(retstr) = (returnstr(1))

}

probe syscall.timer_getoverrun = kernel.function("sys_timer_getoverrun"){

(name) = ("timer_getoverrun")

(timerid) = ($timer_id)

(argstr) = (sprint($timer_id))

}

probe syscall.timer_getoverrun.return = kernel.function("sys_timer_getoverrun").return{

(name) = ("timer_getoverrun")

(retstr) = (returnstr(1))

}

probe syscall.timer_gettime = kernel.function("sys_timer_gettime"){

(name) = ("timer_gettime")

(timerid) = ($timer_id)

(value_uaddr) = ($setting)

(argstr) = (sprintf("%d, %p", $timer_id, $setting))

}

probe syscall.timer_gettime.return = kernel.function("sys_timer_gettime").return{

(name) = ("timer_gettime")

(retstr) = (returnstr(1))

}

probe syscall.timer_settime = kernel.function("sys_timer_settime"){

(name) = ("timer_settime")

(timerid) = ($timer_id)

(flags) = ($flags)

(value_uaddr) = ($new_setting)

(ovalue_uaddr) = ($old_setting)

(argstr) = (sprintf("%d, %d, %s, %p", $timer_id, $flags, _struct_itimerspec_u($new_setting), $old_setting))

}

probe syscall.timer_settime.return = kernel.function("sys_timer_settime").return{

(name) = ("timer_settime")

(retstr) = (returnstr(1))

}

probe syscall.times = kernel.function("sys_times"){

(name) = ("times")

(buf_uaddr) = ($tbuf)

(argstr) = (sprintf("%p", buf_uaddr))

}

probe syscall.times.return = kernel.function("sys_times").return{

(name) = ("times")

(retstr) = (returnstr(1))

}

probe syscall.tkill = kernel.function("sys_tkill"){

(name) = ("tkill")

(pid) = ($pid)

(sig) = ($sig)

(argstr) = (sprintf("%d, %s", $pid, _signal_name($sig)))

}

probe syscall.tkill.return = kernel.function("sys_tkill").return{

(name) = ("tkill")

(retstr) = (returnstr(1))

}

probe syscall.truncate = kernel.function("sys_truncate")?, kernel.function("sys_truncate64")?{

(name) = ("truncate")

(path_uaddr) = ($path)

(path) = (user_string($path))

(length) = ($length)

(argstr) = (sprintf("%s, %d", user_string_quoted($path), $length))

}

probe syscall.truncate.return = kernel.function("sys_truncate").return?, kernel.function("sys_truncate64").return?{

(name) = ("truncate")

(retstr) = (returnstr(1))

}

probe syscall.tux = kernel.function("sys_tux")?{

(name) = ("tux")

(action) = ($action)

(u_info_uaddr) = ($u_info)

(argstr) = (sprintf("%d, %p", $action, $u_info))

}

probe syscall.tux.return = kernel.function("sys_tux").return?{

(name) = ("tux")

(retstr) = (returnstr(1))

}

probe syscall.umask = kernel.function("sys_umask"){

(name) = ("umask")

(mask) = ($mask)

(argstr) = (sprintf("%#o", $mask))

}

probe syscall.umask.return = kernel.function("sys_umask").return{

(name) = ("umask")

(retstr) = (returnstr(3))

}

probe syscall.umount = kernel.function("sys_umount"){

(name) = ("umount")

(target) = (user_string($name))

(flags) = ($flags)

(flags_str) = (_umountflags_str($flags))

(argstr) = (sprintf("%s, %s", user_string_quoted($name), flags_str))

}

probe syscall.umount.return = kernel.function("sys_umount").return{

(name) = ("umount")

(retstr) = (returnstr(1))

}

probe syscall.uname = kernel.function("sys_uname")?, kernel.function("sys_newuname")?{

(name) = ("uname")

(name_uaddr) = ($name)

(argstr) = (sprintf("%p", $name))

}

probe syscall.uname.return = kernel.function("sys_uname").return?, kernel.function("sys_newuname").return?{

(name) = ("uname")

(retstr) = (returnstr(1))

}

probe syscall.unlink = kernel.function("sys_unlink"){

(name) = ("unlink")

(pathname_uaddr) = ($pathname)

(pathname) = (user_string($pathname))

(argstr) = (user_string_quoted($pathname))

}
on("sys_unlink").return{
(name) = ("unlink")
(retstr) = (returnstr(1))
}
probe syscall.uselib = kernel.function("sys_uselib"){
(name) = ("uselib")
(library_uaddr) = ($library)
(library) = (user_string($library))
(argstr) = (user_string_quoted($library))
}
probe syscall.uselib.return = kernel.function("sys_uselib").return{
(name) = ("uselib")
(retstr) = (returnstr(1))
}
probe syscall.ustat = kernel.function("sys_ustat"){
(name) = ("ustat")
(dev) = ($dev)
(ubuf_uaddr) = ($ubuf)
(argstr) = (sprintf("%d, %p", $dev, $ubuf))
}
probe syscall.ustat.return = kernel.function("sys_ustat").return{
(name) = ("ustat")
(retstr) = (returnstr(1))
}
probe syscall.utime = kernel.function("sys_utime"){
(name) = ("utime")
(filename_uaddr) = ($filename)
(filename) = (user_string($filename))
(buf_uaddr) = ($times)
(buf_str) = (_struct_utimbuf_u($times))
(argstr) = (sprintf("%s, [%s]", user_string_quoted($filename), buf_str))
}
probe syscall.utime.return = kernel.function("sys_utime").return{
(name) = ("utime")
(retstr) = (returnstr(1))
}
probe syscall.compat_utime = kernel.function("compat_sys_utime")?{
(name) = ("utime")
(filename_uaddr) = ($filename)
(filename) = (user_string($filename))
(buf_uaddr) = ($t)
(buf_str) = (_struct_compat_utimbuf_u($t))
(argstr) = (sprintf("%s, [%s]", user_string_quoted($filename), _struct_compat_utimbuf_u($t)))
}
probe syscall.compat_utime.return = kernel.function("compat_sys_utime").return?{
(name) = ("utime")
(retstr) = (returnstr(1))
}
probe syscall.utimes = kernel.function("sys_utimes"){
(name) = ("utimes")
(filename_uaddr) = ($filename)
(filename) = (user_string($filename))
(tvp_uaddr) = ($utimes)
(argstr) = (sprintf("%s, %s", user_string_quoted($filename), _struct_timeval_u($utimes)))
}
probe syscall.utimes.return = kernel.function("sys_utimes").return{
(name) = ("utimes")
(retstr) = (returnstr(1))
}
probe syscall.vhangup = kernel.function("sys_vhangup"){
(name) = ("vhangup")
(argstr) = ("")
}
probe syscall.vhangup.return = kernel.function("sys_vhangup").return{
(name) = ("vhangup")
(retstr) = (returnstr(1))
}
probe syscall.wait4 = kernel.function("sys_wait4"){
(name) = ("wait4")
(pid) = ($pid)
(status_uaddr) = ($stat_addr)
(options) = ($options)
(options_str) = (_wait4_opt_str($options))
(rusage_uaddr) = ($ru)
(argstr) = (sprintf("%d, %p, %s, %p", $pid, status_uaddr, options_str, rusage_uaddr))
}
probe syscall.wait4.return = kernel.function("sys_wait4").return{
(name) = ("wait4")
(retstr) = (returnstr(1))
}
probe syscall.waitid = kernel.function("sys_waitid"){
(name) = ("waitid")
(which) = ($which)
(which_str) = (_waitid_which_str($which))
(pid) = ($pid)
(infop_uaddr) = ($infop)
(options) = ($options)
(options_str) = (_wait4_opt_str($options))
(rusage_uaddr) = ($ru)
(argstr) = (sprintf("%d, %d, %p, %s, %p", $which, $pid, infop_uaddr, options_str, rusage_uaddr))
}
probe syscall.waitid.return = kernel.function("sys_waitid").return{
(name) = ("waitid")
(retstr) = (returnstr(1))
}
probe syscall.write = kernel.function("sys_write"){
(name) = ("write")
(fd) = ($fd)
(buf_uaddr) = ($buf)
(count) = ($count)
(argstr) = (sprintf("%d, %s, %d", $fd, text_strn(user_string($buf), 20, 1), $count))
}
probe syscall.write.return = kernel.function("sys_write").return{
(name) = ("write")
(retstr) = (returnstr(1))
}
probe syscall.writev = kernel.function("sys_writev"), kernel.function("compat_sys_writev")?{
(name) = ("writev")
(vector_uaddr) = ($vec)
(count) = ($vlen)
(fd) = ($fd)
(argstr) = (sprintf("%d, %p, %d", $fd, $vec, $vlen))
}
probe syscall.writev.return = kernel.function("sys_writev").return, kernel.function("compat_sys_writev").return?{
(name) = ("writev")
(retstr) = (returnstr(1))
}

# file /usr/local/share/systemtap/tapset/system.stp
function system (cmd)
%{
	_stp_write(STP_SYSTEM, THIS->cmd, strlen(THIS->cmd)+1);
%}

# file /usr/local/share/systemtap/tapset/task.stp
function task_current ()
%{ /* pure */
    THIS->__retvalue = (long)current;
%}
function task_parent (task)
%{ /* pure */
probe syscall.unlink.return = kernel.function("sys_unlink").return{

(name) = ("unlink")

(retstr) = (returnstr(1))

}

probe syscall.uselib = kernel.function("sys_uselib"){

(name) = ("uselib")

(library_uaddr) = ($library)

(library) = (user_string($library))

(argstr) = (user_string_quoted($library))

}

probe syscall.uselib.return = kernel.function("sys_uselib").return{

(name) = ("uselib")

(retstr) = (returnstr(1))

}

probe syscall.ustat = kernel.function("sys_ustat"){

(name) = ("ustat")

(dev) = ($dev)

(ubuf_uaddr) = ($ubuf)

(argstr) = (sprintf("%d, %p", $dev, $ubuf))

}

probe syscall.ustat.return = kernel.function("sys_ustat").return{

(name) = ("ustat")

(retstr) = (returnstr(1))

}

probe syscall.utime = kernel.function("sys_utime"){

(name) = ("utime")

(filename_uaddr) = ($filename)

(filename) = (user_string($filename))

(buf_uaddr) = ($times)

(buf_str) = (_struct_utimbuf_u($times))

(argstr) = (sprintf("%s, [%s]", user_string_quoted($filename), buf_str))

}

probe syscall.utime.return = kernel.function("sys_utime").return{

(name) = ("utime")

(retstr) = (returnstr(1))

}

probe syscall.compat_utime = kernel.function("compat_sys_utime")?{

(name) = ("utime")

(filename_uaddr) = ($filename)

(filename) = (user_string($filename))

(buf_uaddr) = ($t)

(buf_str) = (_struct_compat_utimbuf_u($t))

(argstr) = (sprintf("%s, [%s]", user_string_quoted($filename), _struct_compat_utimbuf_u($t)))

}

probe syscall.compat_utime.return = kernel.function("compat_sys_utime").return?{

(name) = ("utime")

(retstr) = (returnstr(1))

}

probe syscall.utimes = kernel.function("sys_utimes"){

(name) = ("utimes")

(filename_uaddr) = ($filename)

(filename) = (user_string($filename))

(tvp_uaddr) = ($utimes)

(argstr) = (sprintf("%s, %s", user_string_quoted($filename), _struct_timeval_u($utimes)))

}

probe syscall.utimes.return = kernel.function("sys_utimes").return{

(name) = ("utimes")

(retstr) = (returnstr(1))

}

probe syscall.vhangup = kernel.function("sys_vhangup"){

(name) = ("vhangup")

(argstr) = ("")

}

probe syscall.vhangup.return = kernel.function("sys_vhangup").return{

(name) = ("vhangup")

(retstr) = (returnstr(1))

}

probe syscall.wait4 = kernel.function("sys_wait4"){

(name) = ("wait4")

(pid) = ($pid)

(status_uaddr) = ($stat_addr)

(options) = ($options)

(options_str) = (_wait4_opt_str($options))

(rusage_uaddr) = ($ru)

(argstr) = (sprintf("%d, %p, %s, %p", $pid, status_uaddr, options_str, rusage_uaddr))

}

probe syscall.wait4.return = kernel.function("sys_wait4").return{

(name) = ("wait4")

(retstr) = (returnstr(1))

}

probe syscall.waitid = kernel.function("sys_waitid"){

(name) = ("waitid")

(which) = ($which)

(which_str) = (_waitid_which_str($which))

(pid) = ($pid)

(infop_uaddr) = ($infop)

(options) = ($options)

(options_str) = (_wait4_opt_str($options))

(rusage_uaddr) = ($ru)

(argstr) = (sprintf("%d, %d, %p, %s, %p", $which, $pid, infop_uaddr, options_str, rusage_uaddr))

}

probe syscall.waitid.return = kernel.function("sys_waitid").return{

(name) = ("waitid")

(retstr) = (returnstr(1))

}

probe syscall.write = kernel.function("sys_write"){

(name) = ("write")

(fd) = ($fd)

(buf_uaddr) = ($buf)

(count) = ($count)

(argstr) = (sprintf("%d, %s, %d", $fd, text_strn(user_string($buf), 20, 1), $count))

}

probe syscall.write.return = kernel.function("sys_write").return{

(name) = ("write")

(retstr) = (returnstr(1))

}

probe syscall.writev = kernel.function("sys_writev"), kernel.function("compat_sys_writev")?{

(name) = ("writev")

(vector_uaddr) = ($vec)

(count) = ($vlen)

(fd) = ($fd)

(argstr) = (sprintf("%d, %p, %d", $fd, $vec, $vlen))

}

probe syscall.writev.return = kernel.function("sys_writev").return, kernel.function("compat_sys_writev").return?{

(name) = ("writev")

(retstr) = (returnstr(1))

}



# file /usr/local/share/systemtap/tapset/system.stp

function system (cmd)

%{

	_stp_write(STP_SYSTEM, THIS->cmd, strlen(THIS->cmd)+1);

%}



# file /usr/local/share/systemtap/tapset/task.stp

function task_current ()

%{ /* pure */

    THIS->__retvalue = (long)current;

%}

function task_parent (task)

    struct task_struct *t = (struct task_struct *)(long)THIS->task;
    THIS->__retvalue = deref(sizeof(t->parent), &(t->parent));
    if (0) {
deref_fault:
        CONTEXT->last_error = "pointer dereference fault";
    }
%}
function task_state (task)
%{ /* pure */
    struct task_struct *t = (struct task_struct *)(long)THIS->task;
    THIS->__retvalue = deref(sizeof(t->state), &(t->state));
    if (0) {
deref_fault:
        CONTEXT->last_error = "pointer dereference fault";
    }
%}
function task_execname (task)
%{ /* pure */
    struct task_struct *t = (struct task_struct *)(long)THIS->task;
    deref_string(THIS->__retvalue, t->comm, MAXSTRINGLEN);
    if (0) {
deref_fault:
        CONTEXT->last_error = "pointer dereference fault";
    }
%}
function task_pid (task)
%{ /* pure */
    struct task_struct *t = (struct task_struct *)(long)THIS->task;
    THIS->__retvalue = deref(sizeof(t->tgid), &(t->tgid));
    if (0) {
deref_fault:
        CONTEXT->last_error = "pointer dereference fault";
    }
%}
function task_tid (task)
%{ /* pure */
    struct task_struct *t = (struct task_struct *)(long)THIS->task;
    THIS->__retvalue = deref(sizeof(t->pid), &(t->pid));
    if (0) {
deref_fault:
        CONTEXT->last_error = "pointer dereference fault";
    }
%}
function task_gid (task)
%{ /* pure */
    struct task_struct *t = (struct task_struct *)(long)THIS->task;
    THIS->__retvalue = deref(sizeof(t->gid), &(t->gid));
    if (0) {
deref_fault:
        CONTEXT->last_error = "pointer dereference fault";
    }
%}
function task_egid (task)
%{ /* pure */
    struct task_struct *t = (struct task_struct *)(long)THIS->task;
    THIS->__retvalue = deref(sizeof(t->egid), &(t->egid));
    if (0) {
deref_fault:
        CONTEXT->last_error = "pointer dereference fault";
    }
%}
function task_uid (task)
%{ /* pure */
    struct task_struct *t = (struct task_struct *)(long)THIS->task;
    THIS->__retvalue = deref(sizeof(t->uid), &(t->uid));
    if (0) {
deref_fault:
        CONTEXT->last_error = "pointer dereference fault";
    }
%}
function task_euid (task)
%{ /* pure */
    struct task_struct *t = (struct task_struct *)(long)THIS->task;
    THIS->__retvalue = deref(sizeof(t->euid), &(t->euid));
    if (0) {
deref_fault:
        CONTEXT->last_error = "pointer dereference fault";
    }
%}
function task_prio (task)
%{ /* pure */
    struct task_struct *t = (struct task_struct *)(long)THIS->task;
    int prio = deref(sizeof(t->prio), &(t->prio));
    THIS->__retvalue = prio - MAX_RT_PRIO;
    if (0) {
deref_fault:
        CONTEXT->last_error = "pointer dereference fault";
    }
%}
function task_nice (task)
%{ /* pure */
    struct task_struct *t = (struct task_struct *)(long)THIS->task;
    int static_prio = deref(sizeof(t->static_prio), &(t->static_prio));
    THIS->__retvalue = static_prio - MAX_RT_PRIO - 20;
    if (0) {
deref_fault:
        CONTEXT->last_error = "pointer dereference fault";
    }
%}
function task_cpu (task)
%{ /* pure */
    struct task_struct *t = (struct task_struct *)(long)THIS->task;
    struct thread_info *ti =
        (struct thread_info *)deref(sizeof(t->thread_info), &(t->thread_info));
    THIS->__retvalue = deref(sizeof(ti->cpu), &(ti->cpu));
    if (0) {
deref_fault:
        CONTEXT->last_error = "pointer dereference fault";
    }
%}

# file /usr/local/share/systemtap/tapset/tcp.stp
%{
#include <linux/version.h>
#include <net/sock.h>
#include <net/tcp.h>
#include <net/ip.h>
%}probe tcp.sendmsg = kernel.function("tcp_sendmsg"){
(sock) = ($sk)
(size) = ($size)
}
probe tcp.sendmsg.return = kernel.function("tcp_sendmsg").return{
(size) = ($return)
}
probe tcp.recvmsg = kernel.function("tcp_recvmsg"){
(sock) = ($sk)
(size) = ($len)
}
probe tcp.recvmsg.return = kernel.function("tcp_recvmsg").return{
(size) = ($return)
}
probe tcp.disconnect = kernel.function("tcp_disconnect"){
(sock) = ($sk)
(flags) = ($flags)
}
probe tcp.disconnect.return = kernel.function("tcp_disconnect").return
%{ /* pure */

    struct task_struct *t = (struct task_struct *)(long)THIS->task;

    THIS->__retvalue = deref(sizeof(t->parent), &(t->parent));

    if (0) {

deref_fault:

        CONTEXT->last_error = "pointer dereference fault";

    }

%}

function task_state (task)

%{ /* pure */

    struct task_struct *t = (struct task_struct *)(long)THIS->task;

    THIS->__retvalue = deref(sizeof(t->state), &(t->state));

    if (0) {

deref_fault:

        CONTEXT->last_error = "pointer dereference fault";

    }

%}

function task_execname (task)

%{ /* pure */

    struct task_struct *t = (struct task_struct *)(long)THIS->task;

    deref_string(THIS->__retvalue, t->comm, MAXSTRINGLEN);

    if (0) {

deref_fault:

        CONTEXT->last_error = "pointer dereference fault";

    }

%}

function task_pid (task)

%{ /* pure */

    struct task_struct *t = (struct task_struct *)(long)THIS->task;

    THIS->__retvalue = deref(sizeof(t->tgid), &(t->tgid));

    if (0) {

deref_fault:

        CONTEXT->last_error = "pointer dereference fault";

    }

%}

function task_tid (task)

%{ /* pure */

    struct task_struct *t = (struct task_struct *)(long)THIS->task;

    THIS->__retvalue = deref(sizeof(t->pid), &(t->pid));

    if (0) {

deref_fault:

        CONTEXT->last_error = "pointer dereference fault";

    }

%}

function task_gid (task)

%{ /* pure */

    struct task_struct *t = (struct task_struct *)(long)THIS->task;

    THIS->__retvalue = deref(sizeof(t->gid), &(t->gid));

    if (0) {

deref_fault:

        CONTEXT->last_error = "pointer dereference fault";

    }

%}

function task_egid (task)

%{ /* pure */

    struct task_struct *t = (struct task_struct *)(long)THIS->task;

    THIS->__retvalue = deref(sizeof(t->egid), &(t->egid));

    if (0) {

deref_fault:

        CONTEXT->last_error = "pointer dereference fault";

    }

%}

function task_uid (task)

%{ /* pure */

    struct task_struct *t = (struct task_struct *)(long)THIS->task;

    THIS->__retvalue = deref(sizeof(t->uid), &(t->uid));

    if (0) {

deref_fault:

        CONTEXT->last_error = "pointer dereference fault";

    }

%}

function task_euid (task)

%{ /* pure */

    struct task_struct *t = (struct task_struct *)(long)THIS->task;

    THIS->__retvalue = deref(sizeof(t->euid), &(t->euid));

    if (0) {

deref_fault:

        CONTEXT->last_error = "pointer dereference fault";

    }

%}

function task_prio (task)

%{ /* pure */

    struct task_struct *t = (struct task_struct *)(long)THIS->task;

    int prio = deref(sizeof(t->prio), &(t->prio));

    THIS->__retvalue = prio - MAX_RT_PRIO;

    if (0) {

deref_fault:

        CONTEXT->last_error = "pointer dereference fault";

    }

%}

function task_nice (task)

%{ /* pure */

    struct task_struct *t = (struct task_struct *)(long)THIS->task;

    int static_prio = deref(sizeof(t->static_prio), &(t->static_prio));

    THIS->__retvalue = static_prio - MAX_RT_PRIO - 20;

    if (0) {

deref_fault:

        CONTEXT->last_error = "pointer dereference fault";

    }

%}

function task_cpu (task)

%{ /* pure */

    struct task_struct *t = (struct task_struct *)(long)THIS->task;

    struct thread_info *ti =

        (struct thread_info *)deref(sizeof(t->thread_info), &(t->thread_info));

    THIS->__retvalue = deref(sizeof(ti->cpu), &(ti->cpu));

    if (0) {

deref_fault:

        CONTEXT->last_error = "pointer dereference fault";

    }

%}



# file /usr/local/share/systemtap/tapset/tcp.stp

%{

#include <linux/version.h>

#include <net/sock.h>

#include <net/tcp.h>

#include <net/ip.h>

%}probe tcp.sendmsg = kernel.function("tcp_sendmsg"){

(sock) = ($sk)

(size) = ($size)

}

probe tcp.sendmsg.return = kernel.function("tcp_sendmsg").return{

(size) = ($return)

}

probe tcp.recvmsg = kernel.function("tcp_recvmsg"){

(sock) = ($sk)

(size) = ($len)

}

probe tcp.recvmsg.return = kernel.function("tcp_recvmsg").return{

(size) = ($return)

}

probe tcp.disconnect = kernel.function("tcp_disconnect"){

(sock) = ($sk)

(flags) = ($flags)

}
{
(ret) = ($return)
}
function tcp_get_info_rto (sock)
%{
	unsigned long ptr = (unsigned long) THIS->sock;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
	struct tcp_opt *tp = tcp_sk((struct sock *)ptr);
	THIS->__retvalue = (int64_t) jiffies_to_usecs(tp->rto);
#else
	const struct inet_connection_sock *icsk = inet_csk((struct sock *)ptr);
	THIS->__retvalue = (int64_t) jiffies_to_usecs(icsk->icsk_rto);
#endif
%}
function tcp_get_info_snd_cwnd (sock)
%{
	unsigned long ptr = (unsigned long) THIS->sock;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
	struct tcp_opt *tp = tcp_sk((struct sock *)ptr);
#else
	struct tcp_sock *tp = tcp_sk((struct sock *)ptr);
#endif
	THIS->__retvalue = (int64_t) tp->snd_cwnd;
%}
function tcp_ts_get_info_state (sock)
%{
        unsigned long ptr = (unsigned long) THIS->sock;
	struct sock * sk =  (struct sock *) ptr; 
	
	THIS->__retvalue = (int64_t) sk->sk_state;
%}
function tcp_ts_get_info_snd_ssthresh (sock)
%{
	unsigned long ptr = (unsigned long) THIS->sock;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
	struct tcp_opt *tp = tcp_sk((struct sock *)ptr);
#else
	struct tcp_sock *tp = tcp_sk((struct sock *)ptr);
#endif

	THIS->__retvalue = (int64_t) tp->snd_ssthresh;
%}
function tcp_ts_get_info_rcv_mss (sock)
%{
	unsigned long ptr = (unsigned long) THIS->sock;
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)
	struct tcp_opt *tp = tcp_sk((struct sock *)ptr);
	THIS->__retvalue = (int64_t) tp->ack.rcv_mss;
#else
	const struct inet_connection_sock *icsk = inet_csk((struct sock *)ptr);
	THIS->__retvalue = (int64_t) icsk->icsk_ack.rcv_mss;
#endif
%}

# file /usr/local/share/systemtap/tapset/timestamp.stp
%{
#include <linux/time.h>
%}function get_cycles ()
%{ /* pure */
  cycles_t c = get_cycles();
  THIS->__retvalue = (int64_t) c;
%}
function gettimeofday_ns ()
%{ /* pure */
  /* NOTE: we can't use do_gettimeofday because we could be called from a
   * context where xtime_lock is already held.  See bug #2525. */
  THIS->__retvalue = _stp_gettimeofday_ns();
%}
function gettimeofday_us ()
{
return (gettimeofday_ns()) / (1000)
;
}
function gettimeofday_ms ()
{
return (gettimeofday_ns()) / (1000000)
;
}
function gettimeofday_s ()
{
return (gettimeofday_ns()) / (1000000000)
;
}

# file /usr/local/share/systemtap/tapset/udp.stp
%{
#include <linux/version.h>
#include <net/sock.h>
#include <net/udp.h>
#include <net/ip.h>
%}probe udp.sendmsg = kernel.function("udp_sendmsg"){
(sock) = ($sk)
(size) = ($len)
}
probe udp.sendmsg.return = kernel.function("udp_sendmsg").return{
(size) = ($return)
}
probe udp.recvmsg = kernel.function("udp_recvmsg"){
(sock) = ($sk)
(size) = ($len)
}
probe udp.recvmsg.return = kernel.function("udp_recvmsg").return{
(size) = ($return)
}
probe udp.disconnect = kernel.function("udp_disconnect"){
(sock) = ($sk)
(flags) = ($flags)
}
probe udp.disconnect.return = kernel.function("udp_disconnect").return{
(ret) = ($return)
}

# file /usr/local/share/systemtap/tapset/vfs.stp
global __devnames
probe generic.fop.llseek = kernel.function("generic_file_llseek"){
(dev) = (__file_dev($file))
(devname) = (__find_bdevname(dev, __file_bdev($file)))
(ino) = (__file_ino($file))
(offset) = ($offset)
(origin) = ($origin)
(maxbyte) = (__file_maxbytes($file))
(name) = ("generic_file_llseek")
(argstr) = (sprintf("%d, %d", offset, origin))
}
probe generic.fop.llseek.return = kernel.function("generic_file_llseek").return{
(name) = ("generic_file_llseek")
(retstr) = (returnstr(1))
}
probe generic.fop.aio_read = kernel.function("generic_file_aio_read"){
(dev) = (__file_dev($iocb->ki_filp))
(devname) = (__find_bdevname(dev, __file_bdev($iocb->ki_filp)))
(ino) = (__file_ino($iocb->ki_filp))
(count) = ($count)
(pos) = ($pos)
(buf) = ($buf)
(name) = ("generic_file_aio_read")
(argstr) = (sprintf("%d, %d, %p", count, pos, buf))
(size) = (count)
(units) = ("bytes")
}
probe generic.fop.aio_read.return = kernel.function("generic_file_aio_read").return{
(name) = ("generic_file_aio_rea
probe tcp.disconnect.return = kernel.function("tcp_disconnect").return{

(ret) = ($return)

}

function tcp_get_info_rto (sock)

%{

	unsigned long ptr = (unsigned long) THIS->sock;

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)

	struct tcp_opt *tp = tcp_sk((struct sock *)ptr);

	THIS->__retvalue = (int64_t) jiffies_to_usecs(tp->rto);

#else

	const struct inet_connection_sock *icsk = inet_csk((struct sock *)ptr);

	THIS->__retvalue = (int64_t) jiffies_to_usecs(icsk->icsk_rto);

#endif

%}

function tcp_get_info_snd_cwnd (sock)

%{

	unsigned long ptr = (unsigned long) THIS->sock;

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)

	struct tcp_opt *tp = tcp_sk((struct sock *)ptr);

#else

	struct tcp_sock *tp = tcp_sk((struct sock *)ptr);

#endif

	THIS->__retvalue = (int64_t) tp->snd_cwnd;

%}

function tcp_ts_get_info_state (sock)

%{

        unsigned long ptr = (unsigned long) THIS->sock;

	struct sock * sk =  (struct sock *) ptr; 

	

	THIS->__retvalue = (int64_t) sk->sk_state;

%}

function tcp_ts_get_info_snd_ssthresh (sock)

%{

	unsigned long ptr = (unsigned long) THIS->sock;

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)

	struct tcp_opt *tp = tcp_sk((struct sock *)ptr);

#else

	struct tcp_sock *tp = tcp_sk((struct sock *)ptr);

#endif



	THIS->__retvalue = (int64_t) tp->snd_ssthresh;

%}

function tcp_ts_get_info_rcv_mss (sock)

%{

	unsigned long ptr = (unsigned long) THIS->sock;

#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,10)

	struct tcp_opt *tp = tcp_sk((struct sock *)ptr);

	THIS->__retvalue = (int64_t) tp->ack.rcv_mss;

#else

	const struct inet_connection_sock *icsk = inet_csk((struct sock *)ptr);

	THIS->__retvalue = (int64_t) icsk->icsk_ack.rcv_mss;

#endif

%}



# file /usr/local/share/systemtap/tapset/timestamp.stp

%{

#include <linux/time.h>

%}function get_cycles ()

%{ /* pure */

  cycles_t c = get_cycles();

  THIS->__retvalue = (int64_t) c;

%}

function gettimeofday_ns ()

%{ /* pure */

  /* NOTE: we can't use do_gettimeofday because we could be called from a

   * context where xtime_lock is already held.  See bug #2525. */

  THIS->__retvalue = _stp_gettimeofday_ns();

%}

function gettimeofday_us ()

{

return (gettimeofday_ns()) / (1000)

;

}

function gettimeofday_ms ()

{

return (gettimeofday_ns()) / (1000000)

;

}

function gettimeofday_s ()

{

return (gettimeofday_ns()) / (1000000000)

;

}



# file /usr/local/share/systemtap/tapset/udp.stp

%{

#include <linux/version.h>

#include <net/sock.h>

#include <net/udp.h>

#include <net/ip.h>

%}probe udp.sendmsg = kernel.function("udp_sendmsg"){

(sock) = ($sk)

(size) = ($len)

}

probe udp.sendmsg.return = kernel.function("udp_sendmsg").return{

(size) = ($return)

}

probe udp.recvmsg = kernel.function("udp_recvmsg"){

(sock) = ($sk)

(size) = ($len)

}

probe udp.recvmsg.return = kernel.function("udp_recvmsg").return{

(size) = ($return)

}

probe udp.disconnect = kernel.function("udp_disconnect"){

(sock) = ($sk)

(flags) = ($flags)

}

probe udp.disconnect.return = kernel.function("udp_disconnect").return{

(ret) = ($return)

}



# file /usr/local/share/systemtap/tapset/vfs.stp

global __devnames

probe generic.fop.llseek = kernel.function("generic_file_llseek"){

(dev) = (__file_dev($file))

(devname) = (__find_bdevname(dev, __file_bdev($file)))

(ino) = (__file_ino($file))

(offset) = ($offset)

(origin) = ($origin)

(maxbyte) = (__file_maxbytes($file))

(name) = ("generic_file_llseek")

(argstr) = (sprintf("%d, %d", offset, origin))

}

probe generic.fop.llseek.return = kernel.function("generic_file_llseek").return{

(name) = ("generic_file_llseek")

(retstr) = (returnstr(1))

}

probe generic.fop.aio_read = kernel.function("generic_file_aio_read"){

(dev) = (__file_dev($iocb->ki_filp))

(devname) = (__find_bdevname(dev, __file_bdev($iocb->ki_filp)))

(ino) = (__file_ino($iocb->ki_filp))

(count) = ($count)

(pos) = ($pos)

(buf) = ($buf)

(name) = ("generic_file_aio_read")

(argstr) = (sprintf("%d, %d, %p", count, pos, buf))

(size) = (count)

(units) = ("bytes")

}

probe generic.fop.aio_read.return = kernel.function("generic_file_aio_read").return{
d")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}

}
probe generic.fop.aio_write = kernel.function("generic_file_aio_write"){
(dev) = (__file_dev($iocb->ki_filp))
(devname) = (__find_bdevname(dev, __file_bdev($iocb->ki_filp)))
(ino) = (__file_ino($iocb->ki_filp))
(count) = ($count)
(pos) = ($pos)
(buf) = ($buf)
(name) = ("generic_file_aio_write")
(argstr) = (sprintf("%d, %d ,%p", count, pos, buf))
(size) = (count)
(units) = ("bytes")
}
probe generic.fop.aio_write.return = kernel.function("generic_file_aio_write").return{
(name) = ("generic_file_aio_write")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}

}
probe generic.fop.readv = kernel.function("generic_file_readv"){
(dev) = (__file_dev($filp))
(devname) = (__find_bdevname(dev, __file_bdev($filp)))
(ino) = (__file_ino($filp))
(nr_segs) = ($nr_segs)
(pos) = (ppos_pos($ppos))
(name) = ("generic_file_readv")
(argstr) = (sprintf("%d, %d", nr_segs, pos))
(size) = (nr_segs)
(units) = ("segs")
}
probe generic.fop.readv.return = kernel.function("generic_file_readv").return{
(name) = ("generic_file_readv")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}

}
probe generic.fop.writev = kernel.function("generic_file_writev"){
(dev) = (__file_dev($file))
(devname) = (__find_bdevname(dev, __file_bdev($file)))
(ino) = (__file_ino($file))
(nr_segs) = ($nr_segs)
(pos) = (ppos_pos($ppos))
(name) = ("generic_file_writev")
(argstr) = (sprintf("%d, %d", nr_segs, pos))
(size) = (nr_segs)
(units) = ("segs")
}
probe generic.fop.writev.return = kernel.function("generic_file_writev").return{
(name) = ("generic_file_writev")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}

}
probe generic.fop.mmap = kernel.function("generic_file_mmap"){
(dev) = (__file_dev($file))
(devname) = (__find_bdevname(dev, __file_bdev($file)))
(ino) = (__file_ino($file))
(vm_start) = ($vma->vm_start)
(vm_end) = ($vma->vm_end)
(vm_flags) = ($vma->vm_flags)
(name) = ("generic_file_mmap")
(argstr) = (sprintf("0x%x, 0x%x, 0x%x", vm_start, vm_end, vm_flags))
}
probe generic.fop.mmap.return = kernel.function("generic_file_mmap").return{
(name) = ("generic_file_mmap")
(retstr) = (sprintf("%d", $return))
}
probe generic.fop.open = kernel.function("generic_file_open"){
(dev) = (__file_dev($filp))
(devname) = (__find_bdevname(dev, __file_bdev($filp)))
(ino) = ($inode->i_ino)
(filename) = (__file_filename($filp))
(flag) = ($filp->f_flags)
(size) = ($inode->i_size)
(name) = ("generic_file_open")
(argstr) = (sprintf("%d,%d, %s", ino, flag, filename))
}
probe generic.fop.open.return = kernel.function("generic_file_open").return{
(name) = ("generic_file_open")
(retstr) = (sprintf("%d", $return))
}
probe generic.fop.sendfile = kernel.function("generic_file_sendfile"){
(dev) = (__file_dev($in_file))
(devname) = (__find_bdevname(dev, __file_bdev($in_file)))
(ino) = (__file_ino($in_file))
(count) = ($count)
(ppos) = ($ppos)
(name) = ("generic_file_sendfile")
(argstr) = (sprintf("%d", count))
(size) = (count)
(units) = ("bytes")
}
probe generic.fop.sendfile.return = kernel.function("generic_file_sendfile").return{
(name) = ("generic_file_sendfile")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}

}
probe generic.fop.splice_read = kernel.function("generic_file_splice_read"){
(dev) = (__file_dev($in))
(devname) = (__find_bdevname(dev, __file_bdev($in)))
(ino) = (__file_ino($in))
(len) = ($len)
(flags) = ($flags)
(name) = ("generic_file_splice_read")
(argstr) = (sprintf("%d, %x", len, flags))
(size) = (len)
(units) = ("bytes")
}
probe generic.fop.splice_read.return = kernel.function("generic_file_splice_read").return{
(name) = ("generic_file_splice_read")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}
(name) = ("generic_file_aio_read")

(retstr) = (sprintf("%d", $return))

if (($return) > (0)) {

(size) = ($return)

(units) = ("bytes")

}



}

probe generic.fop.aio_write = kernel.function("generic_file_aio_write"){

(dev) = (__file_dev($iocb->ki_filp))

(devname) = (__find_bdevname(dev, __file_bdev($iocb->ki_filp)))

(ino) = (__file_ino($iocb->ki_filp))

(count) = ($count)

(pos) = ($pos)

(buf) = ($buf)

(name) = ("generic_file_aio_write")

(argstr) = (sprintf("%d, %d ,%p", count, pos, buf))

(size) = (count)

(units) = ("bytes")

}

probe generic.fop.aio_write.return = kernel.function("generic_file_aio_write").return{

(name) = ("generic_file_aio_write")

(retstr) = (sprintf("%d", $return))

if (($return) > (0)) {

(size) = ($return)

(units) = ("bytes")

}



}

probe generic.fop.readv = kernel.function("generic_file_readv"){

(dev) = (__file_dev($filp))

(devname) = (__find_bdevname(dev, __file_bdev($filp)))

(ino) = (__file_ino($filp))

(nr_segs) = ($nr_segs)

(pos) = (ppos_pos($ppos))

(name) = ("generic_file_readv")

(argstr) = (sprintf("%d, %d", nr_segs, pos))

(size) = (nr_segs)

(units) = ("segs")

}

probe generic.fop.readv.return = kernel.function("generic_file_readv").return{

(name) = ("generic_file_readv")

(retstr) = (sprintf("%d", $return))

if (($return) > (0)) {

(size) = ($return)

(units) = ("bytes")

}



}

probe generic.fop.writev = kernel.function("generic_file_writev"){

(dev) = (__file_dev($file))

(devname) = (__find_bdevname(dev, __file_bdev($file)))

(ino) = (__file_ino($file))

(nr_segs) = ($nr_segs)

(pos) = (ppos_pos($ppos))

(name) = ("generic_file_writev")

(argstr) = (sprintf("%d, %d", nr_segs, pos))

(size) = (nr_segs)

(units) = ("segs")

}

probe generic.fop.writev.return = kernel.function("generic_file_writev").return{

(name) = ("generic_file_writev")

(retstr) = (sprintf("%d", $return))

if (($return) > (0)) {

(size) = ($return)

(units) = ("bytes")

}



}

probe generic.fop.mmap = kernel.function("generic_file_mmap"){

(dev) = (__file_dev($file))

(devname) = (__find_bdevname(dev, __file_bdev($file)))

(ino) = (__file_ino($file))

(vm_start) = ($vma->vm_start)

(vm_end) = ($vma->vm_end)

(vm_flags) = ($vma->vm_flags)

(name) = ("generic_file_mmap")

(argstr) = (sprintf("0x%x, 0x%x, 0x%x", vm_start, vm_end, vm_flags))

}

probe generic.fop.mmap.return = kernel.function("generic_file_mmap").return{

(name) = ("generic_file_mmap")

(retstr) = (sprintf("%d", $return))

}

probe generic.fop.open = kernel.function("generic_file_open"){

(dev) = (__file_dev($filp))

(devname) = (__find_bdevname(dev, __file_bdev($filp)))

(ino) = ($inode->i_ino)

(filename) = (__file_filename($filp))

(flag) = ($filp->f_flags)

(size) = ($inode->i_size)

(name) = ("generic_file_open")

(argstr) = (sprintf("%d,%d, %s", ino, flag, filename))

}

probe generic.fop.open.return = kernel.function("generic_file_open").return{

(name) = ("generic_file_open")

(retstr) = (sprintf("%d", $return))

}

probe generic.fop.sendfile = kernel.function("generic_file_sendfile"){

(dev) = (__file_dev($in_file))

(devname) = (__find_bdevname(dev, __file_bdev($in_file)))

(ino) = (__file_ino($in_file))

(count) = ($count)

(ppos) = ($ppos)

(name) = ("generic_file_sendfile")

(argstr) = (sprintf("%d", count))

(size) = (count)

(units) = ("bytes")

}

probe generic.fop.sendfile.return = kernel.function("generic_file_sendfile").return{

(name) = ("generic_file_sendfile")

(retstr) = (sprintf("%d", $return))

if (($return) > (0)) {

(size) = ($return)

(units) = ("bytes")

}



}

probe generic.fop.splice_read = kernel.function("generic_file_splice_read"){

(dev) = (__file_dev($in))

(devname) = (__find_bdevname(dev, __file_bdev($in)))

(ino) = (__file_ino($in))

(len) = ($len)

(flags) = ($flags)

(name) = ("generic_file_splice_read")

(argstr) = (sprintf("%d, %x", len, flags))

(size) = (len)

(units) = ("bytes")

}

probe generic.fop.splice_read.return = kernel.function("generic_file_splice_read").return{

(name) = ("generic_file_splice_read")

(retstr) = (sprintf("%d", $return))

if (($return) > (0)) {

(size) = ($return)

(units) = ("bytes")


}
probe generic.fop.splice_write = kernel.function("generic_file_splice_write"){
(dev) = (__file_dev($out))
(devname) = (__find_bdevname(dev, __file_bdev($out)))
(ino) = (__file_ino($out))
(len) = ($len)
(flags) = ($flags)
(name) = ("generic_file_splice_write")
(argstr) = (sprintf("%d, %x", len, flags))
(size) = (len)
(units) = ("bytes")
}
probe generic.fop.splice_write.return = kernel.function("generic_file_splice_write").return{
(name) = ("generic_file_splice_write")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}

}
probe generic.fop.read = kernel.function("generic_file_read"){
(dev) = (__file_dev($filp))
(devname) = (__find_bdevname(dev, __file_bdev($filp)))
(ino) = (__file_ino($filp))
(count) = ($count)
(name) = ("generic_file_read")
(argstr) = (sprintf("%d", count))
(size) = (count)
(units) = ("bytes")
}
probe generic.fop.read.return = kernel.function("generic_file_read").return{
(name) = ("generic_file_read")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}

}
probe generic.fop.write = kernel.function("generic_file_write"){
(dev) = (__file_dev($file))
(devname) = (__find_bdevname(dev, __file_bdev($file)))
(ino) = (__file_ino($file))
(count) = ($count)
(name) = ("generic_file_write")
(argstr) = (sprintf("%d", count))
(size) = (count)
(units) = ("bytes")
}
probe generic.fop.write.return = kernel.function("generic_file_write").return{
(name) = ("generic_file_write")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}

}
probe generic.aop.writepages = kernel.function("mpage_writepages"){
(dev) = ($mapping->host->i_sb->s_dev)
(devname) = (__find_bdevname(dev, $mapping->host->i_sb->s_bdev))
(ino) = ($mapping->host->i_ino)
(nr_to_write) = ($wbc->nr_to_write)
(name) = ("generic_writepages")
(argstr) = (sprintf("%d", nr_to_write))
(size) = (nr_to_write)
(units) = ("pages")
}
probe generic.aop.writepages.return = kernel.function("mpage_writepages").return{
(name) = ("generic_writepages")
(retstr) = (sprintf("%d", $return))
}
probe vfs.do_sync_read = kernel.function("do_sync_read"){
(dev) = (__file_dev($filp))
(ino) = (__file_ino($filp))
(len) = ($len)
(pos) = (ppos_pos($ppos))
(buf) = ($buf)
(name) = ("do_sync_read")
(argstr) = (sprintf("%d, %d , %p ", len, pos, buf))
(size) = (len)
(units) = ("bytes")
}
probe vfs.do_sync_read.return = kernel.function("do_sync_read").return{
(name) = ("do_sync_read")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}

}
probe vfs.do_sync_write = kernel.function("do_sync_write"){
(dev) = (__file_dev($filp))
(devname) = (__find_bdevname(dev, __file_bdev($filp)))
(ino) = (__file_ino($filp))
(len) = ($len)
(pos) = (ppos_pos($ppos))
(buf) = ($buf)
(name) = ("do_sync_write")
(argstr) = (sprintf("%d, %d , %p", len, pos, buf))
(size) = (len)
(units) = ("bytes")
}
probe vfs.do_sync_write.return = kernel.function("do_sync_write").return{
(name) = ("do_sync_write")
(retstr) = (sprintf("%d", $return))
if (($return) > (0)) {
(size) = ($return)
(units) = ("bytes")
}

}
probe vfs.block_sync_page = kernel.function("block_sync_page"){
(__page) = ($page)
(dev) = (__page_dev(__page))
(devname) = (__find_bdevname(dev, __page_bdev(__page)))
(ino) = (__page_ino(__page))
(page_index) = ($page->index)
(name) = ("block_sync_page")
(argstr) = (sprintf("%d", page_index))
(size) = (1)
(units) = ("pages")
}
probe vfs.block_sync_page.return = kernel.function("block_sync_page").return{
(name) = ("block_sync_page")
(retstr) = (sprintf("N/A"))
(size) = (1)
(units) = ("pages")
}
probe vfs.buffer_migrate_page = kernel.function("buffer_migrate_page")?{
(dev) = (__page_dev($page))
(ino) = (__page_ino($page))
(devname) = (__find_bdevname(dev, __page_bdev($page)))
(page_index) = ($page->index)
(name) = ("buffer_migrate_page")
(argstr) = (sprintf("%d", page_index))
(size) = (1)
(units) = ("pa
}



}

probe generic.fop.splice_write = kernel.function("generic_file_splice_write"){

(dev) = (__file_dev($out))

(devname) = (__find_bdevname(dev, __file_bdev($out)))

(ino) = (__file_ino($out))

(len) = ($len)

(flags) = ($flags)

(name) = ("generic_file_splice_write")

(argstr) = (sprintf("%d, %x", len, flags))

(size) = (len)

(units) = ("bytes")

}

probe generic.fop.splice_write.return = kernel.function("generic_file_splice_write").return{

(name) = ("generic_file_splice_write")

(retstr) = (sprintf("%d", $return))

if (($return) > (0)) {

(size) = ($return)

(units) = ("bytes")

}



}

probe generic.fop.read = kernel.function("generic_file_read"){

(dev) = (__file_dev($filp))

(devname) = (__find_bdevname(dev, __file_bdev($filp)))

(ino) = (__file_ino($filp))

(count) = ($count)

(name) = ("generic_file_read")

(argstr) = (sprintf("%d", count))

(size) = (count)

(units) = ("bytes")

}

probe generic.fop.read.return = kernel.function("generic_file_read").return{

(name) = ("generic_file_read")

(retstr) = (sprintf("%d", $return))

if (($return) > (0)) {

(size) = ($return)

(units) = ("bytes")

}



}

probe generic.fop.write = kernel.function("generic_file_write"){

(dev) = (__file_dev($file))

(devname) = (__find_bdevname(dev, __file_bdev($file)))

(ino) = (__file_ino($file))

(count) = ($count)

(name) = ("generic_file_write")

(argstr) = (sprintf("%d", count))

(size) = (count)

(units) = ("bytes")

}

probe generic.fop.write.return = kernel.function("generic_file_write").return{

(name) = ("generic_file_write")

(retstr) = (sprintf("%d", $return))

if (($return) > (0)) {

(size) = ($return)

(units) = ("bytes")

}



}

probe generic.aop.writepages = kernel.function("mpage_writepages"){

(dev) = ($mapping->host->i_sb->s_dev)

(devname) = (__find_bdevname(dev, $mapping->host->i_sb->s_bdev))

(ino) = ($mapping->host->i_ino)

(nr_to_write) = ($wbc->nr_to_write)

(name) = ("generic_writepages")

(argstr) = (sprintf("%d", nr_to_write))

(size) = (nr_to_write)

(units) = ("pages")

}

probe generic.aop.writepages.return = kernel.function("mpage_writepages").return{

(name) = ("generic_writepages")

(retstr) = (sprintf("%d", $return))

}

probe vfs.do_sync_read = kernel.function("do_sync_read"){

(dev) = (__file_dev($filp))

(ino) = (__file_ino($filp))

(len) = ($len)

(pos) = (ppos_pos($ppos))

(buf) = ($buf)

(name) = ("do_sync_read")

(argstr) = (sprintf("%d, %d , %p ", len, pos, buf))

(size) = (len)

(units) = ("bytes")

}

probe vfs.do_sync_read.return = kernel.function("do_sync_read").return{

(name) = ("do_sync_read")

(retstr) = (sprintf("%d", $return))

if (($return) > (0)) {

(size) = ($return)

(units) = ("bytes")

}



}

probe vfs.do_sync_write = kernel.function("do_sync_write"){

(dev) = (__file_dev($filp))

(devname) = (__find_bdevname(dev, __file_bdev($filp)))

(ino) = (__file_ino($filp))

(len) = ($len)

(pos) = (ppos_pos($ppos))

(buf) = ($buf)

(name) = ("do_sync_write")

(argstr) = (sprintf("%d, %d , %p", len, pos, buf))

(size) = (len)

(units) = ("bytes")

}

probe vfs.do_sync_write.return = kernel.function("do_sync_write").return{

(name) = ("do_sync_write")

(retstr) = (sprintf("%d", $return))

if (($return) > (0)) {

(size) = ($return)

(units) = ("bytes")

}



}

probe vfs.block_sync_page = kernel.function("block_sync_page"){

(__page) = ($page)

(dev) = (__page_dev(__page))

(devname) = (__find_bdevname(dev, __page_bdev(__page)))

(ino) = (__page_ino(__page))

(page_index) = ($page->index)

(name) = ("block_sync_page")

(argstr) = (sprintf("%d", page_index))

(size) = (1)

(units) = ("pages")

}

probe vfs.block_sync_page.return = kernel.function("block_sync_page").return{

(name) = ("block_sync_page")

(retstr) = (sprintf("N/A"))

(size) = (1)

(units) = ("pages")

}

probe vfs.buffer_migrate_page = kernel.function("buffer_migrate_page")?{

(dev) = (__page_dev($page))

(ino) = (__page_ino($page))

(devname) = (__find_bdevname(dev, __page_bdev($page)))

(page_index) = ($page->index)

(name) = ("buffer_migrate_page")

(argstr) = (sprintf("%d", page_index))

(size) = (1)
ges")
}
probe vfs.buffer_migrate_page.return = kernel.function("buffer_migrate_page").return?{
(name) = ("buffer_migrate_page")
(retstr) = (sprintf("%d", $return))
if (($return) == (0)) {
(size) = (1)
(units) = ("pages")
}

}
probe vfs.__set_page_dirty_buffers = kernel.function("__set_page_dirty_buffers"){
(__page) = ($page)
(dev) = (__page_dev(__page))
(devname) = (__find_bdevname(dev, __page_bdev(__page)))
(ino) = (__page_ino(__page))
(index) = ($page->index)
(name) = ("__set_page_dirty_buffers")
(argstr) = (sprintf("%d", page_index))
(size) = (1)
(units) = ("pages")
}
probe vfs.__set_page_dirty_buffers.return = kernel.function("__set_page_dirty_buffers").return{
(name) = ("__set_page_dirty_buffers")
(retstr) = (sprintf("%d", $return))
if (($return) == (1)) {
(size) = (1)
(units) = ("pages")
}

}
probe vfs.do_mpage_readpage = kernel.function("do_mpage_readpage"){
(__page) = ($page)
(dev) = (__page_dev(__page))
(devname) = (__find_bdevname(dev, __page_bdev(__page)))
(ino) = (__page_ino(__page))
(index) = ($page->index)
(name) = ("do_mpage_readpage")
(argstr) = (sprintf("%d", index))
(size) = (1)
(units) = ("pages")
}
probe vfs.do_mpage_readpage.return = kernel.function("do_mpage_readpage").return{
(name) = ("do_mpage_readpage")
(retstr) = (sprintf("0x%x", $return))
(size) = (1)
(units) = ("pages")
}
probe vfs.add_to_page_cache = kernel.function("add_to_page_cache"){
(dev) = ($mapping->host->i_sb->s_dev)
(devname) = (__find_bdevname(dev, $mapping->host->i_sb->s_bdev))
(ino) = ($mapping->host->i_ino)
(index) = ($offset)
(nrpages) = ($mapping->nrpages)
(name) = ("vfs.add_to_page_cache")
(argstr) = (sprintf("%d, %d", ino, index))
}
probe vfs.add_to_page_cache.return = kernel.function("add_to_page_cache").return{
(name) = ("vfs.add_to_page_cache")
(retstr) = (sprintf("%d", $return))
if (($return) == (0)) {
(size) = (1)
(units) = ("pages")
}

}
probe vfs.remove_from_page_cache = kernel.function("__remove_from_page_cache"){
(dev) = (__page_dev($page))
(devname) = (__find_bdevname(dev, __page_bdev($page)))
(ino) = (__page_ino($page))
(index) = ($page->index)
(name) = ("vfs.remove_from_page_cache")
(argstr) = (sprintf("%d", ino))
}
probe vfs.remove_from_page_cache.return = kernel.function("remove_from_page_cache").return{
(name) = ("vfs.remove_from_page_cache")
(retstr) = (sprintf("N/A"))
}
function __bdevname (bdev)
%{ /* pure */
	char b[BDEVNAME_SIZE];
	struct block_device *bdev = (struct block_device *)(long)THIS->bdev;
	if (bdev == NULL) {
		strlcpy(THIS->__retvalue, "N/A", MAXSTRINGLEN);
		return;
	}

	deref_string(THIS->__retvalue, bdevname(bdev,b), MAXSTRINGLEN);
	if (0) {
deref_fault:
		CONTEXT->last_error = "pointer dereference fault";
	}
%}
function __find_bdevname (dev, bdev)
{
(__devname) = (__devnames[dev])
if ((__devname) != (null)) return __devname

(__devname) = ((__devnames[dev]) = (__bdevname(bdev)))
return __devname
}
function ppos_pos (ppos)
%{ /* pure */
	loff_t *ppos = (loff_t *)(long)THIS->ppos;
        /* XXX: but see bug #3079 */
	THIS->__retvalue = (int64_t) deref (sizeof(loff_t), ppos);
	if (0) {
deref_fault:
		CONTEXT->last_error = "pointer dereference fault";
	}
%}
function __page_ino (page)
%{ /* pure */
	struct page *page = (struct page *)(long)THIS->page;
	if ((page == NULL) || (page->mapping == NULL)) {
		THIS->__retvalue = -1;
		return;
	}

	THIS->__retvalue = deref(sizeof(page->mapping->host->i_ino),
		&(page->mapping->host->i_ino));
	if (0) {
deref_fault:
		CONTEXT->last_error = "pointer dereference fault";
	}
%}
function __page_dev (page)
%{ /* pure */
	struct page *page = (struct page *)(long)THIS->page;
	if ((page == NULL) || (page->mapping == NULL)) {
		THIS->__retvalue = -1;
		return;
	}
	THIS->__retvalue = deref(sizeof(page->mapping->host->i_sb->s_dev),
		&(page->mapping->host->i_sb->s_dev));
	if (0) {
deref_fault:
		CONTEXT->last_error = "pointer dereference fault";
	}
%}
function __page_bdev (page)
%{ /* pure */
	struct page *page = (struct page
(units) = ("pages")

}

probe vfs.buffer_migrate_page.return = kernel.function("buffer_migrate_page").return?{

(name) = ("buffer_migrate_page")

(retstr) = (sprintf("%d", $return))

if (($return) == (0)) {

(size) = (1)

(units) = ("pages")

}



}

probe vfs.__set_page_dirty_buffers = kernel.function("__set_page_dirty_buffers"){

(__page) = ($page)

(dev) = (__page_dev(__page))

(devname) = (__find_bdevname(dev, __page_bdev(__page)))

(ino) = (__page_ino(__page))

(index) = ($page->index)

(name) = ("__set_page_dirty_buffers")

(argstr) = (sprintf("%d", page_index))

(size) = (1)

(units) = ("pages")

}

probe vfs.__set_page_dirty_buffers.return = kernel.function("__set_page_dirty_buffers").return{

(name) = ("__set_page_dirty_buffers")

(retstr) = (sprintf("%d", $return))

if (($return) == (1)) {

(size) = (1)

(units) = ("pages")

}



}

probe vfs.do_mpage_readpage = kernel.function("do_mpage_readpage"){

(__page) = ($page)

(dev) = (__page_dev(__page))

(devname) = (__find_bdevname(dev, __page_bdev(__page)))

(ino) = (__page_ino(__page))

(index) = ($page->index)

(name) = ("do_mpage_readpage")

(argstr) = (sprintf("%d", index))

(size) = (1)

(units) = ("pages")

}

probe vfs.do_mpage_readpage.return = kernel.function("do_mpage_readpage").return{

(name) = ("do_mpage_readpage")

(retstr) = (sprintf("0x%x", $return))

(size) = (1)

(units) = ("pages")

}

probe vfs.add_to_page_cache = kernel.function("add_to_page_cache"){

(dev) = ($mapping->host->i_sb->s_dev)

(devname) = (__find_bdevname(dev, $mapping->host->i_sb->s_bdev))

(ino) = ($mapping->host->i_ino)

(index) = ($offset)

(nrpages) = ($mapping->nrpages)

(name) = ("vfs.add_to_page_cache")

(argstr) = (sprintf("%d, %d", ino, index))

}

probe vfs.add_to_page_cache.return = kernel.function("add_to_page_cache").return{

(name) = ("vfs.add_to_page_cache")

(retstr) = (sprintf("%d", $return))

if (($return) == (0)) {

(size) = (1)

(units) = ("pages")

}



}

probe vfs.remove_from_page_cache = kernel.function("__remove_from_page_cache"){

(dev) = (__page_dev($page))

(devname) = (__find_bdevname(dev, __page_bdev($page)))

(ino) = (__page_ino($page))

(index) = ($page->index)

(name) = ("vfs.remove_from_page_cache")

(argstr) = (sprintf("%d", ino))

}

probe vfs.remove_from_page_cache.return = kernel.function("remove_from_page_cache").return{

(name) = ("vfs.remove_from_page_cache")

(retstr) = (sprintf("N/A"))

}

function __bdevname (bdev)

%{ /* pure */

	char b[BDEVNAME_SIZE];

	struct block_device *bdev = (struct block_device *)(long)THIS->bdev;

	if (bdev == NULL) {

		strlcpy(THIS->__retvalue, "N/A", MAXSTRINGLEN);

		return;

	}



	deref_string(THIS->__retvalue, bdevname(bdev,b), MAXSTRINGLEN);

	if (0) {

deref_fault:

		CONTEXT->last_error = "pointer dereference fault";

	}

%}

function __find_bdevname (dev, bdev)

{

(__devname) = (__devnames[dev])

if ((__devname) != (null)) return __devname



(__devname) = ((__devnames[dev]) = (__bdevname(bdev)))

return __devname

}

function ppos_pos (ppos)

%{ /* pure */

	loff_t *ppos = (loff_t *)(long)THIS->ppos;

        /* XXX: but see bug #3079 */

	THIS->__retvalue = (int64_t) deref (sizeof(loff_t), ppos);

	if (0) {

deref_fault:

		CONTEXT->last_error = "pointer dereference fault";

	}

%}

function __page_ino (page)

%{ /* pure */

	struct page *page = (struct page *)(long)THIS->page;

	if ((page == NULL) || (page->mapping == NULL)) {

		THIS->__retvalue = -1;

		return;

	}



	THIS->__retvalue = deref(sizeof(page->mapping->host->i_ino),

		&(page->mapping->host->i_ino));

	if (0) {

deref_fault:

		CONTEXT->last_error = "pointer dereference fault";

	}

%}

function __page_dev (page)

%{ /* pure */

	struct page *page = (struct page *)(long)THIS->page;

	if ((page == NULL) || (page->mapping == NULL)) {

		THIS->__retvalue = -1;

		return;

	}

	THIS->__retvalue = deref(sizeof(page->mapping->host->i_sb->s_dev),

		&(page->mapping->host->i_sb->s_dev));

	if (0) {

deref_fault:

		CONTEXT->last_error = "pointer dereference fault";

	}

%}

function __page_bdev (page)

%{ /* pure */
 *)(long)THIS->page;
	if ((page == NULL) || (page->mapping == NULL)) {
		THIS->__retvalue = 0;
		return;
	}
	THIS->__retvalue = deref(sizeof(page->mapping->host->i_sb->s_bdev),
		&(page->mapping->host->i_sb->s_bdev));
	if (0) {
deref_fault:
		CONTEXT->last_error = "pointer dereference fault";
	}
%}
function __file_dev (file)
%{ /* pure */
	struct file *file = (struct file *)(long)THIS->file;
	if ((file == NULL) || (file->f_dentry == NULL)) {
		THIS->__retvalue = 0;
		return;
	}
	THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode->i_sb->s_dev),
		&(file->f_dentry->d_inode->i_sb->s_dev));
	if (0) {
deref_fault:
		CONTEXT->last_error = "pointer dereference fault";
	}
%}
function __file_bdev (file)
%{ /* pure */
	struct file *file = (struct file *)(long)THIS->file;
	if ((file == NULL) || (file->f_dentry == NULL)) {
		THIS->__retvalue = 0;
		return;
	}
	THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode->i_sb->s_bdev),
		&(file->f_dentry->d_inode->i_sb->s_bdev));
	if (0) {
deref_fault:
		CONTEXT->last_error = "pointer dereference fault";
	}
%}
function __file_ino (file)
%{ /* pure */
	struct file *file = (struct file *)(long)THIS->file;
	if ((file == NULL) || (file->f_dentry == NULL)) {
		THIS->__retvalue = 0;
		return;
	}
	THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode->i_ino),
		&(file->f_dentry->d_inode->i_ino));
	if (0) {
deref_fault:
		CONTEXT->last_error = "pointer dereference fault";
	}
%}
function __file_maxbytes (file)
%{ /* pure */
	struct file *file = (struct file *)(long)THIS->file;
	if ((file == NULL) || (file->f_dentry == NULL)) {
		THIS->__retvalue = 0;
		return;
	}
	THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode->i_sb->s_maxbytes),
		&(file->f_dentry->d_inode->i_sb->s_maxbytes));
	if (0) {
deref_fault:
		CONTEXT->last_error = "pointer dereference fault";
	}
%}
function __file_filename (file)
%{ /* pure */
	struct file *file = (struct file *)(long)THIS->file;
	if ((file == NULL) 
		|| (file->f_dentry == NULL) 
		|| (file->f_dentry->d_name.name == NULL)) 
		strlcpy(THIS->__retvalue, "NULL", MAXSTRINGLEN);
	else {
		strlcpy(THIS->__retvalue, file->f_dentry->d_name.name, MAXSTRINGLEN);
	}
%}

# file /usr/local/share/systemtap/tapset/LKET/aio.stp
probe addevent.aio = addevent.aio.entry, addevent.aio.return{
}
probe addevent.aio.entry = addevent.aio.io_setup.entry, addevent.aio.io_submit.entry, addevent.aio.io_submit_one.entry, addevent.aio.io_destroy.entry, addevent.aio.io_getevents.entry, addevent.aio.io_cancel.entry{
}
probe addevent.aio.return = addevent.aio.io_setup.return, addevent.aio.io_submit.return, addevent.aio.io_submit_one.return, addevent.aio.io_destroy.return, addevent.aio.io_getevents.return, addevent.aio.io_cancel.return{
}
probe addevent.aio.io_setup = addevent.aio.io_setup.entry, addevent.aio.io_setup.return{
}
probe addevent.aio.io_setup.entry = _addevent.aio.io_setup.entry{
update_record()
}
probe _addevent.aio.io_setup.entry = syscall.io_setup{
log_aio_setup(maxevents, ctxp_uaddr)
}
probe addevent.aio.io_setup.return = _addevent.aio.io_setup.return{
update_record()
}
probe _addevent.aio.io_setup.return = kernel.function("sys_io_setup").return{
log_aio_return(HOOKID_AIO_IO_SETUP_RETURN, $return)
}
probe addevent.aio.io_submit = addevent.aio.io_submit.entry, addevent.aio.io_submit.return{
}
probe addevent.aio.io_submit.entry = _addevent.aio.io_submit.entry{
update_record()
}
probe _addevent.aio.io_submit.entry = syscall.io_submit{
log_aio_submit(ctx_id, nr, iocbpp_uaddr)
}
probe addevent.aio.io_submit.return = _addevent.aio.io_submit.return{
update_record()
}
probe _addevent.aio.io_submit.return = syscall.io_submit.return{
log_aio_return(HOOKID_AIO_IO_SUBMIT_RETURN, $return)
}
probe addevent.aio.io_submit_one = addevent.aio.io_submit_one.entry, addevent.aio.io_submit_one.return{
}
probe addevent.aio.io_submit_one.entry = _addevent.aio.io_submit_one.entry{
update_record()
}
probe _addevent.aio.io_submit_one.entry = kernel.function("io_submit_one"){
l
	struct page *page = (struct page *)(long)THIS->page;

	if ((page == NULL) || (page->mapping == NULL)) {

		THIS->__retvalue = 0;

		return;

	}

	THIS->__retvalue = deref(sizeof(page->mapping->host->i_sb->s_bdev),

		&(page->mapping->host->i_sb->s_bdev));

	if (0) {

deref_fault:

		CONTEXT->last_error = "pointer dereference fault";

	}

%}

function __file_dev (file)

%{ /* pure */

	struct file *file = (struct file *)(long)THIS->file;

	if ((file == NULL) || (file->f_dentry == NULL)) {

		THIS->__retvalue = 0;

		return;

	}

	THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode->i_sb->s_dev),

		&(file->f_dentry->d_inode->i_sb->s_dev));

	if (0) {

deref_fault:

		CONTEXT->last_error = "pointer dereference fault";

	}

%}

function __file_bdev (file)

%{ /* pure */

	struct file *file = (struct file *)(long)THIS->file;

	if ((file == NULL) || (file->f_dentry == NULL)) {

		THIS->__retvalue = 0;

		return;

	}

	THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode->i_sb->s_bdev),

		&(file->f_dentry->d_inode->i_sb->s_bdev));

	if (0) {

deref_fault:

		CONTEXT->last_error = "pointer dereference fault";

	}

%}

function __file_ino (file)

%{ /* pure */

	struct file *file = (struct file *)(long)THIS->file;

	if ((file == NULL) || (file->f_dentry == NULL)) {

		THIS->__retvalue = 0;

		return;

	}

	THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode->i_ino),

		&(file->f_dentry->d_inode->i_ino));

	if (0) {

deref_fault:

		CONTEXT->last_error = "pointer dereference fault";

	}

%}

function __file_maxbytes (file)

%{ /* pure */

	struct file *file = (struct file *)(long)THIS->file;

	if ((file == NULL) || (file->f_dentry == NULL)) {

		THIS->__retvalue = 0;

		return;

	}

	THIS->__retvalue = deref(sizeof(file->f_dentry->d_inode->i_sb->s_maxbytes),

		&(file->f_dentry->d_inode->i_sb->s_maxbytes));

	if (0) {

deref_fault:

		CONTEXT->last_error = "pointer dereference fault";

	}

%}

function __file_filename (file)

%{ /* pure */

	struct file *file = (struct file *)(long)THIS->file;

	if ((file == NULL) 

		|| (file->f_dentry == NULL) 

		|| (file->f_dentry->d_name.name == NULL)) 

		strlcpy(THIS->__retvalue, "NULL", MAXSTRINGLEN);

	else {

		strlcpy(THIS->__retvalue, file->f_dentry->d_name.name, MAXSTRINGLEN);

	}

%}



# file /usr/local/share/systemtap/tapset/LKET/aio.stp

probe addevent.aio = addevent.aio.entry, addevent.aio.return{

}

probe addevent.aio.entry = addevent.aio.io_setup.entry, addevent.aio.io_submit.entry, addevent.aio.io_submit_one.entry, addevent.aio.io_destroy.entry, addevent.aio.io_getevents.entry, addevent.aio.io_cancel.entry{

}

probe addevent.aio.return = addevent.aio.io_setup.return, addevent.aio.io_submit.return, addevent.aio.io_submit_one.return, addevent.aio.io_destroy.return, addevent.aio.io_getevents.return, addevent.aio.io_cancel.return{

}

probe addevent.aio.io_setup = addevent.aio.io_setup.entry, addevent.aio.io_setup.return{

}

probe addevent.aio.io_setup.entry = _addevent.aio.io_setup.entry{

update_record()

}

probe _addevent.aio.io_setup.entry = syscall.io_setup{

log_aio_setup(maxevents, ctxp_uaddr)

}

probe addevent.aio.io_setup.return = _addevent.aio.io_setup.return{

update_record()

}

probe _addevent.aio.io_setup.return = kernel.function("sys_io_setup").return{

log_aio_return(HOOKID_AIO_IO_SETUP_RETURN, $return)

}

probe addevent.aio.io_submit = addevent.aio.io_submit.entry, addevent.aio.io_submit.return{

}

probe addevent.aio.io_submit.entry = _addevent.aio.io_submit.entry{

update_record()

}

probe _addevent.aio.io_submit.entry = syscall.io_submit{

log_aio_submit(ctx_id, nr, iocbpp_uaddr)

}

probe addevent.aio.io_submit.return = _addevent.aio.io_submit.return{

update_record()

}

probe _addevent.aio.io_submit.return = syscall.io_submit.return{

log_aio_return(HOOKID_AIO_IO_SUBMIT_RETURN, $return)

}

probe addevent.aio.io_submit_one = addevent.aio.io_submit_one.entry, addevent.aio.io_submit_one.return{

}

probe addevent.aio.io_submit_one.entry = _addevent.aio.io_submit_one.entry{

update_record()

}

probe _addevent.aio.io_submit_one.entry = kernel.function("io_submit_one"){
og_io_submit_one($ctx, $user_iocb, $user_iocb->aio_lio_opcode, $user_iocb->aio_reqprio, $user_iocb->aio_fildes, $user_iocb->aio_buf, $user_iocb->aio_nbytes, $user_iocb->aio_offset)
}
probe addevent.aio.io_submit_one.return = _addevent.aio.io_submit_one.return{
update_record()
}
probe _addevent.aio.io_submit_one.return = kernel.function("io_submit_one").return{
log_aio_return(HOOKID_AIO_IO_SUBMIT_ONE_RETURN, $return)
}
probe addevent.aio.io_destroy = addevent.aio.io_destroy.entry, addevent.aio.io_destroy.return{
}
probe addevent.aio.io_destroy.entry = _addevent.aio.io_destroy.entry{
update_record()
}
probe _addevent.aio.io_destroy.entry = syscall.io_destroy{
log_io_destroy(ctx)
}
probe addevent.aio.io_destroy.return = _addevent.aio.io_destroy.return{
update_record()
}
probe _addevent.aio.io_destroy.return = syscall.io_destroy.return{
log_aio_return(HOOKID_AIO_IO_DESTROY_RETURN, $return)
}
probe addevent.aio.io_getevents = addevent.aio.io_getevents.entry, addevent.aio.io_getevents.return{
}
probe addevent.aio.io_getevents.entry = _addevent.aio.io_getevents.entry{
update_record()
}
probe _addevent.aio.io_getevents.entry = syscall.io_getevents{
log_io_getevents(ctx_id, min_nr, nr, events_uaddr, timeout_uaddr)
}
probe addevent.aio.io_getevents.return = _addevent.aio.io_getevents.return{
update_record()
}
probe _addevent.aio.io_getevents.return = syscall.io_getevents.return{
log_aio_return(HOOKID_AIO_IO_GETEVENTS_RETURN, $return)
}
probe addevent.aio.io_cancel = addevent.aio.io_cancel.entry, addevent.aio.io_cancel.return{
}
probe addevent.aio.io_cancel.entry = _addevent.aio.io_cancel.entry{
update_record()
}
probe _addevent.aio.io_cancel.entry = syscall.io_cancel{
log_aio_cancel(ctx_id, iocb_uaddr, result_uaddr)
}
probe addevent.aio.io_cancel.return = _addevent.aio.io_cancel.return{
update_record()
}
probe _addevent.aio.io_cancel.return = syscall.io_cancel.return{
log_aio_return(HOOKID_AIO_IO_CANCEL_RETURN, $return)
}
function log_aio_setup (nr_events, ctxp_uaddr)
%{
	/* nr_events|ctxp_uaddr */
	_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_SETUP_ENTRY, "%4b%8b", 
		THIS->nr_events, THIS->ctxp_uaddr);
%}
function log_aio_return (hookid, retval)
%{
	_lket_trace(_GROUP_AIO, THIS->hookid, "%8b", THIS->retval);
%}
function log_aio_submit (ctx_id, nr, iocbpp_uaddr)
%{
	/* ctx_id | no_iocbs | iocbpp */
	_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_SUBMIT_ENTRY, "%8b%4b%8b", 
		THIS->ctx_id, THIS->nr, THIS->iocbpp_uaddr);
%}
function log_io_submit_one (ctx, user_iocb_uaddr, aio_lio_opcode, aio_reqprio, aio_fildes, aio_buf, aio_nbytes, aio_offset)
%{
	/* ctx | user_iocb_addr | aio_lio_opcode | >aio_reqprio |
		aio_fildes | aio_buf | aio_nbytes | >aio_offset */
	_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_SUBMIT_ONE_ENTRY, 
		"%8b%8b%2b%2b%4b%8b%8b%8b", 
		THIS->ctx, THIS->user_iocb_uaddr, THIS->aio_lio_opcode, 
		THIS->aio_reqprio, THIS->aio_fildes, 
		THIS->aio_buf, THIS->aio_nbytes, 
		THIS->aio_offset);
%}
function log_io_destroy (ctx)
%{
	_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_DESTROY_ENTRY, "%8b", THIS->ctx);
%}
function log_io_getevents (ctx_id, min_nr, nr, events_uaddr, timeout)
%{
	struct timespec __user *timeout = (struct timespec *)((long)THIS->timeout);
	struct timespec ts;

	if (unlikely(copy_from_user(&ts, timeout, sizeof(ts))))
		return;

	_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_GETEVENTS_ENTRY,
		"%8b%4b%4b%8b%4b%4b", THIS->ctx_id, THIS->min_nr,
		THIS->nr, THIS->events_uaddr, (_FMT_)ts.tv_sec, 
		(_FMT_)ts.tv_nsec);
%}
function log_aio_cancel (ctx_id, iocb_uaddr, result_uaddr)
%{
	_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_CANCEL_ENTRY, "%8b%8b%8b",
		THIS->ctx_id, THIS->iocb_uaddr, THIS->result_uaddr);
%}

# file /usr/local/share/systemtap/tapset/LKET/hookid_defs.stp
%{
/* used in embedded c codes */

/* Group ID Definitions */
int _GROUP_REGEVT = 1;
int _GROUP_SYSCALL = 2;
int _GROUP_PROCESS = 3;
int _GROUP_IOSCHED = 4;
int _GROUP_TASK = 5;
int _GROUP_SCSI = 6;
int _GROUP_PAGEFAULT = 7;
int _GROUP_NETDEV = 8;
int _GROUP_IOSYSCA
log_io_submit_one($ctx, $user_iocb, $user_iocb->aio_lio_opcode, $user_iocb->aio_reqprio, $user_iocb->aio_fildes, $user_iocb->aio_buf, $user_iocb->aio_nbytes, $user_iocb->aio_offset)

}

probe addevent.aio.io_submit_one.return = _addevent.aio.io_submit_one.return{

update_record()

}

probe _addevent.aio.io_submit_one.return = kernel.function("io_submit_one").return{

log_aio_return(HOOKID_AIO_IO_SUBMIT_ONE_RETURN, $return)

}

probe addevent.aio.io_destroy = addevent.aio.io_destroy.entry, addevent.aio.io_destroy.return{

}

probe addevent.aio.io_destroy.entry = _addevent.aio.io_destroy.entry{

update_record()

}

probe _addevent.aio.io_destroy.entry = syscall.io_destroy{

log_io_destroy(ctx)

}

probe addevent.aio.io_destroy.return = _addevent.aio.io_destroy.return{

update_record()

}

probe _addevent.aio.io_destroy.return = syscall.io_destroy.return{

log_aio_return(HOOKID_AIO_IO_DESTROY_RETURN, $return)

}

probe addevent.aio.io_getevents = addevent.aio.io_getevents.entry, addevent.aio.io_getevents.return{

}

probe addevent.aio.io_getevents.entry = _addevent.aio.io_getevents.entry{

update_record()

}

probe _addevent.aio.io_getevents.entry = syscall.io_getevents{

log_io_getevents(ctx_id, min_nr, nr, events_uaddr, timeout_uaddr)

}

probe addevent.aio.io_getevents.return = _addevent.aio.io_getevents.return{

update_record()

}

probe _addevent.aio.io_getevents.return = syscall.io_getevents.return{

log_aio_return(HOOKID_AIO_IO_GETEVENTS_RETURN, $return)

}

probe addevent.aio.io_cancel = addevent.aio.io_cancel.entry, addevent.aio.io_cancel.return{

}

probe addevent.aio.io_cancel.entry = _addevent.aio.io_cancel.entry{

update_record()

}

probe _addevent.aio.io_cancel.entry = syscall.io_cancel{

log_aio_cancel(ctx_id, iocb_uaddr, result_uaddr)

}

probe addevent.aio.io_cancel.return = _addevent.aio.io_cancel.return{

update_record()

}

probe _addevent.aio.io_cancel.return = syscall.io_cancel.return{

log_aio_return(HOOKID_AIO_IO_CANCEL_RETURN, $return)

}

function log_aio_setup (nr_events, ctxp_uaddr)

%{

	/* nr_events|ctxp_uaddr */

	_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_SETUP_ENTRY, "%4b%8b", 

		THIS->nr_events, THIS->ctxp_uaddr);

%}

function log_aio_return (hookid, retval)

%{

	_lket_trace(_GROUP_AIO, THIS->hookid, "%8b", THIS->retval);

%}

function log_aio_submit (ctx_id, nr, iocbpp_uaddr)

%{

	/* ctx_id | no_iocbs | iocbpp */

	_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_SUBMIT_ENTRY, "%8b%4b%8b", 

		THIS->ctx_id, THIS->nr, THIS->iocbpp_uaddr);

%}

function log_io_submit_one (ctx, user_iocb_uaddr, aio_lio_opcode, aio_reqprio, aio_fildes, aio_buf, aio_nbytes, aio_offset)

%{

	/* ctx | user_iocb_addr | aio_lio_opcode | >aio_reqprio |

		aio_fildes | aio_buf | aio_nbytes | >aio_offset */

	_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_SUBMIT_ONE_ENTRY, 

		"%8b%8b%2b%2b%4b%8b%8b%8b", 

		THIS->ctx, THIS->user_iocb_uaddr, THIS->aio_lio_opcode, 

		THIS->aio_reqprio, THIS->aio_fildes, 

		THIS->aio_buf, THIS->aio_nbytes, 

		THIS->aio_offset);

%}

function log_io_destroy (ctx)

%{

	_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_DESTROY_ENTRY, "%8b", THIS->ctx);

%}

function log_io_getevents (ctx_id, min_nr, nr, events_uaddr, timeout)

%{

	struct timespec __user *timeout = (struct timespec *)((long)THIS->timeout);

	struct timespec ts;



	if (unlikely(copy_from_user(&ts, timeout, sizeof(ts))))

		return;



	_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_GETEVENTS_ENTRY,

		"%8b%4b%4b%8b%4b%4b", THIS->ctx_id, THIS->min_nr,

		THIS->nr, THIS->events_uaddr, (_FMT_)ts.tv_sec, 

		(_FMT_)ts.tv_nsec);

%}

function log_aio_cancel (ctx_id, iocb_uaddr, result_uaddr)

%{

	_lket_trace(_GROUP_AIO, _HOOKID_AIO_IO_CANCEL_ENTRY, "%8b%8b%8b",

		THIS->ctx_id, THIS->iocb_uaddr, THIS->result_uaddr);

%}



# file /usr/local/share/systemtap/tapset/LKET/hookid_defs.stp

%{

/* used in embedded c codes */



/* Group ID Definitions */

int _GROUP_REGEVT = 1;

int _GROUP_SYSCALL = 2;

int _GROUP_PROCESS = 3;

int _GROUP_IOSCHED = 4;

int _GROUP_TASK = 5;

int _GROUP_SCSI = 6;

int _GROUP_PAGEFAULT = 7;

int _GROUP_NETDEV = 8;
LL = 9;
int _GROUP_AIO = 10;
int _GROUP_SIGNAL = 11;
int _GROUP_SUNRPC = 12;
int _GROUP_CPUFREQ = 15;
int _GROUP_NFS = 16;
int _GROUP_NFSD = 17;

/* hookIDs defined inside each group */
int _HOOKID_REGSYSEVT = 1;
int _HOOKID_REGUSREVT = 3;
int _HOOKID_REGEVTDESC = 5;

int _HOOKID_SYSCALL_ENTRY = 1;
int _HOOKID_SYSCALL_RETURN = 2;

int _HOOKID_PROCESS_SNAPSHOT = 1;
int _HOOKID_PROCESS_EXECVE = 3;
int _HOOKID_PROCESS_FORK = 5;
int _HOOKID_PROCESS_EXIT_ENTRY = 7;

int _HOOKID_IOSCHED_ADD_REQ = 1;
int _HOOKID_IOSCHED_NEXT_REQ_ENTRY = 3;
int _HOOKID_IOSCHED_NEXT_REQ_RETURN = 4;
int _HOOKID_IOSCHED_COMPLETE_REQ = 5;

int _HOOKID_TASK_CTXSWITCH = 1;
int _HOOKID_TASK_CPUIDLE = 3;

int _HOOKID_SCSI_IOENTRY = 1;
int _HOOKID_SCSI_IO_TO_LLD = 3;
int _HOOKID_SCSI_IODONE_BY_LLD = 5;
int _HOOKID_SCSI_IOCOMP_BY_MIDLEVEL = 7;

int _HOOKID_PAGEFAULT = 1;

int _HOOKID_NETDEV_RECEIVE = 1;
int _HOOKID_NETDEV_TRANSMIT = 3;

int _HOOKID_IOSYSCALL_OPEN_ENTRY = 1;
int _HOOKID_IOSYSCALL_OPEN_RETURN = 2;
int _HOOKID_IOSYSCALL_CLOSE_ENTRY = 3;
int _HOOKID_IOSYSCALL_CLOSE_RETURN = 4;
int _HOOKID_IOSYSCALL_READ_ENTRY = 5;
int _HOOKID_IOSYSCALL_READ_RETURN = 6;
int _HOOKID_IOSYSCALL_WRITE_ENTRY = 7; 
int _HOOKID_IOSYSCALL_WRITE_RETURN = 8;
int _HOOKID_IOSYSCALL_READV_ENTRY = 9;
int _HOOKID_IOSYSCALL_READV_RETURN = 10;
int _HOOKID_IOSYSCALL_WRITEV_ENTRY = 11; 
int _HOOKID_IOSYSCALL_WRITEV_RETURN = 12;
int _HOOKID_IOSYSCALL_PREAD64_ENTRY = 13; 
int _HOOKID_IOSYSCALL_PREAD64_RETURN = 14;
int _HOOKID_IOSYSCALL_PWRITE64_ENTRY = 15; 
int _HOOKID_IOSYSCALL_PWRITE64_RETURN = 16;
int _HOOKID_IOSYSCALL_READAHEAD_ENTRY = 17; 
int _HOOKID_IOSYSCALL_READAHEAD_RETURN = 18;
int _HOOKID_IOSYSCALL_SENDFILE_ENTRY = 19; 
int _HOOKID_IOSYSCALL_SENDFILE_RETURN = 20;
int _HOOKID_IOSYSCALL_LSEEK_ENTRY = 21;
int _HOOKID_IOSYSCALL_LSEEK_RETURN = 22;
int _HOOKID_IOSYSCALL_LLSEEK_ENTRY = 23;
int _HOOKID_IOSYSCALL_LLSEEK_RETURN = 24;
int _HOOKID_IOSYSCALL_SYNC_ENTRY = 25;
int _HOOKID_IOSYSCALL_SYNC_RETURN = 26;
int _HOOKID_IOSYSCALL_FSYNC_ENTRY = 27;
int _HOOKID_IOSYSCALL_FSYNC_RETURN = 28;
int _HOOKID_IOSYSCALL_FDATASYNC_ENTRY = 29;
int _HOOKID_IOSYSCALL_FDATASYNC_RETURN = 30;
int _HOOKID_IOSYSCALL_FLOCK_ENTRY = 31;
int _HOOKID_IOSYSCALL_FLOCK_RETURN = 32;

int _HOOKID_AIO_IO_SETUP_ENTRY = 1;
int _HOOKID_AIO_IO_SETUP_RETURN = 2;
int _HOOKID_AIO_IO_SUBMIT_ENTRY = 3;
int _HOOKID_AIO_IO_SUBMIT_RETURN = 4;
int _HOOKID_AIO_IO_SUBMIT_ONE_ENTRY = 5;
int _HOOKID_AIO_IO_SUBMIT_ONE_RETURN = 6;
int _HOOKID_AIO_IO_GETEVENTS_ENTRY = 7;
int _HOOKID_AIO_IO_GETEVENTS_RETURN = 8;
int _HOOKID_AIO_IO_DESTROY_ENTRY = 9;
int _HOOKID_AIO_IO_DESTROY_RETURN = 10;
int _HOOKID_AIO_IO_CANCEL_ENTRY = 11;
int _HOOKID_AIO_IO_CANCEL_RETURN = 12;

int _HOOKID_SIGNAL_SEND_ENTRY = 1;
int _HOOKID_SIGNAL_SEND_RETURN = 2;
int _HOOKID_SIGNAL_SYSKILL_ENTRY = 3;
int _HOOKID_SIGNAL_SYSKILL_RETURN = 4;
int _HOOKID_SIGNAL_SYSTGKILL_ENTRY= 5; 
int _HOOKID_SIGNAL_SYSTGKILL_RETURN = 6;
int _HOOKID_SIGNAL_SYSTKILL_ENTRY = 7;
int _HOOKID_SIGNAL_SYSTKILL_RETURN = 8;
int _HOOKID_SIGNAL_PENDING_ENTRY = 9;
int _HOOKID_SIGNAL_PENDING_RETURN = 10;
int _HOOKID_SIGNAL_DOACTION_ENTRY = 11;
int _HOOKID_SIGNAL_DOACTION_RETURN = 12;
int _HOOKID_SIGNAL_PROC_MASK_ENTRY = 13;
int _HOOKID_SIGNAL_PROC_MASK_RETURN = 14;
int _HOOKID_SIGNAL_FLUSH_ENTRY = 15;

int _HOOKID_SUNRPC_CLNT_CREATE_CLIENT_ENTRY = 1;
int _HOOKID_SUNRPC_CLNT_CREATE_CLIENT_RETURN = 2;
int _HOOKID_SUNRPC_CLNT_CLONE_CLIENT_ENTRY = 3;
int _HOOKID_SUNRPC_CLNT_CLONE_CLIENT_RETURN = 4;
int _HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_ENTRY = 5;
int _HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_RETURN = 6;
int _HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_ENTRY = 7;
int _HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_RETURN = 8;
int _HOOKID_SUNRPC_CLNT_CALL_SYNC_ENTRY = 9;
int _HOOKID_SUNRPC_CLNT_CALL_SYNC_RETURN = 10;
int _HOOKID_SUNRPC_CLNT_CALL_ASYNC_ENTRY = 11;
int _HOOKID_SUNRPC_CLNT_CALL_ASYNC_RETURN = 12;
int _HOOKID_SUNRPC_CLNT_RESTART_CALL_ENTRY = 13;
int _HOOKID_SUNRPC_CLNT_RESTART_CALL_RETURN =
int _GROUP_IOSYSCALL = 9;

int _GROUP_AIO = 10;

int _GROUP_SIGNAL = 11;

int _GROUP_SUNRPC = 12;

int _GROUP_CPUFREQ = 15;

int _GROUP_NFS = 16;

int _GROUP_NFSD = 17;



/* hookIDs defined inside each group */

int _HOOKID_REGSYSEVT = 1;

int _HOOKID_REGUSREVT = 3;

int _HOOKID_REGEVTDESC = 5;



int _HOOKID_SYSCALL_ENTRY = 1;

int _HOOKID_SYSCALL_RETURN = 2;



int _HOOKID_PROCESS_SNAPSHOT = 1;

int _HOOKID_PROCESS_EXECVE = 3;

int _HOOKID_PROCESS_FORK = 5;

int _HOOKID_PROCESS_EXIT_ENTRY = 7;



int _HOOKID_IOSCHED_ADD_REQ = 1;

int _HOOKID_IOSCHED_NEXT_REQ_ENTRY = 3;

int _HOOKID_IOSCHED_NEXT_REQ_RETURN = 4;

int _HOOKID_IOSCHED_COMPLETE_REQ = 5;



int _HOOKID_TASK_CTXSWITCH = 1;

int _HOOKID_TASK_CPUIDLE = 3;



int _HOOKID_SCSI_IOENTRY = 1;

int _HOOKID_SCSI_IO_TO_LLD = 3;

int _HOOKID_SCSI_IODONE_BY_LLD = 5;

int _HOOKID_SCSI_IOCOMP_BY_MIDLEVEL = 7;



int _HOOKID_PAGEFAULT = 1;



int _HOOKID_NETDEV_RECEIVE = 1;

int _HOOKID_NETDEV_TRANSMIT = 3;



int _HOOKID_IOSYSCALL_OPEN_ENTRY = 1;

int _HOOKID_IOSYSCALL_OPEN_RETURN = 2;

int _HOOKID_IOSYSCALL_CLOSE_ENTRY = 3;

int _HOOKID_IOSYSCALL_CLOSE_RETURN = 4;

int _HOOKID_IOSYSCALL_READ_ENTRY = 5;

int _HOOKID_IOSYSCALL_READ_RETURN = 6;

int _HOOKID_IOSYSCALL_WRITE_ENTRY = 7; 

int _HOOKID_IOSYSCALL_WRITE_RETURN = 8;

int _HOOKID_IOSYSCALL_READV_ENTRY = 9;

int _HOOKID_IOSYSCALL_READV_RETURN = 10;

int _HOOKID_IOSYSCALL_WRITEV_ENTRY = 11; 

int _HOOKID_IOSYSCALL_WRITEV_RETURN = 12;

int _HOOKID_IOSYSCALL_PREAD64_ENTRY = 13; 

int _HOOKID_IOSYSCALL_PREAD64_RETURN = 14;

int _HOOKID_IOSYSCALL_PWRITE64_ENTRY = 15; 

int _HOOKID_IOSYSCALL_PWRITE64_RETURN = 16;

int _HOOKID_IOSYSCALL_READAHEAD_ENTRY = 17; 

int _HOOKID_IOSYSCALL_READAHEAD_RETURN = 18;

int _HOOKID_IOSYSCALL_SENDFILE_ENTRY = 19; 

int _HOOKID_IOSYSCALL_SENDFILE_RETURN = 20;

int _HOOKID_IOSYSCALL_LSEEK_ENTRY = 21;

int _HOOKID_IOSYSCALL_LSEEK_RETURN = 22;

int _HOOKID_IOSYSCALL_LLSEEK_ENTRY = 23;

int _HOOKID_IOSYSCALL_LLSEEK_RETURN = 24;

int _HOOKID_IOSYSCALL_SYNC_ENTRY = 25;

int _HOOKID_IOSYSCALL_SYNC_RETURN = 26;

int _HOOKID_IOSYSCALL_FSYNC_ENTRY = 27;

int _HOOKID_IOSYSCALL_FSYNC_RETURN = 28;

int _HOOKID_IOSYSCALL_FDATASYNC_ENTRY = 29;

int _HOOKID_IOSYSCALL_FDATASYNC_RETURN = 30;

int _HOOKID_IOSYSCALL_FLOCK_ENTRY = 31;

int _HOOKID_IOSYSCALL_FLOCK_RETURN = 32;



int _HOOKID_AIO_IO_SETUP_ENTRY = 1;

int _HOOKID_AIO_IO_SETUP_RETURN = 2;

int _HOOKID_AIO_IO_SUBMIT_ENTRY = 3;

int _HOOKID_AIO_IO_SUBMIT_RETURN = 4;

int _HOOKID_AIO_IO_SUBMIT_ONE_ENTRY = 5;

int _HOOKID_AIO_IO_SUBMIT_ONE_RETURN = 6;

int _HOOKID_AIO_IO_GETEVENTS_ENTRY = 7;

int _HOOKID_AIO_IO_GETEVENTS_RETURN = 8;

int _HOOKID_AIO_IO_DESTROY_ENTRY = 9;

int _HOOKID_AIO_IO_DESTROY_RETURN = 10;

int _HOOKID_AIO_IO_CANCEL_ENTRY = 11;

int _HOOKID_AIO_IO_CANCEL_RETURN = 12;



int _HOOKID_SIGNAL_SEND_ENTRY = 1;

int _HOOKID_SIGNAL_SEND_RETURN = 2;

int _HOOKID_SIGNAL_SYSKILL_ENTRY = 3;

int _HOOKID_SIGNAL_SYSKILL_RETURN = 4;

int _HOOKID_SIGNAL_SYSTGKILL_ENTRY= 5; 

int _HOOKID_SIGNAL_SYSTGKILL_RETURN = 6;

int _HOOKID_SIGNAL_SYSTKILL_ENTRY = 7;

int _HOOKID_SIGNAL_SYSTKILL_RETURN = 8;

int _HOOKID_SIGNAL_PENDING_ENTRY = 9;

int _HOOKID_SIGNAL_PENDING_RETURN = 10;

int _HOOKID_SIGNAL_DOACTION_ENTRY = 11;

int _HOOKID_SIGNAL_DOACTION_RETURN = 12;

int _HOOKID_SIGNAL_PROC_MASK_ENTRY = 13;

int _HOOKID_SIGNAL_PROC_MASK_RETURN = 14;

int _HOOKID_SIGNAL_FLUSH_ENTRY = 15;



int _HOOKID_SUNRPC_CLNT_CREATE_CLIENT_ENTRY = 1;

int _HOOKID_SUNRPC_CLNT_CREATE_CLIENT_RETURN = 2;

int _HOOKID_SUNRPC_CLNT_CLONE_CLIENT_ENTRY = 3;

int _HOOKID_SUNRPC_CLNT_CLONE_CLIENT_RETURN = 4;

int _HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_ENTRY = 5;

int _HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_RETURN = 6;

int _HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_ENTRY = 7;

int _HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_RETURN = 8;

int _HOOKID_SUNRPC_CLNT_CALL_SYNC_ENTRY = 9;

int _HOOKID_SUNRPC_CLNT_CALL_SYNC_RETURN = 10;

int _HOOKID_SUNRPC_CLNT_CALL_ASYNC_ENTRY = 11;

int _HOOKID_SUNRPC_CLNT_CALL_ASYNC_RETURN = 12;

int _HOOKID_SUNRPC_CLNT_RESTART_CALL_ENTRY = 13;
 14;

int _HOOKID_SUNRPC_SVC_REGISTER_ENTRY = 33;
int _HOOKID_SUNRPC_SVC_REGISTER_RETURN = 34;
int _HOOKID_SUNRPC_SVC_CREATE_ENTRY = 35;
int _HOOKID_SUNRPC_SVC_CREATE_RETURN = 36;
int _HOOKID_SUNRPC_SVC_DESTROY_ENTRY = 37;
int _HOOKID_SUNRPC_SVC_DESTROY_RETURN = 38;
int _HOOKID_SUNRPC_SVC_PROCESS_ENTRY = 39;
int _HOOKID_SUNRPC_SVC_PROCESS_RETURN = 40;
int _HOOKID_SUNRPC_SVC_AUTHORISE_ENTRY = 41;
int _HOOKID_SUNRPC_SVC_AUTHORISE_RETURN = 42;
int _HOOKID_SUNRPC_SVC_RECV_ENTRY = 43;
int _HOOKID_SUNRPC_SVC_RECV_RETURN = 44;
int _HOOKID_SUNRPC_SVC_SEND_ENTRY = 45;
int _HOOKID_SUNRPC_SVC_SEND_RETURN = 46;
int _HOOKID_SUNRPC_SVC_DROP_ENTRY = 47;
int _HOOKID_SUNRPC_SVC_DROP_RETURN = 48;

int _HOOKID_SUNRPC_SCHED_NEW_TASK_ENTRY = 65;
int _HOOKID_SUNRPC_SCHED_NEW_TASK_RETURN = 66;
int _HOOKID_SUNRPC_SCHED_EXECUTE_ENTRY = 67;
int _HOOKID_SUNRPC_SCHED_EXECUTE_RETURN = 68;
int _HOOKID_SUNRPC_SCHED_DELAY_ENTRY = 69;
int _HOOKID_SUNRPC_SCHED_DELAY_RETURN = 70;
int _HOOKID_SUNRPC_SCHED_RELEASE_TASK_ENTRY = 71;
int _HOOKID_SUNRPC_SCHED_RELEASE_TASK_RETURN = 72;


int _HOOKID_SWITCH_CPUFREQ = 1;

int _HOOKID_NFS_FOP_LLSEEK_ENTRY= 1;
int _HOOKID_NFS_FOP_LLSEEK_RETURN= 2;
int _HOOKID_NFS_FOP_READ_ENTRY= 3;
int _HOOKID_NFS_FOP_READ_RETURN= 4;
int _HOOKID_NFS_FOP_WRITE_ENTRY= 5;
int _HOOKID_NFS_FOP_WRITE_RETURN= 6;
int _HOOKID_NFS_FOP_AIOREAD_ENTRY= 7;
int _HOOKID_NFS_FOP_AIOREAD_RETURN= 8;
int _HOOKID_NFS_FOP_AIOWRITE_ENTRY= 9;
int _HOOKID_NFS_FOP_AIOWRITE_RETURN= 10;
int _HOOKID_NFS_FOP_MMAP_ENTRY= 11;
int _HOOKID_NFS_FOP_MMAP_RETURN= 12;
int _HOOKID_NFS_FOP_OPEN_ENTRY= 13;
int _HOOKID_NFS_FOP_OPEN_RETURN= 14;
int _HOOKID_NFS_FOP_FLUSH_ENTRY= 15;
int _HOOKID_NFS_FOP_FLUSH_RETURN= 16;
int _HOOKID_NFS_FOP_RELEASE_ENTRY= 17;
int _HOOKID_NFS_FOP_RELEASE_RETURN= 18;
int _HOOKID_NFS_FOP_FSYNC_ENTRY= 19;
int _HOOKID_NFS_FOP_FSYNC_RETURN= 20;
int _HOOKID_NFS_FOP_LOCK_ENTRY= 21;
int _HOOKID_NFS_FOP_LOCK_RETURN= 22;
int _HOOKID_NFS_FOP_SENDFILE_ENTRY= 23;
int _HOOKID_NFS_FOP_SENDFILE_RETURN= 24;
int _HOOKID_NFS_FOP_CHECKFLAGS_ENTRY= 25;
int _HOOKID_NFS_FOP_CHECKFLAGS_RETURN= 26;
int _HOOKID_NFS_AOP_READPAGE_ENTRY= 27;
int _HOOKID_NFS_AOP_READPAGE_RETURN= 28;
int _HOOKID_NFS_AOP_READPAGES_ENTRY= 29;
int _HOOKID_NFS_AOP_READPAGES_RETURN= 30;
int _HOOKID_NFS_AOP_WRITEPAGE_ENTRY= 31;
int _HOOKID_NFS_AOP_WRITEPAGE_RETURN= 32;
int _HOOKID_NFS_AOP_WRITEPAGES_ENTRY=  33;
int _HOOKID_NFS_AOP_WRITEPAGES_RETURN= 34;
int _HOOKID_NFS_AOP_RELEASEPAGE_ENTRY= 35;
int _HOOKID_NFS_AOP_RELEASEPAGE_RETURN=	 36;
int _HOOKID_NFS_AOP_SETPAGEDIRTY_ENTRY= 37;
int _HOOKID_NFS_AOP_SETPAGEDIRTY_RETURN= 38;
int _HOOKID_NFS_AOP_PREPAREWRITE_ENTRY= 39;
int _HOOKID_NFS_AOP_PREPAREWRITE_RETURN= 40;
int _HOOKID_NFS_AOP_COMMITWRITE_ENTRY= 41;
int _HOOKID_NFS_AOP_COMMITWRITE_RETURN=	 42;
int _HOOKID_NFS_PROC_LOOKUP_ENTRY = 43;
int _HOOKID_NFS_PROC_LOOKUP_RETURN= 44;
int _HOOKID_NFS_PROC_READ_ENTRY= 45;
int _HOOKID_NFS_PROC_READ_RETURN= 46;
int _HOOKID_NFS_PROC_WRITE_ENTRY= 47;
int _HOOKID_NFS_PROC_WRITE_RETURN= 48;
int _HOOKID_NFS_PROC_COMMIT_ENTRY= 49;
int _HOOKID_NFS_PROC_COMMIT_RETURN= 50;

int _HOOKID_NFS_PROC_READSETUP_ENTRY= 51;
int _HOOKID_NFS_PROC_WRITESETUP_ENTRY= 53;
int _HOOKID_NFS_PROC_COMMITSETUP_ENTRY= 55;

int _HOOKID_NFS_PROC_READDONE_ENTRY= 57;
int _HOOKID_NFS_PROC_READDONE_RETURN= 58;
int _HOOKID_NFS_PROC_WRITEDONE_ENTRY= 59;
int _HOOKID_NFS_PROC_WRITEDONE_RETURN= 60;
int _HOOKID_NFS_PROC_COMMITDONE_ENTRY= 61;
int _HOOKID_NFS_PROC_COMMITDONE_RETURN= 62;
int _HOOKID_NFS_PROC_OPEN_ENTRY= 63;
int _HOOKID_NFS_PROC_OPEN_RETURN= 64;
int _HOOKID_NFS_PROC_RELEASE_ENTRY= 65;
int _HOOKID_NFS_PROC_RELEASE_RETURN= 66;
int _HOOKID_NFS_PROC_CREATE_ENTRY= 67;
int _HOOKID_NFS_PROC_CREATE_RETURN= 68;
int _HOOKID_NFS_PROC_RENAME_ENTRY= 69;
int _HOOKID_NFS_PROC_RENAME_RETURN= 70;
int _HOOKID_NFS_PROC_REMOVE_ENTRY= 71;
int _HOOKID_NFS_PROC_REMOVE_RETURN= 72;

int _HOOKID_NFSD_DISPATCH_ENTRY= 1;
int _HOOKID_NFSD_DISPATCH_RETURN= 2;
int _HOOKID_NFSD_OPEN_ENTRY= 3;
int _HOOKID_NFSD_OPE
int _HOOKID_SUNRPC_CLNT_RESTART_CALL_RETURN = 14;



int _HOOKID_SUNRPC_SVC_REGISTER_ENTRY = 33;

int _HOOKID_SUNRPC_SVC_REGISTER_RETURN = 34;

int _HOOKID_SUNRPC_SVC_CREATE_ENTRY = 35;

int _HOOKID_SUNRPC_SVC_CREATE_RETURN = 36;

int _HOOKID_SUNRPC_SVC_DESTROY_ENTRY = 37;

int _HOOKID_SUNRPC_SVC_DESTROY_RETURN = 38;

int _HOOKID_SUNRPC_SVC_PROCESS_ENTRY = 39;

int _HOOKID_SUNRPC_SVC_PROCESS_RETURN = 40;

int _HOOKID_SUNRPC_SVC_AUTHORISE_ENTRY = 41;

int _HOOKID_SUNRPC_SVC_AUTHORISE_RETURN = 42;

int _HOOKID_SUNRPC_SVC_RECV_ENTRY = 43;

int _HOOKID_SUNRPC_SVC_RECV_RETURN = 44;

int _HOOKID_SUNRPC_SVC_SEND_ENTRY = 45;

int _HOOKID_SUNRPC_SVC_SEND_RETURN = 46;

int _HOOKID_SUNRPC_SVC_DROP_ENTRY = 47;

int _HOOKID_SUNRPC_SVC_DROP_RETURN = 48;



int _HOOKID_SUNRPC_SCHED_NEW_TASK_ENTRY = 65;

int _HOOKID_SUNRPC_SCHED_NEW_TASK_RETURN = 66;

int _HOOKID_SUNRPC_SCHED_EXECUTE_ENTRY = 67;

int _HOOKID_SUNRPC_SCHED_EXECUTE_RETURN = 68;

int _HOOKID_SUNRPC_SCHED_DELAY_ENTRY = 69;

int _HOOKID_SUNRPC_SCHED_DELAY_RETURN = 70;

int _HOOKID_SUNRPC_SCHED_RELEASE_TASK_ENTRY = 71;

int _HOOKID_SUNRPC_SCHED_RELEASE_TASK_RETURN = 72;





int _HOOKID_SWITCH_CPUFREQ = 1;



int _HOOKID_NFS_FOP_LLSEEK_ENTRY= 1;

int _HOOKID_NFS_FOP_LLSEEK_RETURN= 2;

int _HOOKID_NFS_FOP_READ_ENTRY= 3;

int _HOOKID_NFS_FOP_READ_RETURN= 4;

int _HOOKID_NFS_FOP_WRITE_ENTRY= 5;

int _HOOKID_NFS_FOP_WRITE_RETURN= 6;

int _HOOKID_NFS_FOP_AIOREAD_ENTRY= 7;

int _HOOKID_NFS_FOP_AIOREAD_RETURN= 8;

int _HOOKID_NFS_FOP_AIOWRITE_ENTRY= 9;

int _HOOKID_NFS_FOP_AIOWRITE_RETURN= 10;

int _HOOKID_NFS_FOP_MMAP_ENTRY= 11;

int _HOOKID_NFS_FOP_MMAP_RETURN= 12;

int _HOOKID_NFS_FOP_OPEN_ENTRY= 13;

int _HOOKID_NFS_FOP_OPEN_RETURN= 14;

int _HOOKID_NFS_FOP_FLUSH_ENTRY= 15;

int _HOOKID_NFS_FOP_FLUSH_RETURN= 16;

int _HOOKID_NFS_FOP_RELEASE_ENTRY= 17;

int _HOOKID_NFS_FOP_RELEASE_RETURN= 18;

int _HOOKID_NFS_FOP_FSYNC_ENTRY= 19;

int _HOOKID_NFS_FOP_FSYNC_RETURN= 20;

int _HOOKID_NFS_FOP_LOCK_ENTRY= 21;

int _HOOKID_NFS_FOP_LOCK_RETURN= 22;

int _HOOKID_NFS_FOP_SENDFILE_ENTRY= 23;

int _HOOKID_NFS_FOP_SENDFILE_RETURN= 24;

int _HOOKID_NFS_FOP_CHECKFLAGS_ENTRY= 25;

int _HOOKID_NFS_FOP_CHECKFLAGS_RETURN= 26;

int _HOOKID_NFS_AOP_READPAGE_ENTRY= 27;

int _HOOKID_NFS_AOP_READPAGE_RETURN= 28;

int _HOOKID_NFS_AOP_READPAGES_ENTRY= 29;

int _HOOKID_NFS_AOP_READPAGES_RETURN= 30;

int _HOOKID_NFS_AOP_WRITEPAGE_ENTRY= 31;

int _HOOKID_NFS_AOP_WRITEPAGE_RETURN= 32;

int _HOOKID_NFS_AOP_WRITEPAGES_ENTRY=  33;

int _HOOKID_NFS_AOP_WRITEPAGES_RETURN= 34;

int _HOOKID_NFS_AOP_RELEASEPAGE_ENTRY= 35;

int _HOOKID_NFS_AOP_RELEASEPAGE_RETURN=	 36;

int _HOOKID_NFS_AOP_SETPAGEDIRTY_ENTRY= 37;

int _HOOKID_NFS_AOP_SETPAGEDIRTY_RETURN= 38;

int _HOOKID_NFS_AOP_PREPAREWRITE_ENTRY= 39;

int _HOOKID_NFS_AOP_PREPAREWRITE_RETURN= 40;

int _HOOKID_NFS_AOP_COMMITWRITE_ENTRY= 41;

int _HOOKID_NFS_AOP_COMMITWRITE_RETURN=	 42;

int _HOOKID_NFS_PROC_LOOKUP_ENTRY = 43;

int _HOOKID_NFS_PROC_LOOKUP_RETURN= 44;

int _HOOKID_NFS_PROC_READ_ENTRY= 45;

int _HOOKID_NFS_PROC_READ_RETURN= 46;

int _HOOKID_NFS_PROC_WRITE_ENTRY= 47;

int _HOOKID_NFS_PROC_WRITE_RETURN= 48;

int _HOOKID_NFS_PROC_COMMIT_ENTRY= 49;

int _HOOKID_NFS_PROC_COMMIT_RETURN= 50;



int _HOOKID_NFS_PROC_READSETUP_ENTRY= 51;

int _HOOKID_NFS_PROC_WRITESETUP_ENTRY= 53;

int _HOOKID_NFS_PROC_COMMITSETUP_ENTRY= 55;



int _HOOKID_NFS_PROC_READDONE_ENTRY= 57;

int _HOOKID_NFS_PROC_READDONE_RETURN= 58;

int _HOOKID_NFS_PROC_WRITEDONE_ENTRY= 59;

int _HOOKID_NFS_PROC_WRITEDONE_RETURN= 60;

int _HOOKID_NFS_PROC_COMMITDONE_ENTRY= 61;

int _HOOKID_NFS_PROC_COMMITDONE_RETURN= 62;

int _HOOKID_NFS_PROC_OPEN_ENTRY= 63;

int _HOOKID_NFS_PROC_OPEN_RETURN= 64;

int _HOOKID_NFS_PROC_RELEASE_ENTRY= 65;

int _HOOKID_NFS_PROC_RELEASE_RETURN= 66;

int _HOOKID_NFS_PROC_CREATE_ENTRY= 67;

int _HOOKID_NFS_PROC_CREATE_RETURN= 68;

int _HOOKID_NFS_PROC_RENAME_ENTRY= 69;

int _HOOKID_NFS_PROC_RENAME_RETURN= 70;

int _HOOKID_NFS_PROC_REMOVE_ENTRY= 71;

int _HOOKID_NFS_PROC_REMOVE_RETURN= 72;



int _HOOKID_NFSD_DISPATCH_ENTRY= 1;

int _HOOKID_NFSD_DISPATCH_RETURN= 2;

int _HOOKID_NFSD_OPEN_ENTRY= 3;
N_RETURN= 4;
int _HOOKID_NFSD_READ_ENTRY= 5;
int _HOOKID_NFSD_READ_RETURN= 6;
int _HOOKID_NFSD_WRITE_ENTRY= 7;
int _HOOKID_NFSD_WRITE_RETURN= 8;
int _HOOKID_NFSD_LOOKUP_ENTRY= 9;
int _HOOKID_NFSD_LOOKUP_RETURN= 10;
int _HOOKID_NFSD_COMMIT_ENTRY= 11;
int _HOOKID_NFSD_COMMIT_RETURN= 12;
int _HOOKID_NFSD_CREATE_ENTRY= 13;
int _HOOKID_NFSD_CREATE_RETURN= 14;
int _HOOKID_NFSD_CREATEV3_ENTRY= 15;
int _HOOKID_NFSD_CREATEV3_RETURN= 16;
int _HOOKID_NFSD_UNLINK_ENTRY= 17;
int _HOOKID_NFSD_UNLINK_RETURN= 18;
int _HOOKID_NFSD_RENAME_ENTRY= 19;
int _HOOKID_NFSD_RENAME_RETURN= 20;
int _HOOKID_NFSD_CLOSE_ENTRY= 21;
int _HOOKID_NFSD_CLOSE_RETURN = 22;
int _HOOKID_NFSD_PROC_LOOKUP_ENTRY = 23;
int _HOOKID_NFSD_PROC_LOOKUP_RETURN= 24;
int _HOOKID_NFSD_PROC_READ_ENTRY= 25;
int _HOOKID_NFSD_PROC_READ_RETURN= 26;
int _HOOKID_NFSD_PROC_WRITE_ENTRY= 27;
int _HOOKID_NFSD_PROC_WRITE_RETURN= 28;
int _HOOKID_NFSD_PROC_COMMIT_ENTRY= 29;
int _HOOKID_NFSD_PROC_COMMIT_RETURN= 30;
int _HOOKID_NFSD_PROC_COMPOUND_ENTRY= 31;
int _HOOKID_NFSD_PROC_COMPOUND_RETURN= 32;
int _HOOKID_NFSD_PROC_REMOVE_ENTRY= 33;
int _HOOKID_NFSD_PROC_REMOVE_RETURN= 34;
int _HOOKID_NFSD_PROC_RENAME_ENTRY= 35;
int _HOOKID_NFSD_PROC_RENAME_RETURN= 36;
int _HOOKID_NFSD_PROC_CREATE_ENTRY= 37;
int _HOOKID_NFSD_PROC_CREATE_RETURN= 38;
%}global GROUP_REGEVT
global HOOKID_REGSYSEVT
global HOOKID_REGUSREVT
global HOOKID_REGEVTDESC
global GROUP_SYSCALL
global HOOKID_SYSCALL_ENTRY
global HOOKID_SYSCALL_RETURN
global GROUP_PROCESS
global HOOKID_PROCESS_SNAPSHOT
global HOOKID_PROCESS_FORK
global HOOKID_PROCESS_EXECVE
global HOOKID_PROCESS_EXIT_ENTRY
global stoptrace_exec
global stoptrace_fork
global GROUP_IOSCHED
global HOOKID_IOSCHED_ADD_REQ
global HOOKID_IOSCHED_NEXT_REQ_ENTRY
global HOOKID_IOSCHED_NEXT_REQ_RETURN
global HOOKID_IOSCHED_COMPLETE_REQ
global GROUP_TASK
global HOOKID_TASK_CTXSWITCH
global HOOKID_TASK_CPUIDLE
global GROUP_SCSI
global HOOKID_SCSI_IOENTRY
global HOOKID_SCSI_IO_TO_LLD
global HOOKID_SCSI_IODONE_BY_LLD
global HOOKID_SCSI_IOCOMP_BY_MIDLEVEL
global GROUP_PAGEFAULT
global HOOKID_PAGEFAULT
global GROUP_NETDEV
global HOOKID_NETDEV_RECEIVE
global HOOKID_NETDEV_TRANSMIT
global GROUP_IOSYSCALL
global HOOKID_IOSYSCALL_OPEN_ENTRY
global HOOKID_IOSYSCALL_OPEN_RETURN
global HOOKID_IOSYSCALL_CLOSE_ENTRY
global HOOKID_IOSYSCALL_CLOSE_RETURN
global HOOKID_IOSYSCALL_READ_ENTRY
global HOOKID_IOSYSCALL_READ_RETURN
global HOOKID_IOSYSCALL_WRITE_ENTRY
global HOOKID_IOSYSCALL_WRITE_RETURN
global HOOKID_IOSYSCALL_READV_ENTRY
global HOOKID_IOSYSCALL_READV_RETURN
global HOOKID_IOSYSCALL_WRITEV_ENTRY
global HOOKID_IOSYSCALL_WRITEV_RETURN
global HOOKID_IOSYSCALL_PREAD64_ENTRY
global HOOKID_IOSYSCALL_PREAD64_RETURN
global HOOKID_IOSYSCALL_PWRITE64_ENTRY
global HOOKID_IOSYSCALL_PWRITE64_RETURN
global HOOKID_IOSYSCALL_READAHEAD_ENTRY
global HOOKID_IOSYSCALL_READAHEAD_RETURN
global HOOKID_IOSYSCALL_SENDFILE_ENTRY
global HOOKID_IOSYSCALL_SENDFILE_RETURN
global HOOKID_IOSYSCALL_SENDFILE64_ENTRY
global HOOKID_IOSYSCALL_SENDFILE64_RETURN
global HOOKID_IOSYSCALL_LSEEK_ENTRY
global HOOKID_IOSYSCALL_LSEEK_RETURN
global HOOKID_IOSYSCALL_LLSEEK_ENTRY
global HOOKID_IOSYSCALL_LLSEEK_RETURN
global HOOKID_IOSYSCALL_SYNC_ENTRY
global HOOKID_IOSYSCALL_SYNC_RETURN
global HOOKID_IOSYSCALL_FSYNC_ENTRY
global HOOKID_IOSYSCALL_FSYNC_RETURN
global HOOKID_IOSYSCALL_FDATASYNC_ENTRY
global HOOKID_IOSYSCALL_FDATASYNC_RETURN
global HOOKID_IOSYSCALL_FLOCK_ENTRY
global HOOKID_IOSYSCALL_FLOCK_RETURN
global GROUP_AIO
global HOOKID_AIO_IO_SETUP_ENTRY
global HOOKID_AIO_IO_SETUP_RETURN
global HOOKID_AIO_IO_SUBMIT_ENTRY
global HOOKID_AIO_IO_SUBMIT_RETURN
global HOOKID_AIO_IO_SUBMIT_ONE_ENTRY
global HOOKID_AIO_IO_SUBMIT_ONE_RETURN
global HOOKID_AIO_IO_GETEVENTS_ENTRY
global HOOKID_AIO_IO_GETEVENTS_RETURN
global HOOKID_AIO_IO_DESTROY_ENTRY
global HOOKID_AIO_IO_DESTROY_RETURN
global HOOKID_AIO_IO_CANCEL_ENTRY
global HOOKID_AIO_IO_CANCEL_RETURN
global GROUP_SIGNAL
global HOOKID_SIGNAL_SEND_ENTRY
global HOOKID_SIGNAL_S
int _HOOKID_NFSD_OPEN_RETURN= 4;

int _HOOKID_NFSD_READ_ENTRY= 5;

int _HOOKID_NFSD_READ_RETURN= 6;

int _HOOKID_NFSD_WRITE_ENTRY= 7;

int _HOOKID_NFSD_WRITE_RETURN= 8;

int _HOOKID_NFSD_LOOKUP_ENTRY= 9;

int _HOOKID_NFSD_LOOKUP_RETURN= 10;

int _HOOKID_NFSD_COMMIT_ENTRY= 11;

int _HOOKID_NFSD_COMMIT_RETURN= 12;

int _HOOKID_NFSD_CREATE_ENTRY= 13;

int _HOOKID_NFSD_CREATE_RETURN= 14;

int _HOOKID_NFSD_CREATEV3_ENTRY= 15;

int _HOOKID_NFSD_CREATEV3_RETURN= 16;

int _HOOKID_NFSD_UNLINK_ENTRY= 17;

int _HOOKID_NFSD_UNLINK_RETURN= 18;

int _HOOKID_NFSD_RENAME_ENTRY= 19;

int _HOOKID_NFSD_RENAME_RETURN= 20;

int _HOOKID_NFSD_CLOSE_ENTRY= 21;

int _HOOKID_NFSD_CLOSE_RETURN = 22;

int _HOOKID_NFSD_PROC_LOOKUP_ENTRY = 23;

int _HOOKID_NFSD_PROC_LOOKUP_RETURN= 24;

int _HOOKID_NFSD_PROC_READ_ENTRY= 25;

int _HOOKID_NFSD_PROC_READ_RETURN= 26;

int _HOOKID_NFSD_PROC_WRITE_ENTRY= 27;

int _HOOKID_NFSD_PROC_WRITE_RETURN= 28;

int _HOOKID_NFSD_PROC_COMMIT_ENTRY= 29;

int _HOOKID_NFSD_PROC_COMMIT_RETURN= 30;

int _HOOKID_NFSD_PROC_COMPOUND_ENTRY= 31;

int _HOOKID_NFSD_PROC_COMPOUND_RETURN= 32;

int _HOOKID_NFSD_PROC_REMOVE_ENTRY= 33;

int _HOOKID_NFSD_PROC_REMOVE_RETURN= 34;

int _HOOKID_NFSD_PROC_RENAME_ENTRY= 35;

int _HOOKID_NFSD_PROC_RENAME_RETURN= 36;

int _HOOKID_NFSD_PROC_CREATE_ENTRY= 37;

int _HOOKID_NFSD_PROC_CREATE_RETURN= 38;

%}global GROUP_REGEVT

global HOOKID_REGSYSEVT

global HOOKID_REGUSREVT

global HOOKID_REGEVTDESC

global GROUP_SYSCALL

global HOOKID_SYSCALL_ENTRY

global HOOKID_SYSCALL_RETURN

global GROUP_PROCESS

global HOOKID_PROCESS_SNAPSHOT

global HOOKID_PROCESS_FORK

global HOOKID_PROCESS_EXECVE

global HOOKID_PROCESS_EXIT_ENTRY

global stoptrace_exec

global stoptrace_fork

global GROUP_IOSCHED

global HOOKID_IOSCHED_ADD_REQ

global HOOKID_IOSCHED_NEXT_REQ_ENTRY

global HOOKID_IOSCHED_NEXT_REQ_RETURN

global HOOKID_IOSCHED_COMPLETE_REQ

global GROUP_TASK

global HOOKID_TASK_CTXSWITCH

global HOOKID_TASK_CPUIDLE

global GROUP_SCSI

global HOOKID_SCSI_IOENTRY

global HOOKID_SCSI_IO_TO_LLD

global HOOKID_SCSI_IODONE_BY_LLD

global HOOKID_SCSI_IOCOMP_BY_MIDLEVEL

global GROUP_PAGEFAULT

global HOOKID_PAGEFAULT

global GROUP_NETDEV

global HOOKID_NETDEV_RECEIVE

global HOOKID_NETDEV_TRANSMIT

global GROUP_IOSYSCALL

global HOOKID_IOSYSCALL_OPEN_ENTRY

global HOOKID_IOSYSCALL_OPEN_RETURN

global HOOKID_IOSYSCALL_CLOSE_ENTRY

global HOOKID_IOSYSCALL_CLOSE_RETURN

global HOOKID_IOSYSCALL_READ_ENTRY

global HOOKID_IOSYSCALL_READ_RETURN

global HOOKID_IOSYSCALL_WRITE_ENTRY

global HOOKID_IOSYSCALL_WRITE_RETURN

global HOOKID_IOSYSCALL_READV_ENTRY

global HOOKID_IOSYSCALL_READV_RETURN

global HOOKID_IOSYSCALL_WRITEV_ENTRY

global HOOKID_IOSYSCALL_WRITEV_RETURN

global HOOKID_IOSYSCALL_PREAD64_ENTRY

global HOOKID_IOSYSCALL_PREAD64_RETURN

global HOOKID_IOSYSCALL_PWRITE64_ENTRY

global HOOKID_IOSYSCALL_PWRITE64_RETURN

global HOOKID_IOSYSCALL_READAHEAD_ENTRY

global HOOKID_IOSYSCALL_READAHEAD_RETURN

global HOOKID_IOSYSCALL_SENDFILE_ENTRY

global HOOKID_IOSYSCALL_SENDFILE_RETURN

global HOOKID_IOSYSCALL_SENDFILE64_ENTRY

global HOOKID_IOSYSCALL_SENDFILE64_RETURN

global HOOKID_IOSYSCALL_LSEEK_ENTRY

global HOOKID_IOSYSCALL_LSEEK_RETURN

global HOOKID_IOSYSCALL_LLSEEK_ENTRY

global HOOKID_IOSYSCALL_LLSEEK_RETURN

global HOOKID_IOSYSCALL_SYNC_ENTRY

global HOOKID_IOSYSCALL_SYNC_RETURN

global HOOKID_IOSYSCALL_FSYNC_ENTRY

global HOOKID_IOSYSCALL_FSYNC_RETURN

global HOOKID_IOSYSCALL_FDATASYNC_ENTRY

global HOOKID_IOSYSCALL_FDATASYNC_RETURN

global HOOKID_IOSYSCALL_FLOCK_ENTRY

global HOOKID_IOSYSCALL_FLOCK_RETURN

global GROUP_AIO

global HOOKID_AIO_IO_SETUP_ENTRY

global HOOKID_AIO_IO_SETUP_RETURN

global HOOKID_AIO_IO_SUBMIT_ENTRY

global HOOKID_AIO_IO_SUBMIT_RETURN

global HOOKID_AIO_IO_SUBMIT_ONE_ENTRY

global HOOKID_AIO_IO_SUBMIT_ONE_RETURN

global HOOKID_AIO_IO_GETEVENTS_ENTRY

global HOOKID_AIO_IO_GETEVENTS_RETURN

global HOOKID_AIO_IO_DESTROY_ENTRY

global HOOKID_AIO_IO_DESTROY_RETURN

global HOOKID_AIO_IO_CANCEL_ENTRY

global HOOKID_AIO_IO_CANCEL_RETURN

global GROUP_SIGNAL

global HOOKID_SIGNAL_SEND_ENTRY
END_RETURN
global HOOKID_SIGNAL_SYSKILL_ENTRY
global HOOKID_SIGNAL_SYSKILL_RETURN
global HOOKID_SIGNAL_SYSTGKILL_ENTRY
global HOOKID_SIGNAL_SYSTGKILL_RETURN
global HOOKID_SIGNAL_SYSTKILL_ENTRY
global HOOKID_SIGNAL_SYSTKILL_RETURN
global HOOKID_SIGNAL_PENDING_ENTRY
global HOOKID_SIGNAL_PENDING_RETURN
global HOOKID_SIGNAL_DOACTION_ENTRY
global HOOKID_SIGNAL_DOACTION_RETURN
global HOOKID_SIGNAL_PROC_MASK_ENTRY
global HOOKID_SIGNAL_PROC_MASK_RETURN
global HOOKID_SIGNAL_FLUSH_ENTRY
global GROUP_SUNRPC
global HOOKID_SUNRPC_CLNT_CREATE_CLIENT_ENTRY
global HOOKID_SUNRPC_CLNT_CREATE_CLIENT_RETURN
global HOOKID_SUNRPC_CLNT_CLONE_CLIENT_ENTRY
global HOOKID_SUNRPC_CLNT_CLONE_CLIENT_RETURN
global HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_ENTRY
global HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_RETURN
global HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_ENTRY
global HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_RETURN
global HOOKID_SUNRPC_CLNT_CALL_SYNC_ENTRY
global HOOKID_SUNRPC_CLNT_CALL_SYNC_RETURN
global HOOKID_SUNRPC_CLNT_CALL_ASYNC_ENTRY
global HOOKID_SUNRPC_CLNT_CALL_ASYNC_RETURN
global HOOKID_SUNRPC_CLNT_RESTART_CALL_ENTRY
global HOOKID_SUNRPC_CLNT_RESTART_CALL_RETURN
global HOOKID_SUNRPC_SVC_REGISTER_ENTRY
global HOOKID_SUNRPC_SVC_REGISTER_RETURN
global HOOKID_SUNRPC_SVC_CREATE_ENTRY
global HOOKID_SUNRPC_SVC_CREATE_RETURN
global HOOKID_SUNRPC_SVC_DESTROY_ENTRY
global HOOKID_SUNRPC_SVC_DESTROY_RETURN
global HOOKID_SUNRPC_SVC_PROCESS_ENTRY
global HOOKID_SUNRPC_SVC_PROCESS_RETURN
global HOOKID_SUNRPC_SVC_AUTHORISE_ENTRY
global HOOKID_SUNRPC_SVC_AUTHORISE_RETURN
global HOOKID_SUNRPC_SVC_RECV_ENTRY
global HOOKID_SUNRPC_SVC_RECV_RETURN
global HOOKID_SUNRPC_SVC_SEND_ENTRY
global HOOKID_SUNRPC_SVC_SEND_RETURN
global HOOKID_SUNRPC_SVC_DROP_ENTRY
global HOOKID_SUNRPC_SVC_DROP_RETURN
global HOOKID_SUNRPC_SCHED_NEW_TASK_ENTRY
global HOOKID_SUNRPC_SCHED_NEW_TASK_RETURN
global HOOKID_SUNRPC_SCHED_EXECUTE_ENTRY
global HOOKID_SUNRPC_SCHED_EXECUTE_RETURN
global HOOKID_SUNRPC_SCHED_DELAY_ENTRY
global HOOKID_SUNRPC_SCHED_DELAY_RETURN
global HOOKID_SUNRPC_SCHED_RELEASE_TASK_ENTRY
global HOOKID_SUNRPC_SCHED_RELEASE_TASK_RETURN
global GROUP_CPUFREQ
global HOOKID_SWITCH_CPUFREQ
global GROUP_NFS
global HOOKID_NFS_FOP_LLSEEK_ENTRY
global HOOKID_NFS_FOP_LLSEEK_RETURN
global HOOKID_NFS_FOP_READ_ENTRY
global HOOKID_NFS_FOP_READ_RETURN
global HOOKID_NFS_FOP_WRITE_ENTRY
global HOOKID_NFS_FOP_WRITE_RETURN
global HOOKID_NFS_FOP_AIOREAD_ENTRY
global HOOKID_NFS_FOP_AIOREAD_RETURN
global HOOKID_NFS_FOP_AIOWRITE_ENTRY
global HOOKID_NFS_FOP_AIOWRITE_RETURN
global HOOKID_NFS_FOP_MMAP_ENTRY
global HOOKID_NFS_FOP_MMAP_RETURN
global HOOKID_NFS_FOP_OPEN_ENTRY
global HOOKID_NFS_FOP_OPEN_RETURN
global HOOKID_NFS_FOP_FLUSH_ENTRY
global HOOKID_NFS_FOP_FLUSH_RETURN
global HOOKID_NFS_FOP_RELEASE_ENTRY
global HOOKID_NFS_FOP_RELEASE_RETURN
global HOOKID_NFS_FOP_FSYNC_ENTRY
global HOOKID_NFS_FOP_FSYNC_RETURN
global HOOKID_NFS_FOP_LOCK_ENTRY
global HOOKID_NFS_FOP_LOCK_RETURN
global HOOKID_NFS_FOP_SENDFILE_ENTRY
global HOOKID_NFS_FOP_SENDFILE_RETURN
global HOOKID_NFS_FOP_CHECKFLAGS_ENTRY
global HOOKID_NFS_FOP_CHECKFLAGS_RETURN
global HOOKID_NFS_AOP_READPAGE_ENTRY
global HOOKID_NFS_AOP_READPAGE_RETURN
global HOOKID_NFS_AOP_READPAGES_ENTRY
global HOOKID_NFS_AOP_READPAGES_RETURN
global HOOKID_NFS_AOP_WRITEPAGES_ENTRY
global HOOKID_NFS_AOP_WRITEPAGES_RETURN
global HOOKID_NFS_AOP_WRITEPAGE_ENTRY
global HOOKID_NFS_AOP_WRITEPAGE_RETURN
global HOOKID_NFS_AOP_RELEASEPAGE_ENTRY
global HOOKID_NFS_AOP_RELEASEPAGE_RETURN
global HOOKID_NFS_AOP_SETPAGEDIRTY_ENTRY
global HOOKID_NFS_AOP_SETPAGEDIRTY_RETURN
global HOOKID_NFS_AOP_PREPAREWRITE_ENTRY
global HOOKID_NFS_AOP_PREPAREWRITE_RETURN
global HOOKID_NFS_AOP_COMMITWRITE_ENTRY
global HOOKID_NFS_AOP_COMMITWRITE_RETURN
global HOOKID_NFS_PROC_LOOKUP_ENTRY
global HOOKID_NFS_PROC_LOOKUP_RETURN
global HOOKID_NFS_PROC_READ_ENTRY
global HOOKID_NFS_PROC_READ_RETURN
global HOOKID_NFS_PROC_WRITE_ENTRY
global HOOKID_NFS_PROC_WRITE_RETURN
global HOOKID_NFS_PROC_COMMIT_ENTRY
global HOOKID_
global HOOKID_SIGNAL_SEND_RETURN

global HOOKID_SIGNAL_SYSKILL_ENTRY

global HOOKID_SIGNAL_SYSKILL_RETURN

global HOOKID_SIGNAL_SYSTGKILL_ENTRY

global HOOKID_SIGNAL_SYSTGKILL_RETURN

global HOOKID_SIGNAL_SYSTKILL_ENTRY

global HOOKID_SIGNAL_SYSTKILL_RETURN

global HOOKID_SIGNAL_PENDING_ENTRY

global HOOKID_SIGNAL_PENDING_RETURN

global HOOKID_SIGNAL_DOACTION_ENTRY

global HOOKID_SIGNAL_DOACTION_RETURN

global HOOKID_SIGNAL_PROC_MASK_ENTRY

global HOOKID_SIGNAL_PROC_MASK_RETURN

global HOOKID_SIGNAL_FLUSH_ENTRY

global GROUP_SUNRPC

global HOOKID_SUNRPC_CLNT_CREATE_CLIENT_ENTRY

global HOOKID_SUNRPC_CLNT_CREATE_CLIENT_RETURN

global HOOKID_SUNRPC_CLNT_CLONE_CLIENT_ENTRY

global HOOKID_SUNRPC_CLNT_CLONE_CLIENT_RETURN

global HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_ENTRY

global HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_RETURN

global HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_ENTRY

global HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_RETURN

global HOOKID_SUNRPC_CLNT_CALL_SYNC_ENTRY

global HOOKID_SUNRPC_CLNT_CALL_SYNC_RETURN

global HOOKID_SUNRPC_CLNT_CALL_ASYNC_ENTRY

global HOOKID_SUNRPC_CLNT_CALL_ASYNC_RETURN

global HOOKID_SUNRPC_CLNT_RESTART_CALL_ENTRY

global HOOKID_SUNRPC_CLNT_RESTART_CALL_RETURN

global HOOKID_SUNRPC_SVC_REGISTER_ENTRY

global HOOKID_SUNRPC_SVC_REGISTER_RETURN

global HOOKID_SUNRPC_SVC_CREATE_ENTRY

global HOOKID_SUNRPC_SVC_CREATE_RETURN

global HOOKID_SUNRPC_SVC_DESTROY_ENTRY

global HOOKID_SUNRPC_SVC_DESTROY_RETURN

global HOOKID_SUNRPC_SVC_PROCESS_ENTRY

global HOOKID_SUNRPC_SVC_PROCESS_RETURN

global HOOKID_SUNRPC_SVC_AUTHORISE_ENTRY

global HOOKID_SUNRPC_SVC_AUTHORISE_RETURN

global HOOKID_SUNRPC_SVC_RECV_ENTRY

global HOOKID_SUNRPC_SVC_RECV_RETURN

global HOOKID_SUNRPC_SVC_SEND_ENTRY

global HOOKID_SUNRPC_SVC_SEND_RETURN

global HOOKID_SUNRPC_SVC_DROP_ENTRY

global HOOKID_SUNRPC_SVC_DROP_RETURN

global HOOKID_SUNRPC_SCHED_NEW_TASK_ENTRY

global HOOKID_SUNRPC_SCHED_NEW_TASK_RETURN

global HOOKID_SUNRPC_SCHED_EXECUTE_ENTRY

global HOOKID_SUNRPC_SCHED_EXECUTE_RETURN

global HOOKID_SUNRPC_SCHED_DELAY_ENTRY

global HOOKID_SUNRPC_SCHED_DELAY_RETURN

global HOOKID_SUNRPC_SCHED_RELEASE_TASK_ENTRY

global HOOKID_SUNRPC_SCHED_RELEASE_TASK_RETURN

global GROUP_CPUFREQ

global HOOKID_SWITCH_CPUFREQ

global GROUP_NFS

global HOOKID_NFS_FOP_LLSEEK_ENTRY

global HOOKID_NFS_FOP_LLSEEK_RETURN

global HOOKID_NFS_FOP_READ_ENTRY

global HOOKID_NFS_FOP_READ_RETURN

global HOOKID_NFS_FOP_WRITE_ENTRY

global HOOKID_NFS_FOP_WRITE_RETURN

global HOOKID_NFS_FOP_AIOREAD_ENTRY

global HOOKID_NFS_FOP_AIOREAD_RETURN

global HOOKID_NFS_FOP_AIOWRITE_ENTRY

global HOOKID_NFS_FOP_AIOWRITE_RETURN

global HOOKID_NFS_FOP_MMAP_ENTRY

global HOOKID_NFS_FOP_MMAP_RETURN

global HOOKID_NFS_FOP_OPEN_ENTRY

global HOOKID_NFS_FOP_OPEN_RETURN

global HOOKID_NFS_FOP_FLUSH_ENTRY

global HOOKID_NFS_FOP_FLUSH_RETURN

global HOOKID_NFS_FOP_RELEASE_ENTRY

global HOOKID_NFS_FOP_RELEASE_RETURN

global HOOKID_NFS_FOP_FSYNC_ENTRY

global HOOKID_NFS_FOP_FSYNC_RETURN

global HOOKID_NFS_FOP_LOCK_ENTRY

global HOOKID_NFS_FOP_LOCK_RETURN

global HOOKID_NFS_FOP_SENDFILE_ENTRY

global HOOKID_NFS_FOP_SENDFILE_RETURN

global HOOKID_NFS_FOP_CHECKFLAGS_ENTRY

global HOOKID_NFS_FOP_CHECKFLAGS_RETURN

global HOOKID_NFS_AOP_READPAGE_ENTRY

global HOOKID_NFS_AOP_READPAGE_RETURN

global HOOKID_NFS_AOP_READPAGES_ENTRY

global HOOKID_NFS_AOP_READPAGES_RETURN

global HOOKID_NFS_AOP_WRITEPAGES_ENTRY

global HOOKID_NFS_AOP_WRITEPAGES_RETURN

global HOOKID_NFS_AOP_WRITEPAGE_ENTRY

global HOOKID_NFS_AOP_WRITEPAGE_RETURN

global HOOKID_NFS_AOP_RELEASEPAGE_ENTRY

global HOOKID_NFS_AOP_RELEASEPAGE_RETURN

global HOOKID_NFS_AOP_SETPAGEDIRTY_ENTRY

global HOOKID_NFS_AOP_SETPAGEDIRTY_RETURN

global HOOKID_NFS_AOP_PREPAREWRITE_ENTRY

global HOOKID_NFS_AOP_PREPAREWRITE_RETURN

global HOOKID_NFS_AOP_COMMITWRITE_ENTRY

global HOOKID_NFS_AOP_COMMITWRITE_RETURN

global HOOKID_NFS_PROC_LOOKUP_ENTRY

global HOOKID_NFS_PROC_LOOKUP_RETURN

global HOOKID_NFS_PROC_READ_ENTRY

global HOOKID_NFS_PROC_READ_RETURN

global HOOKID_NFS_PROC_WRITE_ENTRY

global HOOKID_NFS_PROC_WRITE_RETURN

global HOOKID_NFS_PROC_COMMIT_ENTRY
NFS_PROC_COMMIT_RETURN
global HOOKID_NFS_PROC_READSETUP_ENTRY
global HOOKID_NFS_PROC_WRITESETUP_ENTRY
global HOOKID_NFS_PROC_COMMITSETUP_ENTRY
global HOOKID_NFS_PROC_READDONE_ENTRY
global HOOKID_NFS_PROC_READDONE_RETURN
global HOOKID_NFS_PROC_WRITEDONE_ENTRY
global HOOKID_NFS_PROC_WRITEDONE_RETURN
global HOOKID_NFS_PROC_COMMITDONE_ENTRY
global HOOKID_NFS_PROC_COMMITDONE_RETURN
global HOOKID_NFS_PROC_OPEN_ENTRY
global HOOKID_NFS_PROC_OPEN_RETURN
global HOOKID_NFS_PROC_RELEASE_ENTRY
global HOOKID_NFS_PROC_RELEASE_RETURN
global HOOKID_NFS_PROC_CREATE_ENTRY
global HOOKID_NFS_PROC_CREATE_RETURN
global HOOKID_NFS_PROC_RENAME_ENTRY
global HOOKID_NFS_PROC_RENAME_RETURN
global HOOKID_NFS_PROC_REMOVE_ENTRY
global HOOKID_NFS_PROC_REMOVE_RETURN
global GROUP_NFSD
global HOOKID_NFSD_DISPATCH_ENTRY
global HOOKID_NFSD_DISPATCH_RETURN
global HOOKID_NFSD_OPEN_ENTRY
global HOOKID_NFSD_OPEN_RETURN
global HOOKID_NFSD_READ_ENTRY
global HOOKID_NFSD_READ_RETURN
global HOOKID_NFSD_WRITE_ENTRY
global HOOKID_NFSD_WRITE_RETURN
global HOOKID_NFSD_LOOKUP_ENTRY
global HOOKID_NFSD_LOOKUP_RETURN
global HOOKID_NFSD_COMMIT_ENTRY
global HOOKID_NFSD_COMMIT_RETURN
global HOOKID_NFSD_CREATE_ENTRY
global HOOKID_NFSD_CREATE_RETURN
global HOOKID_NFSD_CREATEV3_ENTRY
global HOOKID_NFSD_CREATEV3_RETURN
global HOOKID_NFSD_UNLINK_ENTRY
global HOOKID_NFSD_UNLINK_RETURN
global HOOKID_NFSD_RENAME_ENTRY
global HOOKID_NFSD_RENAME_RETURN
global HOOKID_NFSD_CLOSE_ENTRY
global HOOKID_NFSD_CLOSE_RETURN
global HOOKID_NFSD_PROC_LOOKUP_ENTRY
global HOOKID_NFSD_PROC_LOOKUP_RETURN
global HOOKID_NFSD_PROC_READ_ENTRY
global HOOKID_NFSD_PROC_READ_RETURN
global HOOKID_NFSD_PROC_WRITE_ENTRY
global HOOKID_NFSD_PROC_WRITE_RETURN
global HOOKID_NFSD_PROC_COMMIT_ENTRY
global HOOKID_NFSD_PROC_COMMIT_RETURN
global HOOKID_NFSD_PROC_COMPOUND_ENTRY
global HOOKID_NFSD_PROC_COMPOUND_RETURN
global HOOKID_NFSD_PROC_REMOVE_ENTRY
global HOOKID_NFSD_PROC_REMOVE_RETURN
global HOOKID_NFSD_PROC_RENAME_ENTRY
global HOOKID_NFSD_PROC_RENAME_RETURN
global HOOKID_NFSD_PROC_CREATE_ENTRY
global HOOKID_NFSD_PROC_CREATE_RETURN
probe begin{
hookid_init()
lket_trace_init()
lket_init_time()
register_sys_events()
write_events_desc()
process_snapshot()
}
probe end{
lket_kill_time()
}
function hookid_init ()
{
(GROUP_REGEVT) = (1)
;
(GROUP_SYSCALL) = (2)
;
(GROUP_PROCESS) = (3)
;
(GROUP_IOSCHED) = (4)
;
(GROUP_TASK) = (5)
;
(GROUP_SCSI) = (6)
;
(GROUP_PAGEFAULT) = (7)
;
(GROUP_NETDEV) = (8)
;
(GROUP_IOSYSCALL) = (9)
;
(GROUP_AIO) = (10)
;
(GROUP_SIGNAL) = (11)
;
(GROUP_SUNRPC) = (12)
;
(GROUP_CPUFREQ) = (15)
;
(GROUP_NFS) = (16)
;
(GROUP_NFSD) = (17)
;
(HOOKID_REGSYSEVT) = (1)
;
(HOOKID_REGUSREVT) = (3)
;
(HOOKID_REGEVTDESC) = (5)
;
(HOOKID_SYSCALL_ENTRY) = (1)
;
(HOOKID_SYSCALL_RETURN) = (2)
;
(HOOKID_PROCESS_SNAPSHOT) = (1)
;
(HOOKID_PROCESS_EXECVE) = (3)
;
(HOOKID_PROCESS_FORK) = (5)
;
(HOOKID_PROCESS_EXIT_ENTRY) = (7)
;
(HOOKID_IOSCHED_ADD_REQ) = (1)
;
(HOOKID_IOSCHED_NEXT_REQ_ENTRY) = (3)
;
(HOOKID_IOSCHED_NEXT_REQ_RETURN) = (4)
;
(HOOKID_IOSCHED_COMPLETE_REQ) = (5)
;
(HOOKID_TASK_CTXSWITCH) = (1)
;
(HOOKID_TASK_CPUIDLE) = (3)
;
(HOOKID_SCSI_IOENTRY) = (1)
;
(HOOKID_SCSI_IO_TO_LLD) = (3)
;
(HOOKID_SCSI_IODONE_BY_LLD) = (5)
;
(HOOKID_SCSI_IOCOMP_BY_MIDLEVEL) = (7)
;
(HOOKID_PAGEFAULT) = (1)
;
(HOOKID_NETDEV_RECEIVE) = (1)
;
(HOOKID_NETDEV_TRANSMIT) = (3)
;
(HOOKID_IOSYSCALL_OPEN_ENTRY) = (1)
;
(HOOKID_IOSYSCALL_OPEN_RETURN) = (2)
;
(HOOKID_IOSYSCALL_CLOSE_ENTRY) = (3)
;
(HOOKID_IOSYSCALL_CLOSE_RETURN) = (4)
;
(HOOKID_IOSYSCALL_READ_ENTRY) = (5)
;
(HOOKID_IOSYSCALL_READ_RETURN) = (6)
;
(HOOKID_IOSYSCALL_WRITE_ENTRY) = (7)
;
(HOOKID_IOSYSCALL_WRITE_RETURN) = (8)
;
(HOOKID_IOSYSCALL_READV_ENTRY) = (9)
;
(HOOKID_IOSYSCALL_READV_RETURN) = (10)
;
(HOOKID_IOSYSCALL_WRITEV_ENTRY) = (11)
;
(HOOKID_IOSYSCALL_WRITEV_RETURN) = (12)
;
(HOOKID_IOSYSCALL_PREAD64_ENTRY) = (13)
;
(HOOKID_IOSYSCALL_PREAD64_RETURN) = (14)
;
(HOOKID_IOSYSCALL_PWRITE64_ENTRY) = (15
global HOOKID_NFS_PROC_COMMIT_RETURN

global HOOKID_NFS_PROC_READSETUP_ENTRY

global HOOKID_NFS_PROC_WRITESETUP_ENTRY

global HOOKID_NFS_PROC_COMMITSETUP_ENTRY

global HOOKID_NFS_PROC_READDONE_ENTRY

global HOOKID_NFS_PROC_READDONE_RETURN

global HOOKID_NFS_PROC_WRITEDONE_ENTRY

global HOOKID_NFS_PROC_WRITEDONE_RETURN

global HOOKID_NFS_PROC_COMMITDONE_ENTRY

global HOOKID_NFS_PROC_COMMITDONE_RETURN

global HOOKID_NFS_PROC_OPEN_ENTRY

global HOOKID_NFS_PROC_OPEN_RETURN

global HOOKID_NFS_PROC_RELEASE_ENTRY

global HOOKID_NFS_PROC_RELEASE_RETURN

global HOOKID_NFS_PROC_CREATE_ENTRY

global HOOKID_NFS_PROC_CREATE_RETURN

global HOOKID_NFS_PROC_RENAME_ENTRY

global HOOKID_NFS_PROC_RENAME_RETURN

global HOOKID_NFS_PROC_REMOVE_ENTRY

global HOOKID_NFS_PROC_REMOVE_RETURN

global GROUP_NFSD

global HOOKID_NFSD_DISPATCH_ENTRY

global HOOKID_NFSD_DISPATCH_RETURN

global HOOKID_NFSD_OPEN_ENTRY

global HOOKID_NFSD_OPEN_RETURN

global HOOKID_NFSD_READ_ENTRY

global HOOKID_NFSD_READ_RETURN

global HOOKID_NFSD_WRITE_ENTRY

global HOOKID_NFSD_WRITE_RETURN

global HOOKID_NFSD_LOOKUP_ENTRY

global HOOKID_NFSD_LOOKUP_RETURN

global HOOKID_NFSD_COMMIT_ENTRY

global HOOKID_NFSD_COMMIT_RETURN

global HOOKID_NFSD_CREATE_ENTRY

global HOOKID_NFSD_CREATE_RETURN

global HOOKID_NFSD_CREATEV3_ENTRY

global HOOKID_NFSD_CREATEV3_RETURN

global HOOKID_NFSD_UNLINK_ENTRY

global HOOKID_NFSD_UNLINK_RETURN

global HOOKID_NFSD_RENAME_ENTRY

global HOOKID_NFSD_RENAME_RETURN

global HOOKID_NFSD_CLOSE_ENTRY

global HOOKID_NFSD_CLOSE_RETURN

global HOOKID_NFSD_PROC_LOOKUP_ENTRY

global HOOKID_NFSD_PROC_LOOKUP_RETURN

global HOOKID_NFSD_PROC_READ_ENTRY

global HOOKID_NFSD_PROC_READ_RETURN

global HOOKID_NFSD_PROC_WRITE_ENTRY

global HOOKID_NFSD_PROC_WRITE_RETURN

global HOOKID_NFSD_PROC_COMMIT_ENTRY

global HOOKID_NFSD_PROC_COMMIT_RETURN

global HOOKID_NFSD_PROC_COMPOUND_ENTRY

global HOOKID_NFSD_PROC_COMPOUND_RETURN

global HOOKID_NFSD_PROC_REMOVE_ENTRY

global HOOKID_NFSD_PROC_REMOVE_RETURN

global HOOKID_NFSD_PROC_RENAME_ENTRY

global HOOKID_NFSD_PROC_RENAME_RETURN

global HOOKID_NFSD_PROC_CREATE_ENTRY

global HOOKID_NFSD_PROC_CREATE_RETURN

probe begin{

hookid_init()

lket_trace_init()

lket_init_time()

register_sys_events()

write_events_desc()

process_snapshot()

}

probe end{

lket_kill_time()

}

function hookid_init ()

{

(GROUP_REGEVT) = (1)

;

(GROUP_SYSCALL) = (2)

;

(GROUP_PROCESS) = (3)

;

(GROUP_IOSCHED) = (4)

;

(GROUP_TASK) = (5)

;

(GROUP_SCSI) = (6)

;

(GROUP_PAGEFAULT) = (7)

;

(GROUP_NETDEV) = (8)

;

(GROUP_IOSYSCALL) = (9)

;

(GROUP_AIO) = (10)

;

(GROUP_SIGNAL) = (11)

;

(GROUP_SUNRPC) = (12)

;

(GROUP_CPUFREQ) = (15)

;

(GROUP_NFS) = (16)

;

(GROUP_NFSD) = (17)

;

(HOOKID_REGSYSEVT) = (1)

;

(HOOKID_REGUSREVT) = (3)

;

(HOOKID_REGEVTDESC) = (5)

;

(HOOKID_SYSCALL_ENTRY) = (1)

;

(HOOKID_SYSCALL_RETURN) = (2)

;

(HOOKID_PROCESS_SNAPSHOT) = (1)

;

(HOOKID_PROCESS_EXECVE) = (3)

;

(HOOKID_PROCESS_FORK) = (5)

;

(HOOKID_PROCESS_EXIT_ENTRY) = (7)

;

(HOOKID_IOSCHED_ADD_REQ) = (1)

;

(HOOKID_IOSCHED_NEXT_REQ_ENTRY) = (3)

;

(HOOKID_IOSCHED_NEXT_REQ_RETURN) = (4)

;

(HOOKID_IOSCHED_COMPLETE_REQ) = (5)

;

(HOOKID_TASK_CTXSWITCH) = (1)

;

(HOOKID_TASK_CPUIDLE) = (3)

;

(HOOKID_SCSI_IOENTRY) = (1)

;

(HOOKID_SCSI_IO_TO_LLD) = (3)

;

(HOOKID_SCSI_IODONE_BY_LLD) = (5)

;

(HOOKID_SCSI_IOCOMP_BY_MIDLEVEL) = (7)

;

(HOOKID_PAGEFAULT) = (1)

;

(HOOKID_NETDEV_RECEIVE) = (1)

;

(HOOKID_NETDEV_TRANSMIT) = (3)

;

(HOOKID_IOSYSCALL_OPEN_ENTRY) = (1)

;

(HOOKID_IOSYSCALL_OPEN_RETURN) = (2)

;

(HOOKID_IOSYSCALL_CLOSE_ENTRY) = (3)

;

(HOOKID_IOSYSCALL_CLOSE_RETURN) = (4)

;

(HOOKID_IOSYSCALL_READ_ENTRY) = (5)

;

(HOOKID_IOSYSCALL_READ_RETURN) = (6)

;

(HOOKID_IOSYSCALL_WRITE_ENTRY) = (7)

;

(HOOKID_IOSYSCALL_WRITE_RETURN) = (8)

;

(HOOKID_IOSYSCALL_READV_ENTRY) = (9)

;

(HOOKID_IOSYSCALL_READV_RETURN) = (10)

;

(HOOKID_IOSYSCALL_WRITEV_ENTRY) = (11)

;

(HOOKID_IOSYSCALL_WRITEV_RETURN) = (12)

;

(HOOKID_IOSYSCALL_PREAD64_ENTRY) = (13)

;

(HOOKID_IOSYSCALL_PREAD64_RETURN) = (14)

;
)
;
(HOOKID_IOSYSCALL_PWRITE64_RETURN) = (16)
;
(HOOKID_IOSYSCALL_READAHEAD_ENTRY) = (17)
;
(HOOKID_IOSYSCALL_READAHEAD_RETURN) = (18)
;
(HOOKID_IOSYSCALL_SENDFILE_ENTRY) = (19)
;
(HOOKID_IOSYSCALL_SENDFILE_RETURN) = (20)
;
(HOOKID_IOSYSCALL_LSEEK_ENTRY) = (21)
;
(HOOKID_IOSYSCALL_LSEEK_RETURN) = (22)
;
(HOOKID_IOSYSCALL_LLSEEK_ENTRY) = (23)
;
(HOOKID_IOSYSCALL_LLSEEK_RETURN) = (24)
;
(HOOKID_IOSYSCALL_SYNC_ENTRY) = (25)
;
(HOOKID_IOSYSCALL_SYNC_RETURN) = (26)
;
(HOOKID_IOSYSCALL_FSYNC_ENTRY) = (27)
;
(HOOKID_IOSYSCALL_FSYNC_RETURN) = (28)
;
(HOOKID_IOSYSCALL_FDATASYNC_ENTRY) = (29)
;
(HOOKID_IOSYSCALL_FDATASYNC_RETURN) = (30)
;
(HOOKID_IOSYSCALL_FLOCK_ENTRY) = (31)
;
(HOOKID_IOSYSCALL_FLOCK_RETURN) = (32)
;
(HOOKID_AIO_IO_SETUP_ENTRY) = (1)
;
(HOOKID_AIO_IO_SETUP_RETURN) = (2)
;
(HOOKID_AIO_IO_SUBMIT_ENTRY) = (3)
;
(HOOKID_AIO_IO_SUBMIT_RETURN) = (4)
;
(HOOKID_AIO_IO_SUBMIT_ONE_ENTRY) = (5)
;
(HOOKID_AIO_IO_SUBMIT_ONE_RETURN) = (6)
;
(HOOKID_AIO_IO_GETEVENTS_ENTRY) = (7)
;
(HOOKID_AIO_IO_GETEVENTS_RETURN) = (8)
;
(HOOKID_AIO_IO_DESTROY_ENTRY) = (9)
;
(HOOKID_AIO_IO_DESTROY_RETURN) = (10)
;
(HOOKID_AIO_IO_CANCEL_ENTRY) = (11)
;
(HOOKID_AIO_IO_CANCEL_RETURN) = (12)
;
(HOOKID_SIGNAL_SEND_ENTRY) = (1)
;
(HOOKID_SIGNAL_SEND_RETURN) = (2)
;
(HOOKID_SIGNAL_SYSKILL_ENTRY) = (3)
;
(HOOKID_SIGNAL_SYSKILL_RETURN) = (4)
;
(HOOKID_SIGNAL_SYSTGKILL_ENTRY) = (5)
;
(HOOKID_SIGNAL_SYSTGKILL_RETURN) = (6)
;
(HOOKID_SIGNAL_SYSTKILL_ENTRY) = (7)
;
(HOOKID_SIGNAL_SYSTKILL_RETURN) = (8)
;
(HOOKID_SIGNAL_PENDING_ENTRY) = (9)
;
(HOOKID_SIGNAL_PENDING_RETURN) = (10)
;
(HOOKID_SIGNAL_DOACTION_ENTRY) = (11)
;
(HOOKID_SIGNAL_DOACTION_RETURN) = (12)
;
(HOOKID_SIGNAL_PROC_MASK_ENTRY) = (13)
;
(HOOKID_SIGNAL_PROC_MASK_RETURN) = (14)
;
(HOOKID_SIGNAL_FLUSH_ENTRY) = (15)
;
(HOOKID_SUNRPC_CLNT_CREATE_CLIENT_ENTRY) = (1)
;
(HOOKID_SUNRPC_CLNT_CREATE_CLIENT_RETURN) = (2)
;
(HOOKID_SUNRPC_CLNT_CLONE_CLIENT_ENTRY) = (3)
;
(HOOKID_SUNRPC_CLNT_CLONE_CLIENT_RETURN) = (4)
;
(HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_ENTRY) = (5)
;
(HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_RETURN) = (6)
;
(HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_ENTRY) = (7)
;
(HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_RETURN) = (8)
;
(HOOKID_SUNRPC_CLNT_CALL_SYNC_ENTRY) = (9)
;
(HOOKID_SUNRPC_CLNT_CALL_SYNC_RETURN) = (10)
;
(HOOKID_SUNRPC_CLNT_CALL_ASYNC_ENTRY) = (11)
;
(HOOKID_SUNRPC_CLNT_CALL_ASYNC_RETURN) = (12)
;
(HOOKID_SUNRPC_CLNT_RESTART_CALL_ENTRY) = (13)
;
(HOOKID_SUNRPC_CLNT_RESTART_CALL_RETURN) = (14)
;
(HOOKID_SUNRPC_SVC_REGISTER_ENTRY) = (33)
;
(HOOKID_SUNRPC_SVC_REGISTER_RETURN) = (34)
;
(HOOKID_SUNRPC_SVC_CREATE_ENTRY) = (35)
;
(HOOKID_SUNRPC_SVC_CREATE_RETURN) = (36)
;
(HOOKID_SUNRPC_SVC_DESTROY_ENTRY) = (37)
;
(HOOKID_SUNRPC_SVC_DESTROY_RETURN) = (38)
;
(HOOKID_SUNRPC_SVC_PROCESS_ENTRY) = (39)
;
(HOOKID_SUNRPC_SVC_PROCESS_RETURN) = (40)
;
(HOOKID_SUNRPC_SVC_AUTHORISE_ENTRY) = (41)
;
(HOOKID_SUNRPC_SVC_AUTHORISE_RETURN) = (42)
;
(HOOKID_SUNRPC_SVC_RECV_ENTRY) = (43)
;
(HOOKID_SUNRPC_SVC_RECV_RETURN) = (44)
;
(HOOKID_SUNRPC_SVC_SEND_ENTRY) = (45)
;
(HOOKID_SUNRPC_SVC_SEND_RETURN) = (46)
;
(HOOKID_SUNRPC_SVC_DROP_ENTRY) = (47)
;
(HOOKID_SUNRPC_SVC_DROP_RETURN) = (48)
;
(HOOKID_SUNRPC_SCHED_NEW_TASK_ENTRY) = (65)
;
(HOOKID_SUNRPC_SCHED_NEW_TASK_RETURN) = (66)
;
(HOOKID_SUNRPC_SCHED_EXECUTE_ENTRY) = (67)
;
(HOOKID_SUNRPC_SCHED_EXECUTE_RETURN) = (68)
;
(HOOKID_SUNRPC_SCHED_DELAY_ENTRY) = (69)
;
(HOOKID_SUNRPC_SCHED_DELAY_RETURN) = (70)
;
(HOOKID_SUNRPC_SCHED_RELEASE_TASK_ENTRY) = (71)
;
(HOOKID_SUNRPC_SCHED_RELEASE_TASK_RETURN) = (72)
;
(HOOKID_SWITCH_CPUFREQ) = (1)
;
(HOOKID_NFS_FOP_LLSEEK_ENTRY) = (1)
;
(HOOKID_NFS_FOP_LLSEEK_RETURN) = (2)
;
(HOOKID_NFS_FOP_READ_ENTRY) = (3)
;
(HOOKID_NFS_FOP_READ_RETURN) = (4)
;
(HOOKID_NFS_FOP_WRITE_ENTRY) = (5)
;
(HOOKID_NFS_FOP_WRITE_RETURN) = (6)
;
(HOOKID_NFS_FOP_AIOREAD_ENTRY) = (7)
;
(HOOKID_NFS_FOP_AIOREAD_RETURN) = (8)
;
(HOOKID_NFS_FOP_AIOWRITE_ENTRY) = (9)
;
(HOOKID_NFS_FOP_A
(HOOKID_IOSYSCALL_PWRITE64_ENTRY) = (15)

;

(HOOKID_IOSYSCALL_PWRITE64_RETURN) = (16)

;

(HOOKID_IOSYSCALL_READAHEAD_ENTRY) = (17)

;

(HOOKID_IOSYSCALL_READAHEAD_RETURN) = (18)

;

(HOOKID_IOSYSCALL_SENDFILE_ENTRY) = (19)

;

(HOOKID_IOSYSCALL_SENDFILE_RETURN) = (20)

;

(HOOKID_IOSYSCALL_LSEEK_ENTRY) = (21)

;

(HOOKID_IOSYSCALL_LSEEK_RETURN) = (22)

;

(HOOKID_IOSYSCALL_LLSEEK_ENTRY) = (23)

;

(HOOKID_IOSYSCALL_LLSEEK_RETURN) = (24)

;

(HOOKID_IOSYSCALL_SYNC_ENTRY) = (25)

;

(HOOKID_IOSYSCALL_SYNC_RETURN) = (26)

;

(HOOKID_IOSYSCALL_FSYNC_ENTRY) = (27)

;

(HOOKID_IOSYSCALL_FSYNC_RETURN) = (28)

;

(HOOKID_IOSYSCALL_FDATASYNC_ENTRY) = (29)

;

(HOOKID_IOSYSCALL_FDATASYNC_RETURN) = (30)

;

(HOOKID_IOSYSCALL_FLOCK_ENTRY) = (31)

;

(HOOKID_IOSYSCALL_FLOCK_RETURN) = (32)

;

(HOOKID_AIO_IO_SETUP_ENTRY) = (1)

;

(HOOKID_AIO_IO_SETUP_RETURN) = (2)

;

(HOOKID_AIO_IO_SUBMIT_ENTRY) = (3)

;

(HOOKID_AIO_IO_SUBMIT_RETURN) = (4)

;

(HOOKID_AIO_IO_SUBMIT_ONE_ENTRY) = (5)

;

(HOOKID_AIO_IO_SUBMIT_ONE_RETURN) = (6)

;

(HOOKID_AIO_IO_GETEVENTS_ENTRY) = (7)

;

(HOOKID_AIO_IO_GETEVENTS_RETURN) = (8)

;

(HOOKID_AIO_IO_DESTROY_ENTRY) = (9)

;

(HOOKID_AIO_IO_DESTROY_RETURN) = (10)

;

(HOOKID_AIO_IO_CANCEL_ENTRY) = (11)

;

(HOOKID_AIO_IO_CANCEL_RETURN) = (12)

;

(HOOKID_SIGNAL_SEND_ENTRY) = (1)

;

(HOOKID_SIGNAL_SEND_RETURN) = (2)

;

(HOOKID_SIGNAL_SYSKILL_ENTRY) = (3)

;

(HOOKID_SIGNAL_SYSKILL_RETURN) = (4)

;

(HOOKID_SIGNAL_SYSTGKILL_ENTRY) = (5)

;

(HOOKID_SIGNAL_SYSTGKILL_RETURN) = (6)

;

(HOOKID_SIGNAL_SYSTKILL_ENTRY) = (7)

;

(HOOKID_SIGNAL_SYSTKILL_RETURN) = (8)

;

(HOOKID_SIGNAL_PENDING_ENTRY) = (9)

;

(HOOKID_SIGNAL_PENDING_RETURN) = (10)

;

(HOOKID_SIGNAL_DOACTION_ENTRY) = (11)

;

(HOOKID_SIGNAL_DOACTION_RETURN) = (12)

;

(HOOKID_SIGNAL_PROC_MASK_ENTRY) = (13)

;

(HOOKID_SIGNAL_PROC_MASK_RETURN) = (14)

;

(HOOKID_SIGNAL_FLUSH_ENTRY) = (15)

;

(HOOKID_SUNRPC_CLNT_CREATE_CLIENT_ENTRY) = (1)

;

(HOOKID_SUNRPC_CLNT_CREATE_CLIENT_RETURN) = (2)

;

(HOOKID_SUNRPC_CLNT_CLONE_CLIENT_ENTRY) = (3)

;

(HOOKID_SUNRPC_CLNT_CLONE_CLIENT_RETURN) = (4)

;

(HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_ENTRY) = (5)

;

(HOOKID_SUNRPC_CLNT_SHUTDOWN_CLIENT_RETURN) = (6)

;

(HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_ENTRY) = (7)

;

(HOOKID_SUNRPC_CLNT_BIND_NEW_PROGRAM_RETURN) = (8)

;

(HOOKID_SUNRPC_CLNT_CALL_SYNC_ENTRY) = (9)

;

(HOOKID_SUNRPC_CLNT_CALL_SYNC_RETURN) = (10)

;

(HOOKID_SUNRPC_CLNT_CALL_ASYNC_ENTRY) = (11)

;

(HOOKID_SUNRPC_CLNT_CALL_ASYNC_RETURN) = (12)

;

(HOOKID_SUNRPC_CLNT_RESTART_CALL_ENTRY) = (13)

;

(HOOKID_SUNRPC_CLNT_RESTART_CALL_RETURN) = (14)

;

(HOOKID_SUNRPC_SVC_REGISTER_ENTRY) = (33)

;

(HOOKID_SUNRPC_SVC_REGISTER_RETURN) = (34)

;

(HOOKID_SUNRPC_SVC_CREATE_ENTRY) = (35)

;

(HOOKID_SUNRPC_SVC_CREATE_RETURN) = (36)

;

(HOOKID_SUNRPC_SVC_DESTROY_ENTRY) = (37)

;

(HOOKID_SUNRPC_SVC_DESTROY_RETURN) = (38)

;

(HOOKID_SUNRPC_SVC_PROCESS_ENTRY) = (39)

;

(HOOKID_SUNRPC_SVC_PROCESS_RETURN) = (40)

;

(HOOKID_SUNRPC_SVC_AUTHORISE_ENTRY) = (41)

;

(HOOKID_SUNRPC_SVC_AUTHORISE_RETURN) = (42)

;

(HOOKID_SUNRPC_SVC_RECV_ENTRY) = (43)

;

(HOOKID_SUNRPC_SVC_RECV_RETURN) = (44)

;

(HOOKID_SUNRPC_SVC_SEND_ENTRY) = (45)

;

(HOOKID_SUNRPC_SVC_SEND_RETURN) = (46)

;

(HOOKID_SUNRPC_SVC_DROP_ENTRY) = (47)

;

(HOOKID_SUNRPC_SVC_DROP_RETURN) = (48)

;

(HOOKID_SUNRPC_SCHED_NEW_TASK_ENTRY) = (65)

;

(HOOKID_SUNRPC_SCHED_NEW_TASK_RETURN) = (66)

;

(HOOKID_SUNRPC_SCHED_EXECUTE_ENTRY) = (67)

;

(HOOKID_SUNRPC_SCHED_EXECUTE_RETURN) = (68)

;

(HOOKID_SUNRPC_SCHED_DELAY_ENTRY) = (69)

;

(HOOKID_SUNRPC_SCHED_DELAY_RETURN) = (70)

;

(HOOKID_SUNRPC_SCHED_RELEASE_TASK_ENTRY) = (71)

;

(HOOKID_SUNRPC_SCHED_RELEASE_TASK_RETURN) = (72)

;

(HOOKID_SWITCH_CPUFREQ) = (1)

;

(HOOKID_NFS_FOP_LLSEEK_ENTRY) = (1)

;

(HOOKID_NFS_FOP_LLSEEK_RETURN) = (2)

;

(HOOKID_NFS_FOP_READ_ENTRY) = (3)

;

(HOOKID_NFS_FOP_READ_RETURN) = (4)

;

(HOOKID_NFS_FOP_WRITE_ENTRY) = (5)

;

(HOOKID_NFS_FOP_WRITE_RETURN) = (6)

;

(HOOKID_NFS_FOP_AIOREAD_ENTRY) = (7)

;

(HOOKID_NFS_FOP_AIOREAD_RETURN) = (8)

;

(HOOKID_NFS_FOP_AIOWRITE_ENTRY) = (9)

;
IOWRITE_RETURN) = (10)
;
(HOOKID_NFS_FOP_MMAP_ENTRY) = (11)
;
(HOOKID_NFS_FOP_MMAP_RETURN) = (12)
;
(HOOKID_NFS_FOP_OPEN_ENTRY) = (13)
;
(HOOKID_NFS_FOP_OPEN_RETURN) = (14)
;
(HOOKID_NFS_FOP_FLUSH_ENTRY) = (15)
;
(HOOKID_NFS_FOP_FLUSH_RETURN) = (16)
;
(HOOKID_NFS_FOP_RELEASE_ENTRY) = (17)
;
(HOOKID_NFS_FOP_RELEASE_RETURN) = (18)
;
(HOOKID_NFS_FOP_FSYNC_ENTRY) = (19)
;
(HOOKID_NFS_FOP_FSYNC_RETURN) = (20)
;
(HOOKID_NFS_FOP_LOCK_ENTRY) = (21)
;
(HOOKID_NFS_FOP_LOCK_RETURN) = (22)
;
(HOOKID_NFS_FOP_SENDFILE_ENTRY) = (23)
;
(HOOKID_NFS_FOP_SENDFILE_RETURN) = (24)
;
(HOOKID_NFS_FOP_CHECKFLAGS_ENTRY) = (25)
;
(HOOKID_NFS_FOP_CHECKFLAGS_RETURN) = (26)
;
(HOOKID_NFS_AOP_READPAGE_ENTRY) = (27)
;
(HOOKID_NFS_AOP_READPAGE_RETURN) = (28)
;
(HOOKID_NFS_AOP_READPAGES_ENTRY) = (29)
;
(HOOKID_NFS_AOP_READPAGES_RETURN) = (30)
;
(HOOKID_NFS_AOP_WRITEPAGE_ENTRY) = (31)
;
(HOOKID_NFS_AOP_WRITEPAGE_RETURN) = (32)
;
(HOOKID_NFS_AOP_WRITEPAGES_ENTRY) = (33)
;
(HOOKID_NFS_AOP_WRITEPAGES_RETURN) = (34)
;
(HOOKID_NFS_AOP_RELEASEPAGE_ENTRY) = (35)
;
(HOOKID_NFS_AOP_RELEASEPAGE_RETURN) = (36)
;
(HOOKID_NFS_AOP_SETPAGEDIRTY_ENTRY) = (37)
;
(HOOKID_NFS_AOP_SETPAGEDIRTY_RETURN) = (38)
;
(HOOKID_NFS_AOP_PREPAREWRITE_ENTRY) = (39)
;
(HOOKID_NFS_AOP_PREPAREWRITE_RETURN) = (40)
;
(HOOKID_NFS_AOP_COMMITWRITE_ENTRY) = (41)
;
(HOOKID_NFS_AOP_COMMITWRITE_RETURN) = (42)
;
(HOOKID_NFS_PROC_LOOKUP_ENTRY) = (43)
;
(HOOKID_NFS_PROC_LOOKUP_RETURN) = (44)
;
(HOOKID_NFS_PROC_READ_ENTRY) = (45)
;
(HOOKID_NFS_PROC_READ_RETURN) = (46)
;
(HOOKID_NFS_PROC_WRITE_ENTRY) = (47)
;
(HOOKID_NFS_PROC_WRITE_RETURN) = (48)
;
(HOOKID_NFS_PROC_COMMIT_ENTRY) = (49)
;
(HOOKID_NFS_PROC_COMMIT_RETURN) = (50)
;
(HOOKID_NFS_PROC_READSETUP_ENTRY) = (51)
;
(HOOKID_NFS_PROC_WRITESETUP_ENTRY) = (53)
;
(HOOKID_NFS_PROC_COMMITSETUP_ENTRY) = (55)
;
(HOOKID_NFS_PROC_READDONE_ENTRY) = (57)
;
(HOOKID_NFS_PROC_READDONE_RETURN) = (58)
;
(HOOKID_NFS_PROC_WRITEDONE_ENTRY) = (59)
;
(HOOKID_NFS_PROC_WRITEDONE_RETURN) = (60)
;
(HOOKID_NFS_PROC_COMMITDONE_ENTRY) = (61)
;
(HOOKID_NFS_PROC_COMMITDONE_RETURN) = (62)
;
(HOOKID_NFS_PROC_OPEN_ENTRY) = (63)
;
(HOOKID_NFS_PROC_OPEN_RETURN) = (64)
;
(HOOKID_NFS_PROC_RELEASE_ENTRY) = (65)
;
(HOOKID_NFS_PROC_RELEASE_RETURN) = (66)
;
(HOOKID_NFS_PROC_CREATE_ENTRY) = (67)
;
(HOOKID_NFS_PROC_CREATE_RETURN) = (68)
;
(HOOKID_NFS_PROC_RENAME_ENTRY) = (69)
;
(HOOKID_NFS_PROC_RENAME_RETURN) = (70)
;
(HOOKID_NFS_PROC_REMOVE_ENTRY) = (71)
;
(HOOKID_NFS_PROC_REMOVE_RETURN) = (72)
;
(HOOKID_NFSD_DISPATCH_ENTRY) = (1)
;
(HOOKID_NFSD_DISPATCH_RETURN) = (2)
;
(HOOKID_NFSD_OPEN_ENTRY) = (3)
;
(HOOKID_NFSD_OPEN_RETURN) = (4)
;
(HOOKID_NFSD_READ_ENTRY) = (5)
;
(HOOKID_NFSD_READ_RETURN) = (6)
;
(HOOKID_NFSD_WRITE_ENTRY) = (7)
;
(HOOKID_NFSD_WRITE_RETURN) = (8)
;
(HOOKID_NFSD_LOOKUP_ENTRY) = (9)
;
(HOOKID_NFSD_LOOKUP_RETURN) = (10)
;
(HOOKID_NFSD_COMMIT_ENTRY) = (11)
;
(HOOKID_NFSD_COMMIT_RETURN) = (12)
;
(HOOKID_NFSD_CREATE_ENTRY) = (13)
;
(HOOKID_NFSD_CREATE_RETURN) = (14)
;
(HOOKID_NFSD_CREATEV3_ENTRY) = (15)
;
(HOOKID_NFSD_CREATEV3_RETURN) = (16)
;
(HOOKID_NFSD_UNLINK_ENTRY) = (17)
;
(HOOKID_NFSD_UNLINK_RETURN) = (18)
;
(HOOKID_NFSD_RENAME_ENTRY) = (19)
;
(HOOKID_NFSD_RENAME_RETURN) = (20)
;
(HOOKID_NFSD_CLOSE_ENTRY) = (21)
;
(HOOKID_NFSD_CLOSE_RETURN) = (22)
;
(HOOKID_NFSD_PROC_LOOKUP_ENTRY) = (23)
;
(HOOKID_NFSD_PROC_LOOKUP_RETURN) = (24)
;
(HOOKID_NFSD_PROC_READ_ENTRY) = (25)
;
(HOOKID_NFSD_PROC_READ_RETURN) = (26)
;
(HOOKID_NFSD_PROC_WRITE_ENTRY) = (27)
;
(HOOKID_NFSD_PROC_WRITE_RETURN) = (28)
;
(HOOKID_NFSD_PROC_COMMIT_ENTRY) = (29)
;
(HOOKID_NFSD_PROC_COMMIT_RETURN) = (30)
;
(HOOKID_NFSD_PROC_COMPOUND_ENTRY) = (31)
;
(HOOKID_NFSD_PROC_COMPOUND_RETURN) = (32)
;
(HOOKID_NFSD_PROC_REMOVE_ENTRY) = (33)
;
(HOOKID_NFSD_PROC_REMOVE_RETURN) = (34)
;
(HOOKID_NFSD_PROC_RENAME_ENTRY) = (35)
;
(HOOKID_NFSD_PROC_RENAME_RETURN) = (36)
;
(HOOKID_NFSD_PROC_CREATE_ENTRY) = (37)
;
(HOOKID_NFSD_PROC_CREA
(HOOKID_NFS_FOP_AIOWRITE_RETURN) = (10)

;

(HOOKID_NFS_FOP_MMAP_ENTRY) = (11)

;

(HOOKID_NFS_FOP_MMAP_RETURN) = (12)

;

(HOOKID_NFS_FOP_OPEN_ENTRY) = (13)

;

(HOOKID_NFS_FOP_OPEN_RETURN) = (14)

;

(HOOKID_NFS_FOP_FLUSH_ENTRY) = (15)

;

(HOOKID_NFS_FOP_FLUSH_RETURN) = (16)

;

(HOOKID_NFS_FOP_RELEASE_ENTRY) = (17)

;

(HOOKID_NFS_FOP_RELEASE_RETURN) = (18)

;

(HOOKID_NFS_FOP_FSYNC_ENTRY) = (19)

;

(HOOKID_NFS_FOP_FSYNC_RETURN) = (20)

;

(HOOKID_NFS_FOP_LOCK_ENTRY) = (21)

;

(HOOKID_NFS_FOP_LOCK_RETURN) = (22)

;

(HOOKID_NFS_FOP_SENDFILE_ENTRY) = (23)

;

(HOOKID_NFS_FOP_SENDFILE_RETURN) = (24)

;

(HOOKID_NFS_FOP_CHECKFLAGS_ENTRY) = (25)

;

(HOOKID_NFS_FOP_CHECKFLAGS_RETURN) = (26)

;

(HOOKID_NFS_AOP_READPAGE_ENTRY) = (27)

;

(HOOKID_NFS_AOP_READPAGE_RETURN) = (28)

;

(HOOKID_NFS_AOP_READPAGES_ENTRY) = (29)

;

(HOOKID_NFS_AOP_READPAGES_RETURN) = (30)

;

(HOOKID_NFS_AOP_WRITEPAGE_ENTRY) = (31)

;

(HOOKID_NFS_AOP_WRITEPAGE_RETURN) = (32)

;

(HOOKID_NFS_AOP_WRITEPAGES_ENTRY) = (33)

;

(HOOKID_NFS_AOP_WRITEPAGES_RETURN) = (34)

;

(HOOKID_NFS_AOP_RELEASEPAGE_ENTRY) = (35)

;

(HOOKID_NFS_AOP_RELEASEPAGE_RETURN) = (36)

;

(HOOKID_NFS_AOP_SETPAGEDIRTY_ENTRY) = (37)

;

(HOOKID_NFS_AOP_SETPAGEDIRTY_RETURN) = (38)

;

(HOOKID_NFS_AOP_PREPAREWRITE_ENTRY) = (39)

;

(HOOKID_NFS_AOP_PREPAREWRITE_RETURN) = (40)

;

(HOOKID_NFS_AOP_COMMITWRITE_ENTRY) = (41)

;

(HOOKID_NFS_AOP_COMMITWRITE_RETURN) = (42)

;

(HOOKID_NFS_PROC_LOOKUP_ENTRY) = (43)

;

(HOOKID_NFS_PROC_LOOKUP_RETURN) = (44)

;

(HOOKID_NFS_PROC_READ_ENTRY) = (45)

;

(HOOKID_NFS_PROC_READ_RETURN) = (46)

;

(HOOKID_NFS_PROC_WRITE_ENTRY) = (47)

;

(HOOKID_NFS_PROC_WRITE_RETURN) = (48)

;

(HOOKID_NFS_PROC_COMMIT_ENTRY) = (49)

;

(HOOKID_NFS_PROC_COMMIT_RETURN) = (50)

;

(HOOKID_NFS_PROC_READSETUP_ENTRY) = (51)

;

(HOOKID_NFS_PROC_WRITESETUP_ENTRY) = (53)

;

(HOOKID_NFS_PROC_COMMITSETUP_ENTRY) = (55)

;

(HOOKID_NFS_PROC_READDONE_ENTRY) = (57)

;

(HOOKID_NFS_PROC_READDONE_RETURN) = (58)

;

(HOOKID_NFS_PROC_WRITEDONE_ENTRY) = (59)

;

(HOOKID_NFS_PROC_WRITEDONE_RETURN) = (60)

;

(HOOKID_NFS_PROC_COMMITDONE_ENTRY) = (61)

;

(HOOKID_NFS_PROC_COMMITDONE_RETURN) = (62)

;

(HOOKID_NFS_PROC_OPEN_ENTRY) = (63)

;

(HOOKID_NFS_PROC_OPEN_RETURN) = (64)

;

(HOOKID_NFS_PROC_RELEASE_ENTRY) = (65)

;

(HOOKID_NFS_PROC_RELEASE_RETURN) = (66)

;

(HOOKID_NFS_PROC_CREATE_ENTRY) = (67)

;

(HOOKID_NFS_PROC_CREATE_RETURN) = (68)

;

(HOOKID_NFS_PROC_RENAME_ENTRY) = (69)

;

(HOOKID_NFS_PROC_RENAME_RETURN) = (70)

;

(HOOKID_NFS_PROC_REMOVE_ENTRY) = (71)

;

(HOOKID_NFS_PROC_REMOVE_RETURN) = (72)

;

(HOOKID_NFSD_DISPATCH_ENTRY) = (1)

;

(HOOKID_NFSD_DISPATCH_RETURN) = (2)

;

(HOOKID_NFSD_OPEN_ENTRY) = (3)

;

(HOOKID_NFSD_OPEN_RETURN) = (4)

;

(HOOKID_NFSD_READ_ENTRY) = (5)

;

(HOOKID_NFSD_READ_RETURN) = (6)

;

(HOOKID_NFSD_WRITE_ENTRY) = (7)

;

(HOOKID_NFSD_WRITE_RETURN) = (8)

;

(HOOKID_NFSD_LOOKUP_ENTRY) = (9)

;

(HOOKID_NFSD_LOOKUP_RETURN) = (10)

;

(HOOKID_NFSD_COMMIT_ENTRY) = (11)

;

(HOOKID_NFSD_COMMIT_RETURN) = (12)

;

(HOOKID_NFSD_CREATE_ENTRY) = (13)

;

(HOOKID_NFSD_CREATE_RETURN) = (14)

;

(HOOKID_NFSD_CREATEV3_ENTRY) = (15)

;

(HOOKID_NFSD_CREATEV3_RETURN) = (16)

;

(HOOKID_NFSD_UNLINK_ENTRY) = (17)

;

(HOOKID_NFSD_UNLINK_RETURN) = (18)

;

(HOOKID_NFSD_RENAME_ENTRY) = (19)

;

(HOOKID_NFSD_RENAME_RETURN) = (20)

;

(HOOKID_NFSD_CLOSE_ENTRY) = (21)

;

(HOOKID_NFSD_CLOSE_RETURN) = (22)

;

(HOOKID_NFSD_PROC_LOOKUP_ENTRY) = (23)

;

(HOOKID_NFSD_PROC_LOOKUP_RETURN) = (24)

;

(HOOKID_NFSD_PROC_READ_ENTRY) = (25)

;

(HOOKID_NFSD_PROC_READ_RETURN) = (26)

;

(HOOKID_NFSD_PROC_WRITE_ENTRY) = (27)

;

(HOOKID_NFSD_PROC_WRITE_RETURN) = (28)

;

(HOOKID_NFSD_PROC_COMMIT_ENTRY) = (29)

;

(HOOKID_NFSD_PROC_COMMIT_RETURN) = (30)

;

(HOOKID_NFSD_PROC_COMPOUND_ENTRY) = (31)

;

(HOOKID_NFSD_PROC_COMPOUND_RETURN) = (32)

;

(HOOKID_NFSD_PROC_REMOVE_ENTRY) = (33)

;

(HOOKID_NFSD_PROC_REMOVE_RETURN) = (34)

;

(HOOKID_NFSD_PROC_RENAME_ENTRY) = (35)

;

(HOOKID_NFSD_PROC_RENAME_RETURN) = (36)

;

(HOOKID_NFSD_PROC_CREATE_ENTRY) = (37)

;
TE_RETURN) = (38)
;
}

# file /usr/local/share/systemtap/tapset/LKET/ioscheduler.stp
%{
#include <linux/blkdev.h>
#include <linux/elevator.h>
%}probe addevent.ioscheduler = addevent.ioscheduler.elv_next_request, addevent.ioscheduler.elv_add_request, addevent.ioscheduler.elv_completed_request{
}
probe addevent.ioscheduler.elv_next_request = addevent.ioscheduler.elv_next_request.entry, addevent.ioscheduler.elv_next_request.return{
}
probe addevent.ioscheduler.elv_next_request.entry = _addevent.ioscheduler.elv_next_request.entry{
update_record()
}
probe _addevent.ioscheduler.elv_next_request.entry = ioscheduler.elv_next_request{
log_ioscheduler_tracedata_elv_next_entry(elevator_name)
}
probe addevent.ioscheduler.elv_next_request.return = _addevent.ioscheduler.elv_next_request.return{
update_record()
}
probe _addevent.ioscheduler.elv_next_request.return = ioscheduler.elv_next_request.return{
log_ioscheduler_tracedata_elv_next_return(disk_major, disk_minor, req, req_flags)
}
probe addevent.ioscheduler.elv_add_request = _addevent.ioscheduler.elv_add_request{
update_record()
}
probe _addevent.ioscheduler.elv_add_request = ioscheduler.elv_add_request{
log_ioscheduler_tracedata_others(HOOKID_IOSCHED_ADD_REQ, elevator_name, disk_major, disk_minor, req, req_flags)
}
probe addevent.ioscheduler.elv_completed_request = _addevent.ioscheduler.elv_completed_request{
update_record()
}
probe _addevent.ioscheduler.elv_completed_request = ioscheduler.elv_completed_request{
log_ioscheduler_tracedata_others(HOOKID_IOSCHED_ADD_REQ, elevator_name, disk_major, disk_minor, req, req_flags)
}
function log_ioscheduler_tracedata_others (var_id, elv_name, major, minor, rq, flag)
%{
	/* elevator name|major|minor|request|request_flags  */

	_lket_trace(_GROUP_IOSCHED, THIS->var_id, "%0s%1b%1b%8b%8b", 
		THIS->elv_name, THIS->major, THIS->minor, THIS->rq, THIS->flag);

%}
function log_ioscheduler_tracedata_elv_next_entry (elv_name)
%{
	_lket_trace(_GROUP_IOSCHED, _HOOKID_IOSCHED_NEXT_REQ_ENTRY, "%0s", THIS->elv_name);
%}
function log_ioscheduler_tracedata_elv_next_return (major, minor, req, req_flags)
%{
	_lket_trace(_GROUP_IOSCHED, _HOOKID_IOSCHED_NEXT_REQ_RETURN, "%1b%1b%8b%8b",
		THIS->major, THIS->minor, THIS->req, THIS->req_flags);
%}

# file /usr/local/share/systemtap/tapset/LKET/iosyscall.stp
probe addevent.iosyscall = addevent.iosyscall.entry, addevent.iosyscall.return{
}
probe addevent.iosyscall.entry = addevent.iosyscall.open.entry, addevent.iosyscall.close.entry, addevent.iosyscall.read.entry, addevent.iosyscall.write.entry, addevent.iosyscall.readv.entry, addevent.iosyscall.writev.entry, addevent.iosyscall.pread64.entry, addevent.iosyscall.pwrite64.entry, addevent.iosyscall.readahead.entry, addevent.iosyscall.sendfile.entry, addevent.iosyscall.lseek.entry, addevent.iosyscall.llseek.entry, addevent.iosyscall.sync.entry, addevent.iosyscall.fsync.entry, addevent.iosyscall.fdatasync.entry, addevent.iosyscall.flock.entry{
}
probe addevent.iosyscall.return = addevent.iosyscall.open.return, addevent.iosyscall.close.return, addevent.iosyscall.read.return, addevent.iosyscall.write.return, addevent.iosyscall.readv.return, addevent.iosyscall.writev.return, addevent.iosyscall.pread64.return, addevent.iosyscall.pwrite64.return, addevent.iosyscall.readahead.return, addevent.iosyscall.sendfile.return, addevent.iosyscall.lseek.return, addevent.iosyscall.llseek.return, addevent.iosyscall.sync.return, addevent.iosyscall.fsync.return, addevent.iosyscall.fdatasync.return, addevent.iosyscall.flock.return{
}
probe addevent.iosyscall.open = addevent.iosyscall.open.entry, addevent.iosyscall.open.return{
}
probe addevent.iosyscall.open.entry = _addevent.iosyscall.open.entry{
update_record()
}
probe _addevent.iosyscall.open.entry = syscall.open{
log_iosyscall_open(filename, flags, mode)
}
probe addevent.iosyscall.open.return = _addevent.iosyscall.open.return{
update_record()
}
probe _addevent.iosyscall.open.return = syscall.open.return{
log_iosyscall_return(HOOKID_IOSYSCALL_OPEN_RETURN, $return)
(HOOKID_NFSD_PROC_CREATE_RETURN) = (38)

;

}



# file /usr/local/share/systemtap/tapset/LKET/ioscheduler.stp

%{

#include <linux/blkdev.h>

#include <linux/elevator.h>

%}probe addevent.ioscheduler = addevent.ioscheduler.elv_next_request, addevent.ioscheduler.elv_add_request, addevent.ioscheduler.elv_completed_request{

}

probe addevent.ioscheduler.elv_next_request = addevent.ioscheduler.elv_next_request.entry, addevent.ioscheduler.elv_next_request.return{

}

probe addevent.ioscheduler.elv_next_request.entry = _addevent.ioscheduler.elv_next_request.entry{

update_record()

}

probe _addevent.ioscheduler.elv_next_request.entry = ioscheduler.elv_next_request{

log_ioscheduler_tracedata_elv_next_entry(elevator_name)

}

probe addevent.ioscheduler.elv_next_request.return = _addevent.ioscheduler.elv_next_request.return{

update_record()

}

probe _addevent.ioscheduler.elv_next_request.return = ioscheduler.elv_next_request.return{

log_ioscheduler_tracedata_elv_next_return(disk_major, disk_minor, req, req_flags)

}

probe addevent.ioscheduler.elv_add_request = _addevent.ioscheduler.elv_add_request{

update_record()

}

probe _addevent.ioscheduler.elv_add_request = ioscheduler.elv_add_request{

log_ioscheduler_tracedata_others(HOOKID_IOSCHED_ADD_REQ, elevator_name, disk_major, disk_minor, req, req_flags)

}

probe addevent.ioscheduler.elv_completed_request = _addevent.ioscheduler.elv_completed_request{

update_record()

}

probe _addevent.ioscheduler.elv_completed_request = ioscheduler.elv_completed_request{

log_ioscheduler_tracedata_others(HOOKID_IOSCHED_ADD_REQ, elevator_name, disk_major, disk_minor, req, req_flags)

}

function log_ioscheduler_tracedata_others (var_id, elv_name, major, minor, rq, flag)

%{

	/* elevator name|major|minor|request|request_flags  */



	_lket_trace(_GROUP_IOSCHED, THIS->var_id, "%0s%1b%1b%8b%8b", 

		THIS->elv_name, THIS->major, THIS->minor, THIS->rq, THIS->flag);



%}

function log_ioscheduler_tracedata_elv_next_entry (elv_name)

%{

	_lket_trace(_GROUP_IOSCHED, _HOOKID_IOSCHED_NEXT_REQ_ENTRY, "%0s", THIS->elv_name);

%}

function log_ioscheduler_tracedata_elv_next_return (major, minor, req, req_flags)

%{

	_lket_trace(_GROUP_IOSCHED, _HOOKID_IOSCHED_NEXT_REQ_RETURN, "%1b%1b%8b%8b",

		THIS->major, THIS->minor, THIS->req, THIS->req_flags);

%}



# file /usr/local/share/systemtap/tapset/LKET/iosyscall.stp

probe addevent.iosyscall = addevent.iosyscall.entry, addevent.iosyscall.return{

}

probe addevent.iosyscall.entry = addevent.iosyscall.open.entry, addevent.iosyscall.close.entry, addevent.iosyscall.read.entry, addevent.iosyscall.write.entry, addevent.iosyscall.readv.entry, addevent.iosyscall.writev.entry, addevent.iosyscall.pread64.entry, addevent.iosyscall.pwrite64.entry, addevent.iosyscall.readahead.entry, addevent.iosyscall.sendfile.entry, addevent.iosyscall.lseek.entry, addevent.iosyscall.llseek.entry, addevent.iosyscall.sync.entry, addevent.iosyscall.fsync.entry, addevent.iosyscall.fdatasync.entry, addevent.iosyscall.flock.entry{

}

probe addevent.iosyscall.return = addevent.iosyscall.open.return, addevent.iosyscall.close.return, addevent.iosyscall.read.return, addevent.iosyscall.write.return, addevent.iosyscall.readv.return, addevent.iosyscall.writev.return, addevent.iosyscall.pread64.return, addevent.iosyscall.pwrite64.return, addevent.iosyscall.readahead.return, addevent.iosyscall.sendfile.return, addevent.iosyscall.lseek.return, addevent.iosyscall.llseek.return, addevent.iosyscall.sync.return, addevent.iosyscall.fsync.return, addevent.iosyscall.fdatasync.return, addevent.iosyscall.flock.return{

}

probe addevent.iosyscall.open = addevent.iosyscall.open.entry, addevent.iosyscall.open.return{

}

probe addevent.iosyscall.open.entry = _addevent.iosyscall.open.entry{

update_record()

}

probe _addevent.iosyscall.open.entry = syscall.open{

log_iosyscall_open(filename, flags, mode)

}

probe addevent.iosyscall.open.return = _addevent.iosyscall.open.return{

update_record()

}

probe _addevent.iosyscall.open.return = syscall.open.return{

}
probe addevent.iosyscall.close = addevent.iosyscall.close.entry, addevent.iosyscall.close.return{
}
probe addevent.iosyscall.close.entry = _addevent.iosyscall.close.entry{
update_record()
}
probe _addevent.iosyscall.close.entry = syscall.close{
log_iosyscall_close(fd)
}
probe addevent.iosyscall.close.return = _addevent.iosyscall.close.return{
update_record()
}
probe _addevent.iosyscall.close.return = syscall.close.return{
log_iosyscall_return(HOOKID_IOSYSCALL_CLOSE_RETURN, $return)
}
probe addevent.iosyscall.read = addevent.iosyscall.read.entry, addevent.iosyscall.read.return{
}
probe addevent.iosyscall.read.entry = _addevent.iosyscall.read.entry{
update_record()
}
probe _addevent.iosyscall.read.entry = syscall.read{
log_iosyscall_read(fd, buf_uaddr, count)
}
probe addevent.iosyscall.read.return = _addevent.iosyscall.read.return{
update_record()
}
probe _addevent.iosyscall.read.return = syscall.read.return{
log_iosyscall_return(HOOKID_IOSYSCALL_READ_RETURN, $return)
}
probe addevent.iosyscall.write = addevent.iosyscall.write.entry, addevent.iosyscall.write.return{
}
probe addevent.iosyscall.write.entry = _addevent.iosyscall.write.entry{
update_record()
}
probe _addevent.iosyscall.write.entry = syscall.write{
log_iosyscall_write(fd, buf_uaddr, count)
}
probe addevent.iosyscall.write.return = _addevent.iosyscall.write.return{
update_record()
}
probe _addevent.iosyscall.write.return = syscall.write.return{
log_iosyscall_return(HOOKID_IOSYSCALL_WRITE_RETURN, $return)
}
probe addevent.iosyscall.readv = addevent.iosyscall.readv.entry, addevent.iosyscall.readv.return{
}
probe addevent.iosyscall.readv.entry = _addevent.iosyscall.readv.entry{
update_record()
}
probe _addevent.iosyscall.readv.entry = syscall.readv{
log_iosyscall_readv_writev(HOOKID_IOSYSCALL_READV_ENTRY, fd, vector_uaddr, count)
}
probe addevent.iosyscall.readv.return = _addevent.iosyscall.readv.return{
update_record()
}
probe _addevent.iosyscall.readv.return = syscall.readv.return{
log_iosyscall_return(HOOKID_IOSYSCALL_READV_RETURN, $return)
}
probe addevent.iosyscall.writev = addevent.iosyscall.writev.entry, addevent.iosyscall.writev.return{
}
probe addevent.iosyscall.writev.entry = _addevent.iosyscall.writev.entry{
update_record()
}
probe _addevent.iosyscall.writev.entry = syscall.writev{
log_iosyscall_readv_writev(HOOKID_IOSYSCALL_WRITEV_ENTRY, fd, vector_uaddr, count)
}
probe addevent.iosyscall.writev.return = _addevent.iosyscall.writev.return{
update_record()
}
probe _addevent.iosyscall.writev.return = syscall.writev.return{
log_iosyscall_return(HOOKID_IOSYSCALL_WRITEV_RETURN, $return)
}
probe addevent.iosyscall.pread64 = addevent.iosyscall.pread64.entry, addevent.iosyscall.pread64.return{
}
probe addevent.iosyscall.pread64.entry = _addevent.iosyscall.pread64.entry{
update_record()
}
probe _addevent.iosyscall.pread64.entry = syscall.pread64{
log_iosyscall_pread64_pwrite64(HOOKID_IOSYSCALL_PREAD64_ENTRY, fd, buf_uaddr, count, offset)
}
probe addevent.iosyscall.pread64.return = _addevent.iosyscall.pread64.return{
update_record()
}
probe _addevent.iosyscall.pread64.return = syscall.pread64.return{
log_iosyscall_return(HOOKID_IOSYSCALL_PREAD64_RETURN, $return)
}
probe addevent.iosyscall.pwrite64 = addevent.iosyscall.pwrite64.entry, addevent.iosyscall.pwrite64.return{
}
probe addevent.iosyscall.pwrite64.entry = _addevent.iosyscall.pwrite64.entry{
update_record()
}
probe _addevent.iosyscall.pwrite64.entry = syscall.pwrite64{
log_iosyscall_pread64_pwrite64(HOOKID_IOSYSCALL_PWRITE64_ENTRY, fd, buf_uaddr, count, offset)
;
}
probe addevent.iosyscall.pwrite64.return = _addevent.iosyscall.pwrite64.return{
update_record()
}
probe _addevent.iosyscall.pwrite64.return = syscall.pwrite64.return{
log_iosyscall_return(HOOKID_IOSYSCALL_PWRITE64_RETURN, $return)
}
probe addevent.iosyscall.readahead = addevent.iosyscall.readahead.entry, addevent.iosyscall.readahead.return{
}
probe addevent.iosyscall.readahead.entry = _addevent.iosyscall.readahead.entry{
update_record()
}

log_iosyscall_return(HOOKID_IOSYSCALL_OPEN_RETURN, $return)

}

probe addevent.iosyscall.close = addevent.iosyscall.close.entry, addevent.iosyscall.close.return{

}

probe addevent.iosyscall.close.entry = _addevent.iosyscall.close.entry{

update_record()

}

probe _addevent.iosyscall.close.entry = syscall.close{

log_iosyscall_close(fd)

}

probe addevent.iosyscall.close.return = _addevent.iosyscall.close.return{

update_record()

}

probe _addevent.iosyscall.close.return = syscall.close.return{

log_iosyscall_return(HOOKID_IOSYSCALL_CLOSE_RETURN, $return)

}

probe addevent.iosyscall.read = addevent.iosyscall.read.entry, addevent.iosyscall.read.return{

}

probe addevent.iosyscall.read.entry = _addevent.iosyscall.read.entry{

update_record()

}

probe _addevent.iosyscall.read.entry = syscall.read{

log_iosyscall_read(fd, buf_uaddr, count)

}

probe addevent.iosyscall.read.return = _addevent.iosyscall.read.return{

update_record()

}

probe _addevent.iosyscall.read.return = syscall.read.return{

log_iosyscall_return(HOOKID_IOSYSCALL_READ_RETURN, $return)

}

probe addevent.iosyscall.write = addevent.iosyscall.write.entry, addevent.iosyscall.write.return{

}

probe addevent.iosyscall.write.entry = _addevent.iosyscall.write.entry{

update_record()

}

probe _addevent.iosyscall.write.entry = syscall.write{

log_iosyscall_write(fd, buf_uaddr, count)

}

probe addevent.iosyscall.write.return = _addevent.iosyscall.write.return{

update_record()

}

probe _addevent.iosyscall.write.return = syscall.write.return{

log_iosyscall_return(HOOKID_IOSYSCALL_WRITE_RETURN, $return)

}

probe addevent.iosyscall.readv = addevent.iosyscall.readv.entry, addevent.iosyscall.readv.return{

}

probe addevent.iosyscall.readv.entry = _addevent.iosyscall.readv.entry{

update_record()

}

probe _addevent.iosyscall.readv.entry = syscall.readv{

log_iosyscall_readv_writev(HOOKID_IOSYSCALL_READV_ENTRY, fd, vector_uaddr, count)

}

probe addevent.iosyscall.readv.return = _addevent.iosyscall.readv.return{

update_record()

}

probe _addevent.iosyscall.readv.return = syscall.readv.return{

log_iosyscall_return(HOOKID_IOSYSCALL_READV_RETURN, $return)

}

probe addevent.iosyscall.writev = addevent.iosyscall.writev.entry, addevent.iosyscall.writev.return{

}

probe addevent.iosyscall.writev.entry = _addevent.iosyscall.writev.entry{

update_record()

}

probe _addevent.iosyscall.writev.entry = syscall.writev{

log_iosyscall_readv_writev(HOOKID_IOSYSCALL_WRITEV_ENTRY, fd, vector_uaddr, count)

}

probe addevent.iosyscall.writev.return = _addevent.iosyscall.writev.return{

update_record()

}

probe _addevent.iosyscall.writev.return = syscall.writev.return{

log_iosyscall_return(HOOKID_IOSYSCALL_WRITEV_RETURN, $return)

}

probe addevent.iosyscall.pread64 = addevent.iosyscall.pread64.entry, addevent.iosyscall.pread64.return{

}

probe addevent.iosyscall.pread64.entry = _addevent.iosyscall.pread64.entry{

update_record()

}

probe _addevent.iosyscall.pread64.entry = syscall.pread64{

log_iosyscall_pread64_pwrite64(HOOKID_IOSYSCALL_PREAD64_ENTRY, fd, buf_uaddr, count, offset)

}

probe addevent.iosyscall.pread64.return = _addevent.iosyscall.pread64.return{

update_record()

}

probe _addevent.iosyscall.pread64.return = syscall.pread64.return{

log_iosyscall_return(HOOKID_IOSYSCALL_PREAD64_RETURN, $return)

}

probe addevent.iosyscall.pwrite64 = addevent.iosyscall.pwrite64.entry, addevent.iosyscall.pwrite64.return{

}

probe addevent.iosyscall.pwrite64.entry = _addevent.iosyscall.pwrite64.entry{

update_record()

}

probe _addevent.iosyscall.pwrite64.entry = syscall.pwrite64{

log_iosyscall_pread64_pwrite64(HOOKID_IOSYSCALL_PWRITE64_ENTRY, fd, buf_uaddr, count, offset)

;

}

probe addevent.iosyscall.pwrite64.return = _addevent.iosyscall.pwrite64.return{

update_record()

}

probe _addevent.iosyscall.pwrite64.return = syscall.pwrite64.return{

log_iosyscall_return(HOOKID_IOSYSCALL_PWRITE64_RETURN, $return)

}

probe addevent.iosyscall.readahead = addevent.iosyscall.readahead.entry, addevent.iosyscall.readahead.return{

}

probe addevent.iosyscall.readahead.entry = _addevent.iosyscall.readahead.entry{

update_record()

}
probe _addevent.iosyscall.readahead.entry = syscall.readahead{
log_iosyscall_readahead(fd, offset, count)
}
probe addevent.iosyscall.readahead.return = _addevent.iosyscall.readahead.return{
update_record()
}
probe _addevent.iosyscall.readahead.return = syscall.readahead.return{
log_iosyscall_return(HOOKID_IOSYSCALL_READAHEAD_RETURN, $return)
}
probe addevent.iosyscall.sendfile = addevent.iosyscall.sendfile.entry, addevent.iosyscall.sendfile.return{
}
probe addevent.iosyscall.sendfile.entry = _addevent.iosyscall.sendfile.entry{
update_record()
}
probe _addevent.iosyscall.sendfile.entry = syscall.sendfile{
log_iosyscall_sendfile(out_fd, in_fd, offset_uaddr, count)
}
probe addevent.iosyscall.sendfile.return = _addevent.iosyscall.sendfile.return{
update_record()
}
probe _addevent.iosyscall.sendfile.return = syscall.sendfile.return{
log_iosyscall_return(HOOKID_IOSYSCALL_SENDFILE_RETURN, $return)
}
probe addevent.iosyscall.lseek = addevent.iosyscall.lseek.entry, addevent.iosyscall.lseek.return{
}
probe addevent.iosyscall.lseek.entry = _addevent.iosyscall.lseek.entry{
update_record()
}
probe _addevent.iosyscall.lseek.entry = syscall.lseek{
log_iosyscall_lseek(fildes, offset, whence)
}
probe addevent.iosyscall.lseek.return = _addevent.iosyscall.lseek.return{
update_record()
}
probe _addevent.iosyscall.lseek.return = syscall.lseek.return{
log_iosyscall_return(HOOKID_IOSYSCALL_LSEEK_RETURN, $return)
}
probe addevent.iosyscall.llseek = addevent.iosyscall.llseek.entry, addevent.iosyscall.llseek.return{
}
probe addevent.iosyscall.llseek.entry = _addevent.iosyscall.llseek.entry{
update_record()
}
probe _addevent.iosyscall.llseek.entry = syscall.llseek{
log_iosyscall_llseek(fd, offset_high, offset_low, result_uaddr, whence)
}
probe addevent.iosyscall.llseek.return = _addevent.iosyscall.llseek.return{
update_record()
}
probe _addevent.iosyscall.llseek.return = syscall.llseek.return{
log_iosyscall_return(HOOKID_IOSYSCALL_LLSEEK_RETURN, $return)
}
probe addevent.iosyscall.sync = addevent.iosyscall.sync.entry, addevent.iosyscall.sync.return{
}
probe addevent.iosyscall.sync.entry = _addevent.iosyscall.sync.entry{
update_record()
}
probe _addevent.iosyscall.sync.entry = syscall.sync{
log_iosyscall_sync()
}
probe addevent.iosyscall.sync.return = _addevent.iosyscall.sync.return{
update_record()
}
probe _addevent.iosyscall.sync.return = syscall.sync.return{
log_iosyscall_return(HOOKID_IOSYSCALL_SYNC_RETURN, $return)
}
probe addevent.iosyscall.fsync = addevent.iosyscall.fsync.entry, addevent.iosyscall.fsync.return{
}
probe addevent.iosyscall.fsync.entry = _addevent.iosyscall.fsync.entry{
update_record()
}
probe _addevent.iosyscall.fsync.entry = syscall.fsync{
log_iosyscall_fsync(HOOKID_IOSYSCALL_FSYNC_ENTRY, fd)
}
probe addevent.iosyscall.fsync.return = _addevent.iosyscall.fsync.return{
update_record()
}
probe _addevent.iosyscall.fsync.return = syscall.fsync.return{
log_iosyscall_return(HOOKID_IOSYSCALL_FSYNC_RETURN, $return)
}
probe addevent.iosyscall.fdatasync = addevent.iosyscall.fdatasync.entry, addevent.iosyscall.fdatasync.return{
}
probe addevent.iosyscall.fdatasync.entry = _addevent.iosyscall.fdatasync.entry{
update_record()
}
probe _addevent.iosyscall.fdatasync.entry = syscall.fdatasync{
log_iosyscall_fsync(HOOKID_IOSYSCALL_FDATASYNC_ENTRY, fd)
}
probe addevent.iosyscall.fdatasync.return = _addevent.iosyscall.fdatasync.return{
update_record()
}
probe _addevent.iosyscall.fdatasync.return = syscall.fdatasync.return{
log_iosyscall_return(HOOKID_IOSYSCALL_FDATASYNC_RETURN, $return)
}
probe addevent.iosyscall.flock = addevent.iosyscall.flock.entry, addevent.iosyscall.flock.return{
}
probe addevent.iosyscall.flock.entry = _addevent.iosyscall.flock.entry{
update_record()
}
probe _addevent.iosyscall.flock.entry = syscall.flock{
log_iosyscall_flock(fd, operation)
}
probe addevent.iosyscall.flock.return = _addevent.iosyscall.flock.return{
update_record()
}
probe _addevent.iosyscall.flock.return = syscall.flock.return{
log_iosyscall_return(HOOK
probe _addevent.iosyscall.readahead.entry = syscall.readahead{

log_iosyscall_readahead(fd, offset, count)

}

probe addevent.iosyscall.readahead.return = _addevent.iosyscall.readahead.return{

update_record()

}

probe _addevent.iosyscall.readahead.return = syscall.readahead.return{

log_iosyscall_return(HOOKID_IOSYSCALL_READAHEAD_RETURN, $return)

}

probe addevent.iosyscall.sendfile = addevent.iosyscall.sendfile.entry, addevent.iosyscall.sendfile.return{

}

probe addevent.iosyscall.sendfile.entry = _addevent.iosyscall.sendfile.entry{

update_record()

}

probe _addevent.iosyscall.sendfile.entry = syscall.sendfile{

log_iosyscall_sendfile(out_fd, in_fd, offset_uaddr, count)

}

probe addevent.iosyscall.sendfile.return = _addevent.iosyscall.sendfile.return{

update_record()

}

probe _addevent.iosyscall.sendfile.return = syscall.sendfile.return{

log_iosyscall_return(HOOKID_IOSYSCALL_SENDFILE_RETURN, $return)

}

probe addevent.iosyscall.lseek = addevent.iosyscall.lseek.entry, addevent.iosyscall.lseek.return{

}

probe addevent.iosyscall.lseek.entry = _addevent.iosyscall.lseek.entry{

update_record()

}

probe _addevent.iosyscall.lseek.entry = syscall.lseek{

log_iosyscall_lseek(fildes, offset, whence)

}

probe addevent.iosyscall.lseek.return = _addevent.iosyscall.lseek.return{

update_record()

}

probe _addevent.iosyscall.lseek.return = syscall.lseek.return{

log_iosyscall_return(HOOKID_IOSYSCALL_LSEEK_RETURN, $return)

}

probe addevent.iosyscall.llseek = addevent.iosyscall.llseek.entry, addevent.iosyscall.llseek.return{

}

probe addevent.iosyscall.llseek.entry = _addevent.iosyscall.llseek.entry{

update_record()

}

probe _addevent.iosyscall.llseek.entry = syscall.llseek{

log_iosyscall_llseek(fd, offset_high, offset_low, result_uaddr, whence)

}

probe addevent.iosyscall.llseek.return = _addevent.iosyscall.llseek.return{

update_record()

}

probe _addevent.iosyscall.llseek.return = syscall.llseek.return{

log_iosyscall_return(HOOKID_IOSYSCALL_LLSEEK_RETURN, $return)

}

probe addevent.iosyscall.sync = addevent.iosyscall.sync.entry, addevent.iosyscall.sync.return{

}

probe addevent.iosyscall.sync.entry = _addevent.iosyscall.sync.entry{

update_record()

}

probe _addevent.iosyscall.sync.entry = syscall.sync{

log_iosyscall_sync()

}

probe addevent.iosyscall.sync.return = _addevent.iosyscall.sync.return{

update_record()

}

probe _addevent.iosyscall.sync.return = syscall.sync.return{

log_iosyscall_return(HOOKID_IOSYSCALL_SYNC_RETURN, $return)

}

probe addevent.iosyscall.fsync = addevent.iosyscall.fsync.entry, addevent.iosyscall.fsync.return{

}

probe addevent.iosyscall.fsync.entry = _addevent.iosyscall.fsync.entry{

update_record()

}

probe _addevent.iosyscall.fsync.entry = syscall.fsync{

log_iosyscall_fsync(HOOKID_IOSYSCALL_FSYNC_ENTRY, fd)

}

probe addevent.iosyscall.fsync.return = _addevent.iosyscall.fsync.return{

update_record()

}

probe _addevent.iosyscall.fsync.return = syscall.fsync.return{

log_iosyscall_return(HOOKID_IOSYSCALL_FSYNC_RETURN, $return)

}

probe addevent.iosyscall.fdatasync = addevent.iosyscall.fdatasync.entry, addevent.iosyscall.fdatasync.return{

}

probe addevent.iosyscall.fdatasync.entry = _addevent.iosyscall.fdatasync.entry{

update_record()

}

probe _addevent.iosyscall.fdatasync.entry = syscall.fdatasync{

log_iosyscall_fsync(HOOKID_IOSYSCALL_FDATASYNC_ENTRY, fd)

}

probe addevent.iosyscall.fdatasync.return = _addevent.iosyscall.fdatasync.return{

update_record()

}

probe _addevent.iosyscall.fdatasync.return = syscall.fdatasync.return{

log_iosyscall_return(HOOKID_IOSYSCALL_FDATASYNC_RETURN, $return)

}

probe addevent.iosyscall.flock = addevent.iosyscall.flock.entry, addevent.iosyscall.flock.return{

}

probe addevent.iosyscall.flock.entry = _addevent.iosyscall.flock.entry{

update_record()

}

probe _addevent.iosyscall.flock.entry = syscall.flock{

log_iosyscall_flock(fd, operation)

}

probe addevent.iosyscall.flock.return = _addevent.iosyscall.flock.return{

update_record()

}

probe _addevent.iosyscall.flock.return = syscall.flock.return{
ID_IOSYSCALL_FLOCK_RETURN, $return)
}
function log_iosyscall_open (filename, flags, mode)
%{
	_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_OPEN_ENTRY,
		"%0s%4b%4b", THIS->filename, THIS->flags, THIS->mode);
%}
function log_iosyscall_return (hookid, ret_val)
%{
	_lket_trace(_GROUP_IOSYSCALL, THIS->hookid, "%8b", THIS->ret_val);
%}
function log_iosyscall_close (fd)
%{
	_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_CLOSE_ENTRY, "%8b", THIS->fd);
%}
function log_iosyscall_read (fd, buf_uaddr, count)
%{
	_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_READ_ENTRY, "%8b%8b%8b",
		THIS->fd, THIS->buf_uaddr, THIS->count);
%}
function log_iosyscall_write (fd, buf_uaddr, count)
%{
	_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_WRITE_ENTRY, "%8b%8b%8b",
		THIS->fd, THIS->buf_uaddr, THIS->count);
%}
function log_iosyscall_readv_writev (hookid, fd, vector_uaddr, count)
%{
	_lket_trace(_GROUP_IOSYSCALL, THIS->hookid, "%8b%8b%8b",
		THIS->fd, THIS->vector_uaddr, THIS->count);
%}
function log_iosyscall_pread64_pwrite64 (hookid, fd, buf_uaddr, count, offset)
%{
	_lket_trace(_GROUP_IOSYSCALL, THIS->hookid, "%8b%8b%8b%8b",
		THIS->fd, THIS->buf_uaddr, THIS->count, THIS->offset);
%}
function log_iosyscall_readahead (fd, offset, count)
%{
	_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_READAHEAD_ENTRY,
		"%8b%8b%8b", THIS->fd, THIS->offset, THIS->count);
%}
function log_iosyscall_sendfile (out_fd, in_fd, offset_uaddr, count)
%{
	_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_SENDFILE_ENTRY, "%8b%8b%8b%8b",
		THIS->out_fd, THIS->in_fd, THIS->offset_uaddr, THIS->count);
%}
function log_iosyscall_lseek (fd, offset, whence)
%{
	_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_LSEEK_ENTRY,
		"%8b%8b%1b", THIS->fd, THIS->offset, THIS->whence);
%}
function log_iosyscall_llseek (fd, offset_high, offset_low, result_uaddr, whence)
%{
	_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_LLSEEK_ENTRY,
		"%8b%8b%8b%8b%1b", THIS->fd, THIS->offset_high,
		THIS->offset_low, THIS->result_uaddr, THIS->whence);
%}
function log_iosyscall_sync ()
%{
	int GroupID = _GROUP_IOSYSCALL;
	int hookID = _HOOKID_IOSYSCALL_SYNC_ENTRY;
        struct timeval tv; 
        do_gettimeofday(&tv); 
#if defined(ASCII_TRACE)
	_stp_printf("%d%d%d%d%d%d%d%d", _GROUP_IOSYSCALL,
		_HOOKID_IOSYSCALL_SYNC_ENTRY, tv.tv_sec, tv.tv_usec,
		current->tgid, current->parent->pid, current->pid,
                current->thread_info->cpu);

#else

        if(timing_method == TIMING_GETCYCLES) { 
                _stp_printf("%2b%2n%8b%8b", (_FMT_)0, 
                        (_FMT_)get_cycles(),
                        (_FMT_)((int64_t)current->pid << 32 |
                                (int32_t)GroupID << 24 | (int32_t)hookID << 16 |
                                (int16_t)current->thread_info->cpu << 8));
        } 
        else if(timing_method == TIMING_GETTIMEOFDAY) {
                struct timeval tv;
                do_gettimeofday (&tv);
                _stp_printf("%2b%2n%8b%8b", (_FMT_)0,
                        (_FMT_)(tv.tv_sec*1000000LL + tv.tv_usec),
                        (_FMT_)((int64_t)current->pid << 32 |
                                (int32_t)GroupID << 24 | (int32_t)hookID << 16 |
                                (int16_t)current->thread_info->cpu << 8));
        } 
        else {
                _stp_printf("%2b%2n%8b%8b", (_FMT_)0,
                        (_FMT_)pfn_schedclock(),
                        (_FMT_)((int64_t)current->pid << 32 |
                                (int32_t)GroupID << 24 | (int32_t)hookID << 16 |
                                (int16_t)current->thread_info->cpu << 8));
	}
#endif

%}
function log_iosyscall_fsync (hookid, fd)
%{
	_lket_trace(_GROUP_IOSYSCALL, THIS->hookid, "%8b", THIS->fd);
%}
function log_iosyscall_flock (fd, operation)
%{
	_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_FLOCK_ENTRY,
		"%8b%4b", THIS->fd, THIS->operation);
%}

# file /usr/local/share/systemtap/tapset/LKET/lket_trace.stp
%{
#include <linux/cpufreq.h>


log_iosyscall_return(HOOKID_IOSYSCALL_FLOCK_RETURN, $return)

}

function log_iosyscall_open (filename, flags, mode)

%{

	_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_OPEN_ENTRY,

		"%0s%4b%4b", THIS->filename, THIS->flags, THIS->mode);

%}

function log_iosyscall_return (hookid, ret_val)

%{

	_lket_trace(_GROUP_IOSYSCALL, THIS->hookid, "%8b", THIS->ret_val);

%}

function log_iosyscall_close (fd)

%{

	_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_CLOSE_ENTRY, "%8b", THIS->fd);

%}

function log_iosyscall_read (fd, buf_uaddr, count)

%{

	_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_READ_ENTRY, "%8b%8b%8b",

		THIS->fd, THIS->buf_uaddr, THIS->count);

%}

function log_iosyscall_write (fd, buf_uaddr, count)

%{

	_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_WRITE_ENTRY, "%8b%8b%8b",

		THIS->fd, THIS->buf_uaddr, THIS->count);

%}

function log_iosyscall_readv_writev (hookid, fd, vector_uaddr, count)

%{

	_lket_trace(_GROUP_IOSYSCALL, THIS->hookid, "%8b%8b%8b",

		THIS->fd, THIS->vector_uaddr, THIS->count);

%}

function log_iosyscall_pread64_pwrite64 (hookid, fd, buf_uaddr, count, offset)

%{

	_lket_trace(_GROUP_IOSYSCALL, THIS->hookid, "%8b%8b%8b%8b",

		THIS->fd, THIS->buf_uaddr, THIS->count, THIS->offset);

%}

function log_iosyscall_readahead (fd, offset, count)

%{

	_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_READAHEAD_ENTRY,

		"%8b%8b%8b", THIS->fd, THIS->offset, THIS->count);

%}

function log_iosyscall_sendfile (out_fd, in_fd, offset_uaddr, count)

%{

	_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_SENDFILE_ENTRY, "%8b%8b%8b%8b",

		THIS->out_fd, THIS->in_fd, THIS->offset_uaddr, THIS->count);

%}

function log_iosyscall_lseek (fd, offset, whence)

%{

	_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_LSEEK_ENTRY,

		"%8b%8b%1b", THIS->fd, THIS->offset, THIS->whence);

%}

function log_iosyscall_llseek (fd, offset_high, offset_low, result_uaddr, whence)

%{

	_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_LLSEEK_ENTRY,

		"%8b%8b%8b%8b%1b", THIS->fd, THIS->offset_high,

		THIS->offset_low, THIS->result_uaddr, THIS->whence);

%}

function log_iosyscall_sync ()

%{

	int GroupID = _GROUP_IOSYSCALL;

	int hookID = _HOOKID_IOSYSCALL_SYNC_ENTRY;

        struct timeval tv; 

        do_gettimeofday(&tv); 

#if defined(ASCII_TRACE)

	_stp_printf("%d%d%d%d%d%d%d%d", _GROUP_IOSYSCALL,

		_HOOKID_IOSYSCALL_SYNC_ENTRY, tv.tv_sec, tv.tv_usec,

		current->tgid, current->parent->pid, current->pid,

                current->thread_info->cpu);



#else



        if(timing_method == TIMING_GETCYCLES) { 

                _stp_printf("%2b%2n%8b%8b", (_FMT_)0, 

                        (_FMT_)get_cycles(),

                        (_FMT_)((int64_t)current->pid << 32 |

                                (int32_t)GroupID << 24 | (int32_t)hookID << 16 |

                                (int16_t)current->thread_info->cpu << 8));

        } 

        else if(timing_method == TIMING_GETTIMEOFDAY) {

                struct timeval tv;

                do_gettimeofday (&tv);

                _stp_printf("%2b%2n%8b%8b", (_FMT_)0,

                        (_FMT_)(tv.tv_sec*1000000LL + tv.tv_usec),

                        (_FMT_)((int64_t)current->pid << 32 |

                                (int32_t)GroupID << 24 | (int32_t)hookID << 16 |

                                (int16_t)current->thread_info->cpu << 8));

        } 

        else {

                _stp_printf("%2b%2n%8b%8b", (_FMT_)0,

                        (_FMT_)pfn_schedclock(),

                        (_FMT_)((int64_t)current->pid << 32 |

                                (int32_t)GroupID << 24 | (int32_t)hookID << 16 |

                                (int16_t)current->thread_info->cpu << 8));

	}

#endif



%}

function log_iosyscall_fsync (hookid, fd)

%{

	_lket_trace(_GROUP_IOSYSCALL, THIS->hookid, "%8b", THIS->fd);

%}

function log_iosyscall_flock (fd, operation)

%{

	_lket_trace(_GROUP_IOSYSCALL, _HOOKID_IOSYSCALL_FLOCK_ENTRY,

		"%8b%4b", THIS->fd, THIS->operation);

%}



# file /usr/local/share/systemtap/tapset/LKET/lket_trace.stp

%{

#include <linux/cpufreq.h>


#if defined(ASCII_TRACE)
#ifndef _FMT_
#define _FMT_ unsigned int
#endif
#else
#ifndef _FMT_
#define _FMT_ int64_t
#endif
#endif

#ifndef TIMING_GETCYCLES
#define TIMING_GETCYCLES 0x01
#endif
#ifndef TIMING_GETTIMEOFDAY
#define TIMING_GETTIMEOFDAY 0x02
#endif
#ifndef TIMING_SCHEDCLOCK
#define TIMING_SCHEDCLOCK 0x03
#endif

extern int _GROUP_CPUFREQ;
extern int _HOOKID_SWITCH_CPUFREQ;

extern long timing_method;

#ifndef _PFN_SCHEDCLOCK_TYPE
#define _PFN_SCHEDCLOCK_TYPE
typedef unsigned long long (* pfn_schedclock_type)(void);
#endif

extern pfn_schedclock_type pfn_schedclock;
%}%{
#ifndef __LKET_TRACE__
#define __LKET_TRACE__

#define LKET_PKT_BT 2

#define MAX_FMT_LEN 128
char new_sysfmt[MAX_FMT_LEN] = "\n%d|%d|%d|%d|%d|%d|%d|%d";
#define NEW_SYSFMT_START 24 

void fmt_change(char *oldfmt, char *newfmt, int newfmt_start)
{
	char *old_ptr, *new_ptr;

	old_ptr = oldfmt;
	new_ptr = newfmt + newfmt_start;

	while(*old_ptr != 0 && (new_ptr - newfmt) < MAX_FMT_LEN)  {
		if(*old_ptr != '%')  {
			*new_ptr++ = *old_ptr++;
			continue;
		}  else  {
			*new_ptr++ = '|'; /* delimier to make it readable */ 
			*new_ptr++ = *old_ptr++;
			while( *old_ptr == 'L' || *old_ptr == 'l'
				|| isdigit(*old_ptr) )  {
				*new_ptr++ = *old_ptr++;
			}
			if( *old_ptr == 'b') {
				if(isdigit(*(old_ptr-1))) {
					if(*(old_ptr-1) == '1' ||
					   *(old_ptr-1) == '2' ||
					   *(old_ptr-1) == '3' ||
					   *(old_ptr-1) == '4')  {
						new_ptr--;
					} else if(*(old_ptr-1) == '8')  {
						*--new_ptr='l';
						*++new_ptr='l';
						new_ptr++;
					}
				}
				*new_ptr++ = 'd';
				old_ptr++;
			}
			else if ( *old_ptr == 's') {
				if(isdigit(*(old_ptr-1)) && *(old_ptr-1)=='0')
					new_ptr--;
				*new_ptr++ = 's';
				old_ptr++;
			} else
				*new_ptr++ = *old_ptr++;
		}
	}
	*new_ptr=0;
}

/* trace data in ASCII format 
   Format of the common prefix of the trace data:
  groupid|subhookid|sec|usec|tgid|ppid|pid|cpuid|
*/
#if defined(ASCII_TRACE)

#define _lket_trace(GroupID, hookID, fmt, args...) do { \
	struct timeval tv; \
	do_gettimeofday (&tv); \
	fmt_change(fmt, new_sysfmt, NEW_SYSFMT_START); \
	_stp_printf(new_sysfmt, \
		(_FMT_)GroupID, (_FMT_)hookID, (_FMT_)tv.tv_sec, (_FMT_)tv.tv_usec,\
		(_FMT_)current->tgid, (_FMT_)current->parent->tgid,\
		(_FMT_)current->pid, (_FMT_)current->thread_info->cpu, args);\
} while(0)

#else //binary trace

static inline int this_event_len(void)
{
	return 0;
}

/* we use 2 bytes to store the length. */
#define _lket_trace(GroupID, hookID, fmt, args...) do { \
	if(timing_method == TIMING_GETCYCLES) { \
        	_stp_printf("%2b%2n%8b%8b%8b"fmt, (_FMT_)0, \
			(_FMT_)get_cycles(), \
			(_FMT_)((int64_t)current->pid << 32 | (int32_t)current->tgid),\
			(_FMT_)((int64_t)current->parent->tgid << 32 | \
				(int32_t)GroupID << 24 | (int32_t)hookID << 16 | \
			       	(int16_t)current->thread_info->cpu << 8), \
			args); \
	} \
	else if(timing_method == TIMING_GETTIMEOFDAY) { \
		struct timeval tv; \
		do_gettimeofday (&tv); \
		_stp_printf("%2b%2n%8b%8b%8b"fmt, (_FMT_)0, \
			(_FMT_)(tv.tv_sec*1000000LL + tv.tv_usec), \
			(_FMT_)((int64_t)current->pid << 32 | (int32_t)current->tgid),\
			(_FMT_)((int64_t)current->parent->tgid << 32 | \
				(int32_t)GroupID << 24 | (int32_t)hookID << 16 | \
			       	(int16_t)current->thread_info->cpu << 8), \
			args); \
	} \
	else { \
		_stp_printf("%2b%2n%8b%8b%8b"fmt, (_FMT_)0, \
			(_FMT_)pfn_schedclock(), \
			(_FMT_)((int64_t)current->pid << 32 | (int32_t)current->tgid),\
			(_FMT_)((int64_t)current->parent->tgid << 32 | \
				(int32_t)GroupID << 24 | (int32_t)hookID << 16 | \
				(int16_t)current->thread_info->cpu << 8), \
			args); \
	} \
} while(0)
#endif

#endif
%}%{
#ifdef CONFIG_CPU_FREQ
static int __lket_time_cpufreq_callback(struct notifier_block *self,
        unsigned long state, void *vfreqs)
{
	int cpu;
	unsigned long flags;
	struct cpufreq_freqs *freqs;
	unsigned int freq_mhz;
	stp_time_t *time;

#if defined(ASCII_TRACE)

#ifndef _FMT_

#define _FMT_ unsigned int

#endif

#else

#ifndef _FMT_

#define _FMT_ int64_t

#endif

#endif



#ifndef TIMING_GETCYCLES

#define TIMING_GETCYCLES 0x01

#endif

#ifndef TIMING_GETTIMEOFDAY

#define TIMING_GETTIMEOFDAY 0x02

#endif

#ifndef TIMING_SCHEDCLOCK

#define TIMING_SCHEDCLOCK 0x03

#endif



extern int _GROUP_CPUFREQ;

extern int _HOOKID_SWITCH_CPUFREQ;



extern long timing_method;



#ifndef _PFN_SCHEDCLOCK_TYPE

#define _PFN_SCHEDCLOCK_TYPE

typedef unsigned long long (* pfn_schedclock_type)(void);

#endif



extern pfn_schedclock_type pfn_schedclock;

%}%{

#ifndef __LKET_TRACE__

#define __LKET_TRACE__



#define LKET_PKT_BT 2



#define MAX_FMT_LEN 128

char new_sysfmt[MAX_FMT_LEN] = "\n%d|%d|%d|%d|%d|%d|%d|%d";

#define NEW_SYSFMT_START 24 



void fmt_change(char *oldfmt, char *newfmt, int newfmt_start)

{

	char *old_ptr, *new_ptr;



	old_ptr = oldfmt;

	new_ptr = newfmt + newfmt_start;



	while(*old_ptr != 0 && (new_ptr - newfmt) < MAX_FMT_LEN)  {

		if(*old_ptr != '%')  {

			*new_ptr++ = *old_ptr++;

			continue;

		}  else  {

			*new_ptr++ = '|'; /* delimier to make it readable */ 

			*new_ptr++ = *old_ptr++;

			while( *old_ptr == 'L' || *old_ptr == 'l'

				|| isdigit(*old_ptr) )  {

				*new_ptr++ = *old_ptr++;

			}

			if( *old_ptr == 'b') {

				if(isdigit(*(old_ptr-1))) {

					if(*(old_ptr-1) == '1' ||

					   *(old_ptr-1) == '2' ||

					   *(old_ptr-1) == '3' ||

					   *(old_ptr-1) == '4')  {

						new_ptr--;

					} else if(*(old_ptr-1) == '8')  {

						*--new_ptr='l';

						*++new_ptr='l';

						new_ptr++;

					}

				}

				*new_ptr++ = 'd';

				old_ptr++;

			}

			else if ( *old_ptr == 's') {

				if(isdigit(*(old_ptr-1)) && *(old_ptr-1)=='0')

					new_ptr--;

				*new_ptr++ = 's';

				old_ptr++;

			} else

				*new_ptr++ = *old_ptr++;

		}

	}

	*new_ptr=0;

}



/* trace data in ASCII format 

   Format of the common prefix of the trace data:

  groupid|subhookid|sec|usec|tgid|ppid|pid|cpuid|

*/

#if defined(ASCII_TRACE)



#define _lket_trace(GroupID, hookID, fmt, args...) do { \

	struct timeval tv; \

	do_gettimeofday (&tv); \

	fmt_change(fmt, new_sysfmt, NEW_SYSFMT_START); \

	_stp_printf(new_sysfmt, \

		(_FMT_)GroupID, (_FMT_)hookID, (_FMT_)tv.tv_sec, (_FMT_)tv.tv_usec,\

		(_FMT_)current->tgid, (_FMT_)current->parent->tgid,\

		(_FMT_)current->pid, (_FMT_)current->thread_info->cpu, args);\

} while(0)



#else //binary trace



static inline int this_event_len(void)

{

	return 0;

}



/* we use 2 bytes to store the length. */

#define _lket_trace(GroupID, hookID, fmt, args...) do { \

	if(timing_method == TIMING_GETCYCLES) { \

        	_stp_printf("%2b%2n%8b%8b%8b"fmt, (_FMT_)0, \

			(_FMT_)get_cycles(), \

			(_FMT_)((int64_t)current->pid << 32 | (int32_t)current->tgid),\

			(_FMT_)((int64_t)current->parent->tgid << 32 | \

				(int32_t)GroupID << 24 | (int32_t)hookID << 16 | \

			       	(int16_t)current->thread_info->cpu << 8), \

			args); \

	} \

	else if(timing_method == TIMING_GETTIMEOFDAY) { \

		struct timeval tv; \

		do_gettimeofday (&tv); \

		_stp_printf("%2b%2n%8b%8b%8b"fmt, (_FMT_)0, \

			(_FMT_)(tv.tv_sec*1000000LL + tv.tv_usec), \

			(_FMT_)((int64_t)current->pid << 32 | (int32_t)current->tgid),\

			(_FMT_)((int64_t)current->parent->tgid << 32 | \

				(int32_t)GroupID << 24 | (int32_t)hookID << 16 | \

			       	(int16_t)current->thread_info->cpu << 8), \

			args); \

	} \

	else { \

		_stp_printf("%2b%2n%8b%8b%8b"fmt, (_FMT_)0, \

			(_FMT_)pfn_schedclock(), \

			(_FMT_)((int64_t)current->pid << 32 | (int32_t)current->tgid),\

			(_FMT_)((int64_t)current->parent->tgid << 32 | \

				(int32_t)GroupID << 24 | (int32_t)hookID << 16 | \

				(int16_t)current->thread_info->cpu << 8), \

			args); \

	} \

} while(0)

#endif



#endif

%}%{

#ifdef CONFIG_CPU_FREQ

static int __lket_time_cpufreq_callback(struct notifier_block *self,

        unsigned long state, void *vfreqs)

{

	int cpu;

	unsigned long flags;

	struct cpufreq_freqs *freqs;

	unsigned int freq_mhz;

	stp_time_t *time;

	switch (state) {
        	case CPUFREQ_POSTCHANGE:
        	case CPUFREQ_RESUMECHANGE:
			_lket_trace(_GROUP_CPUFREQ, _HOOKID_SWITCH_CPUFREQ, 
				"%8b", __stp_estimate_cpufreq());
		break;
	}
	return NOTIFY_OK;
}
#endif
%}function lket_trace_header_init ()
%{

/* header info for binary format*/
#if !defined(ASCII_TRACE) 

#define MAGIC_NUMBER           0xAEFCDB6B
#define LKET_TRACE_VER_MAJOR   0x01
#define LKET_TRACE_VER_MINOR   0x01 /* used for user customization */
#define LITTLE_ENDIAN          0x01
#define BIG_ENDIAN             0x02
#define BITS_WIDTH             64     /* 32-bit or 64-bit environment*/

	_stp_printf("%4b%2n%1b%1b%1b%1b%1b%4b", (_FMT_)MAGIC_NUMBER,
		(_FMT_)LKET_TRACE_VER_MAJOR, (_FMT_)LKET_TRACE_VER_MINOR, 
		(_FMT_)BIG_ENDIAN, (_FMT_)timing_method, 
		(_FMT_)BITS_WIDTH, (_FMT_)__stp_estimate_cpufreq());
	_stp_print_flush();
#endif
%}
function lket_trace_init ()
{
lket_trace_header_init()
}
function update_record ()
%{
#if !defined(ASCII_TRACE)
	_stp_pbuf *pb = per_cpu_ptr(Stp_pbuf, smp_processor_id());
	char *total_length = &(pb->buf[0]);
	*(int16_t *)total_length = pb->len - 4;
#endif
%}

# file /usr/local/share/systemtap/tapset/LKET/netdev.stp
%{
#include <linux/netdevice.h>
%}probe addevent.netdev = addevent.netdev.receive, addevent.netdev.transmit{
}
probe addevent.netdev.receive = _addevent.netdev.receive{
update_record()
}
probe _addevent.netdev.receive = netdev.receive{
log_netdev_extra(HOOKID_NETDEV_RECEIVE, dev_name, length, protocol, truesize)
}
probe addevent.netdev.transmit = _addevent.netdev.transmit{
update_record()
}
probe _addevent.netdev.transmit = netdev.transmit{
log_netdev_extra(HOOKID_NETDEV_TRANSMIT, dev_name, length, protocol, truesize)
}
function log_netdev_extra (var_id, dev_name, len, protocol, truesize)
%{

	/* dev_name | Length of actual data | protocol | Buffer size 

	    skb->protocol is:
		0800    IP
		8100    802.1Q VLAN
		0001    802.3
		0002    AX.25
		0004    802.2
		8035    RARP
		0005    SNAP
		0805    X.25
		0806    ARP
		8137    IPX
		0009    Localtalk
		86DD    IPv6
	*/

	_lket_trace(_GROUP_NETDEV, THIS->var_id, "%0s%4b%2b%4b", THIS->dev_name,
		THIS->len, THIS->protocol, THIS->truesize);
%}

# file /usr/local/share/systemtap/tapset/LKET/nfs.stp
%{
    void getdevice(char * ,int * ,int *);
%}probe addevent.nfs = addevent.nfs.entry, addevent.nfs.return{
}
probe addevent.nfs.entry = addevent.nfs.fop.entry, addevent.nfs.aop.entry, addevent.nfs.proc.entry{
}
probe addevent.nfs.return = addevent.nfs.fop.return, addevent.nfs.aop.return, addevent.nfs.proc.return{
}
probe addevent.nfs.fop = addevent.nfs.fop.entry, addevent.nfs.fop.return{
}
probe addevent.nfs.fop.entry = addevent.nfs.fop.llseek.entry, addevent.nfs.fop.read.entry, addevent.nfs.fop.write.entry, addevent.nfs.fop.aio_read.entry, addevent.nfs.fop.aio_write.entry, addevent.nfs.fop.mmap.entry, addevent.nfs.fop.open.entry, addevent.nfs.fop.flush.entry, addevent.nfs.fop.release.entry, addevent.nfs.fop.fsync.entry, addevent.nfs.fop.lock.entry, addevent.nfs.fop.sendfile.entry, addevent.nfs.fop.check_flags.entry{
}
probe addevent.nfs.fop.return = addevent.nfs.fop.llseek.return, addevent.nfs.fop.read.return, addevent.nfs.fop.write.return, addevent.nfs.fop.aio_read.return, addevent.nfs.fop.aio_write.return, addevent.nfs.fop.mmap.return, addevent.nfs.fop.open.return, addevent.nfs.fop.flush.return, addevent.nfs.fop.release.return, addevent.nfs.fop.fsync.return, addevent.nfs.fop.lock.return, addevent.nfs.fop.sendfile.return{
}
probe addevent.nfs.fop.llseek.entry = _addevent.nfs.fop.llseek.entry{
update_record()
}
probe _addevent.nfs.fop.llseek.entry = nfs.fop.llseek{
log_fop_llseek(s_id, fileid, offset, origin)
}
probe addevent.nfs.fop.llseek.return = _addevent.nfs.fop.llseek.return{
update_record()
}
probe _addevent.nfs.fop.llseek.return = nfs.fop.llseek.return{
log_nfs_return(HOOKID_NFS_FOP_LLSEEK_RETURN, $return)
}
probe addevent.nfs.fop.read.entry = _addevent.nfs.fop.read.entry{
update_record()



	switch (state) {

        	case CPUFREQ_POSTCHANGE:

        	case CPUFREQ_RESUMECHANGE:

			_lket_trace(_GROUP_CPUFREQ, _HOOKID_SWITCH_CPUFREQ, 

				"%8b", __stp_estimate_cpufreq());

		break;

	}

	return NOTIFY_OK;

}

#endif

%}function lket_trace_header_init ()

%{



/* header info for binary format*/

#if !defined(ASCII_TRACE) 



#define MAGIC_NUMBER           0xAEFCDB6B

#define LKET_TRACE_VER_MAJOR   0x01

#define LKET_TRACE_VER_MINOR   0x01 /* used for user customization */

#define LITTLE_ENDIAN          0x01

#define BIG_ENDIAN             0x02

#define BITS_WIDTH             64     /* 32-bit or 64-bit environment*/



	_stp_printf("%4b%2n%1b%1b%1b%1b%1b%4b", (_FMT_)MAGIC_NUMBER,

		(_FMT_)LKET_TRACE_VER_MAJOR, (_FMT_)LKET_TRACE_VER_MINOR, 

		(_FMT_)BIG_ENDIAN, (_FMT_)timing_method, 

		(_FMT_)BITS_WIDTH, (_FMT_)__stp_estimate_cpufreq());

	_stp_print_flush();

#endif

%}

function lket_trace_init ()

{

lket_trace_header_init()

}

function update_record ()

%{

#if !defined(ASCII_TRACE)

	_stp_pbuf *pb = per_cpu_ptr(Stp_pbuf, smp_processor_id());

	char *total_length = &(pb->buf[0]);

	*(int16_t *)total_length = pb->len - 4;

#endif

%}



# file /usr/local/share/systemtap/tapset/LKET/netdev.stp

%{

#include <linux/netdevice.h>

%}probe addevent.netdev = addevent.netdev.receive, addevent.netdev.transmit{

}

probe addevent.netdev.receive = _addevent.netdev.receive{

update_record()

}

probe _addevent.netdev.receive = netdev.receive{

log_netdev_extra(HOOKID_NETDEV_RECEIVE, dev_name, length, protocol, truesize)

}

probe addevent.netdev.transmit = _addevent.netdev.transmit{

update_record()

}

probe _addevent.netdev.transmit = netdev.transmit{

log_netdev_extra(HOOKID_NETDEV_TRANSMIT, dev_name, length, protocol, truesize)

}

function log_netdev_extra (var_id, dev_name, len, protocol, truesize)

%{



	/* dev_name | Length of actual data | protocol | Buffer size 



	    skb->protocol is:

		0800    IP

		8100    802.1Q VLAN

		0001    802.3

		0002    AX.25

		0004    802.2

		8035    RARP

		0005    SNAP

		0805    X.25

		0806    ARP

		8137    IPX

		0009    Localtalk

		86DD    IPv6

	*/



	_lket_trace(_GROUP_NETDEV, THIS->var_id, "%0s%4b%2b%4b", THIS->dev_name,

		THIS->len, THIS->protocol, THIS->truesize);

%}



# file /usr/local/share/systemtap/tapset/LKET/nfs.stp

%{

    void getdevice(char * ,int * ,int *);

%}probe addevent.nfs = addevent.nfs.entry, addevent.nfs.return{

}

probe addevent.nfs.entry = addevent.nfs.fop.entry, addevent.nfs.aop.entry, addevent.nfs.proc.entry{

}

probe addevent.nfs.return = addevent.nfs.fop.return, addevent.nfs.aop.return, addevent.nfs.proc.return{

}

probe addevent.nfs.fop = addevent.nfs.fop.entry, addevent.nfs.fop.return{

}

probe addevent.nfs.fop.entry = addevent.nfs.fop.llseek.entry, addevent.nfs.fop.read.entry, addevent.nfs.fop.write.entry, addevent.nfs.fop.aio_read.entry, addevent.nfs.fop.aio_write.entry, addevent.nfs.fop.mmap.entry, addevent.nfs.fop.open.entry, addevent.nfs.fop.flush.entry, addevent.nfs.fop.release.entry, addevent.nfs.fop.fsync.entry, addevent.nfs.fop.lock.entry, addevent.nfs.fop.sendfile.entry, addevent.nfs.fop.check_flags.entry{

}

probe addevent.nfs.fop.return = addevent.nfs.fop.llseek.return, addevent.nfs.fop.read.return, addevent.nfs.fop.write.return, addevent.nfs.fop.aio_read.return, addevent.nfs.fop.aio_write.return, addevent.nfs.fop.mmap.return, addevent.nfs.fop.open.return, addevent.nfs.fop.flush.return, addevent.nfs.fop.release.return, addevent.nfs.fop.fsync.return, addevent.nfs.fop.lock.return, addevent.nfs.fop.sendfile.return{

}

probe addevent.nfs.fop.llseek.entry = _addevent.nfs.fop.llseek.entry{

update_record()

}

probe _addevent.nfs.fop.llseek.entry = nfs.fop.llseek{

log_fop_llseek(s_id, fileid, offset, origin)

}

probe addevent.nfs.fop.llseek.return = _addevent.nfs.fop.llseek.return{

update_record()

}

probe _addevent.nfs.fop.llseek.return = nfs.fop.llseek.return{

log_nfs_return(HOOKID_NFS_FOP_LLSEEK_RETURN, $return)

}

probe addevent.nfs.fop.read.entry = _addevent.nfs.fop.read.entry{

update_record()
}
probe _addevent.nfs.fop.read.entry = nfs.fop.read{
(filesystem) = (__file_fsname($filp))
if ((filesystem) == ("nfs")) log_fop_rw(HOOKID_NFS_FOP_READ_ENTRY, s_id, fileid, buf, len, pos)

}
probe addevent.nfs.fop.read.return = _addevent.nfs.fop.read.return{
update_record()
}
probe _addevent.nfs.fop.read.return = nfs.fop.read.return{
}
probe addevent.nfs.fop.write.entry = _addevent.nfs.fop.write.entry{
update_record()
}
probe _addevent.nfs.fop.write.entry = nfs.fop.write{
(filesystem) = (__file_fsname($filp))
if ((filesystem) == ("nfs")) log_fop_rw(HOOKID_NFS_FOP_WRITE_ENTRY, s_id, fileid, buf, len, pos)

}
probe addevent.nfs.fop.write.return = _addevent.nfs.fop.write.return{
update_record()
}
probe _addevent.nfs.fop.write.return = nfs.fop.write.return{
}
probe addevent.nfs.fop.aio_read.entry = _addevent.nfs.fop.aio_read.entry{
update_record()
}
probe _addevent.nfs.fop.aio_read.entry = nfs.fop.aio_read{
log_fop_rw(HOOKID_NFS_FOP_AIOREAD_ENTRY, s_id, fileid, buf, len, pos)
}
probe addevent.nfs.fop.aio_read.return = _addevent.nfs.fop.aio_read.return{
update_record()
}
probe _addevent.nfs.fop.aio_read.return = nfs.fop.aio_read.return{
log_nfs_return(HOOKID_NFS_FOP_AIOREAD_RETURN, $return)
}
probe addevent.nfs.fop.aio_write.entry = _addevent.nfs.fop.aio_write.entry{
update_record()
}
probe _addevent.nfs.fop.aio_write.entry = nfs.fop.aio_write{
log_fop_rw(HOOKID_NFS_FOP_AIOWRITE, s_id, fileid, buf, len, pos)
}
probe addevent.nfs.fop.aio_write.return = _addevent.nfs.fop.aio_write.return{
update_record()
}
probe _addevent.nfs.fop.aio_write.return = nfs.fop.aio_write.return{
log_nfs_return(HOOKID_NFS_FOP_AIOWRITE_RETURN, $return)
}
probe addevent.nfs.fop.mmap.entry = _addevent.nfs.fop.mmap.entry{
update_record()
}
probe _addevent.nfs.fop.mmap.entry = nfs.fop.mmap{
log_fop_mmap(s_id, fileid, vm_start, vm_end, vm_flags)
}
probe addevent.nfs.fop.mmap.return = _addevent.nfs.fop.mmap.return{
update_record()
}
probe _addevent.nfs.fop.mmap.return = nfs.fop.mmap.return{
log_nfs_return(HOOKID_NFS_FOP_MMAP_RETURN, $return)
}
probe addevent.nfs.fop.open.entry = _addevent.nfs.fop.open.entry{
update_record()
}
probe _addevent.nfs.fop.open.entry = nfs.fop.open{
log_fop_open(s_id, fileid, flag, filename)
}
probe addevent.nfs.fop.open.return = _addevent.nfs.fop.open.return{
update_record()
}
probe _addevent.nfs.fop.open.return = nfs.fop.open.return{
log_nfs_return(HOOKID_NFS_FOP_OPEN_RETURN, $return)
}
probe addevent.nfs.fop.flush.entry = _addevent.nfs.fop.flush.entry{
update_record()
}
probe _addevent.nfs.fop.flush.entry = nfs.fop.flush{
log_fop_flush(s_id, fileid, ndirty)
}
probe addevent.nfs.fop.flush.return = _addevent.nfs.fop.flush.return{
update_record()
}
probe _addevent.nfs.fop.flush.return = nfs.fop.flush.return{
log_nfs_return(HOOKID_NFS_FOP_FLUSH_RETURN, $return)
}
probe addevent.nfs.fop.release.entry = _addevent.nfs.fop.release.entry{
update_record()
}
probe _addevent.nfs.fop.release.entry = nfs.fop.release{
log_fop_release(s_id, fileid, mode)
}
probe addevent.nfs.fop.release.return = _addevent.nfs.fop.release.return{
update_record()
}
probe _addevent.nfs.fop.release.return = nfs.fop.release.return{
log_nfs_return(HOOKID_NFS_FOP_RELEASE_RETURN, $return)
}
probe addevent.nfs.fop.fsync.entry = _addevent.nfs.fop.fsync.entry{
update_record()
}
probe _addevent.nfs.fop.fsync.entry = nfs.fop.fsync{
log_fop_fsync(s_id, fileid, ndirty)
}
probe addevent.nfs.fop.fsync.return = _addevent.nfs.fop.fsync.return{
update_record()
}
probe _addevent.nfs.fop.fsync.return = nfs.fop.fsync.return{
log_nfs_return(HOOKID_NFS_FOP_FSYNC_RETURN, $return)
}
probe addevent.nfs.fop.lock.entry = _addevent.nfs.fop.lock.entry{
update_record()
}
probe _addevent.nfs.fop.lock.entry = nfs.fop.lock{
log_fop_lock(s_id, fileid, fl_start, fl_end, fl_type, fl_flag, cmd)
}
probe addevent.nfs.fop.lock.return = _addevent.nfs.fop.lock.return{
update_record()
}
probe _addevent.nfs.fop.lock.return = nfs.fop.lock.return{
log_nfs_return(HOOKID_NFS_FOP_LOCK_RETURN, $r
}

probe _addevent.nfs.fop.read.entry = nfs.fop.read{

(filesystem) = (__file_fsname($filp))

if ((filesystem) == ("nfs")) log_fop_rw(HOOKID_NFS_FOP_READ_ENTRY, s_id, fileid, buf, len, pos)



}

probe addevent.nfs.fop.read.return = _addevent.nfs.fop.read.return{

update_record()

}

probe _addevent.nfs.fop.read.return = nfs.fop.read.return{

}

probe addevent.nfs.fop.write.entry = _addevent.nfs.fop.write.entry{

update_record()

}

probe _addevent.nfs.fop.write.entry = nfs.fop.write{

(filesystem) = (__file_fsname($filp))

if ((filesystem) == ("nfs")) log_fop_rw(HOOKID_NFS_FOP_WRITE_ENTRY, s_id, fileid, buf, len, pos)



}

probe addevent.nfs.fop.write.return = _addevent.nfs.fop.write.return{

update_record()

}

probe _addevent.nfs.fop.write.return = nfs.fop.write.return{

}

probe addevent.nfs.fop.aio_read.entry = _addevent.nfs.fop.aio_read.entry{

update_record()

}

probe _addevent.nfs.fop.aio_read.entry = nfs.fop.aio_read{

log_fop_rw(HOOKID_NFS_FOP_AIOREAD_ENTRY, s_id, fileid, buf, len, pos)

}

probe addevent.nfs.fop.aio_read.return = _addevent.nfs.fop.aio_read.return{

update_record()

}

probe _addevent.nfs.fop.aio_read.return = nfs.fop.aio_read.return{

log_nfs_return(HOOKID_NFS_FOP_AIOREAD_RETURN, $return)

}

probe addevent.nfs.fop.aio_write.entry = _addevent.nfs.fop.aio_write.entry{

update_record()

}

probe _addevent.nfs.fop.aio_write.entry = nfs.fop.aio_write{

log_fop_rw(HOOKID_NFS_FOP_AIOWRITE, s_id, fileid, buf, len, pos)

}

probe addevent.nfs.fop.aio_write.return = _addevent.nfs.fop.aio_write.return{

update_record()

}

probe _addevent.nfs.fop.aio_write.return = nfs.fop.aio_write.return{

log_nfs_return(HOOKID_NFS_FOP_AIOWRITE_RETURN, $return)

}

probe addevent.nfs.fop.mmap.entry = _addevent.nfs.fop.mmap.entry{

update_record()

}

probe _addevent.nfs.fop.mmap.entry = nfs.fop.mmap{

log_fop_mmap(s_id, fileid, vm_start, vm_end, vm_flags)

}

probe addevent.nfs.fop.mmap.return = _addevent.nfs.fop.mmap.return{

update_record()

}

probe _addevent.nfs.fop.mmap.return = nfs.fop.mmap.return{

log_nfs_return(HOOKID_NFS_FOP_MMAP_RETURN, $return)

}

probe addevent.nfs.fop.open.entry = _addevent.nfs.fop.open.entry{

update_record()

}

probe _addevent.nfs.fop.open.entry = nfs.fop.open{

log_fop_open(s_id, fileid, flag, filename)

}

probe addevent.nfs.fop.open.return = _addevent.nfs.fop.open.return{

update_record()

}

probe _addevent.nfs.fop.open.return = nfs.fop.open.return{

log_nfs_return(HOOKID_NFS_FOP_OPEN_RETURN, $return)

}

probe addevent.nfs.fop.flush.entry = _addevent.nfs.fop.flush.entry{

update_record()

}

probe _addevent.nfs.fop.flush.entry = nfs.fop.flush{

log_fop_flush(s_id, fileid, ndirty)

}

probe addevent.nfs.fop.flush.return = _addevent.nfs.fop.flush.return{

update_record()

}

probe _addevent.nfs.fop.flush.return = nfs.fop.flush.return{

log_nfs_return(HOOKID_NFS_FOP_FLUSH_RETURN, $return)

}

probe addevent.nfs.fop.release.entry = _addevent.nfs.fop.release.entry{

update_record()

}

probe _addevent.nfs.fop.release.entry = nfs.fop.release{

log_fop_release(s_id, fileid, mode)

}

probe addevent.nfs.fop.release.return = _addevent.nfs.fop.release.return{

update_record()

}

probe _addevent.nfs.fop.release.return = nfs.fop.release.return{

log_nfs_return(HOOKID_NFS_FOP_RELEASE_RETURN, $return)

}

probe addevent.nfs.fop.fsync.entry = _addevent.nfs.fop.fsync.entry{

update_record()

}

probe _addevent.nfs.fop.fsync.entry = nfs.fop.fsync{

log_fop_fsync(s_id, fileid, ndirty)

}

probe addevent.nfs.fop.fsync.return = _addevent.nfs.fop.fsync.return{

update_record()

}

probe _addevent.nfs.fop.fsync.return = nfs.fop.fsync.return{

log_nfs_return(HOOKID_NFS_FOP_FSYNC_RETURN, $return)

}

probe addevent.nfs.fop.lock.entry = _addevent.nfs.fop.lock.entry{

update_record()

}

probe _addevent.nfs.fop.lock.entry = nfs.fop.lock{

log_fop_lock(s_id, fileid, fl_start, fl_end, fl_type, fl_flag, cmd)

}

probe addevent.nfs.fop.lock.return = _addevent.nfs.fop.lock.return{

update_record()

}

probe _addevent.nfs.fop.lock.return = nfs.fop.lock.return{
eturn)
}
probe addevent.nfs.fop.sendfile.entry = _addevent.nfs.fop.sendfile.entry{
update_record()
}
probe _addevent.nfs.fop.sendfile.entry = nfs.fop.sendfile{
log_fop_sendfile(s_id, fileid, count, ppos)
}
probe addevent.nfs.fop.sendfile.return = _addevent.nfs.fop.sendfile.return{
update_record()
}
probe _addevent.nfs.fop.sendfile.return = nfs.fop.sendfile.return{
log_nfs_return(HOOKID_NFS_FOP_SENDFILE_RETURN, $return)
}
probe addevent.nfs.fop.check_flags.entry = _addevent.nfs.fop.check_flags.entry{
update_record()
}
probe _addevent.nfs.fop.check_flags.entry = nfs.fop.check_flags{
log_fop_check_flags(flag)
}
probe addevent.nfs.aop = addevent.nfs.aop.entry, addevent.nfs.aop.return{
}
probe addevent.nfs.aop.entry = addevent.nfs.aop.readpage.entry, addevent.nfs.aop.readpages.entry, addevent.nfs.aop.writepage.entry, addevent.nfs.aop.writepages.entry, addevent.nfs.aop.release_page.entry?, addevent.nfs.aop.set_page_dirty.entry, addevent.nfs.aop.prepare_write.entry, addevent.nfs.aop.commit_write.entry{
}
probe addevent.nfs.aop.return = addevent.nfs.aop.readpage.return, addevent.nfs.aop.readpages.return, addevent.nfs.aop.writepage.return, addevent.nfs.aop.writepages.return, addevent.nfs.aop.release_page.return?, addevent.nfs.aop.set_page_dirty.return, addevent.nfs.aop.prepare_write.return, addevent.nfs.aop.commit_write.return{
}
probe addevent.nfs.aop.readpages.entry = _addevent.nfs.aop.readpages.entry{
update_record()
}
probe _addevent.nfs.aop.readpages.entry = nfs.aop.readpages{
log_aop_readpages(fileid, rpages, nr_pages)
}
probe addevent.nfs.aop.readpages.return = _addevent.nfs.aop.readpages.return{
update_record()
}
probe _addevent.nfs.aop.readpages.return = nfs.aop.readpages.return{
log_nfs_return(HOOKID_NFS_AOP_READPAGES_RETURN, $return)
}
probe addevent.nfs.aop.readpage.entry = _addevent.nfs.aop.readpage.entry{
update_record()
}
probe _addevent.nfs.aop.readpage.entry = nfs.aop.readpage{
log_aop_readpage(fileid, rsize, __page, page_index)
}
probe addevent.nfs.aop.readpage.return = _addevent.nfs.aop.readpage.return{
update_record()
}
probe _addevent.nfs.aop.readpage.return = nfs.aop.readpage.return{
log_nfs_return(HOOKID_NFS_AOP_READPAGE_RETURN, $return)
}
probe addevent.nfs.aop.writepage.entry = _addevent.nfs.aop.writepage.entry{
update_record()
}
probe _addevent.nfs.aop.writepage.entry = nfs.aop.writepage{
log_aop_writepage(fileid, wsize, __page, page_index)
}
probe addevent.nfs.aop.writepage.return = _addevent.nfs.aop.writepage.return{
update_record()
}
probe _addevent.nfs.aop.writepage.return = nfs.aop.writepage.return{
log_nfs_return(HOOKID_NFS_AOP_WRITEPAGE_RETURN, $return)
}
probe addevent.nfs.aop.writepages.entry = _addevent.nfs.aop.writepages.entry{
update_record()
}
probe _addevent.nfs.aop.writepages.entry = nfs.aop.writepages{
log_aop_writepages(fileid, wpages, nr_to_write)
}
probe addevent.nfs.aop.writepages.return = _addevent.nfs.aop.writepages.return{
update_record()
}
probe _addevent.nfs.aop.writepages.return = nfs.aop.writepages.return{
log_nfs_return(HOOKID_NFS_AOP_WRITEPAGES_RETURN, $return)
}
probe addevent.nfs.aop.prepare_write.entry = _addevent.nfs.aop.prepare_write.entry{
update_record()
}
probe _addevent.nfs.aop.prepare_write.entry = nfs.aop.prepare_write{
log_aop_prepare_write(fileid, __page, page_index)
}
probe addevent.nfs.aop.prepare_write.return = _addevent.nfs.aop.prepare_write.return{
update_record()
}
probe _addevent.nfs.aop.prepare_write.return = nfs.aop.prepare_write.return{
log_nfs_return(HOOKID_NFS_AOP_PREPAREWRITE_RETURN, $return)
}
probe addevent.nfs.aop.commit_write.entry = _addevent.nfs.aop.commit_write.entry{
update_record()
}
probe _addevent.nfs.aop.commit_write.entry = nfs.aop.commit_write{
log_aop_commit_write(fileid, __page, page_index, offset, count)
}
probe addevent.nfs.aop.commit_write.return = _addevent.nfs.aop.commit_write.return{
update_record()
}
probe _addevent.nfs.aop.commit_write.return = nfs.aop.commit_write.return{
log_nfs_return(HOOKID_NFS_AOP_COMMITWRITE_RETURN, $return)
log_nfs_return(HOOKID_NFS_FOP_LOCK_RETURN, $return)

}

probe addevent.nfs.fop.sendfile.entry = _addevent.nfs.fop.sendfile.entry{

update_record()

}

probe _addevent.nfs.fop.sendfile.entry = nfs.fop.sendfile{

log_fop_sendfile(s_id, fileid, count, ppos)

}

probe addevent.nfs.fop.sendfile.return = _addevent.nfs.fop.sendfile.return{

update_record()

}

probe _addevent.nfs.fop.sendfile.return = nfs.fop.sendfile.return{

log_nfs_return(HOOKID_NFS_FOP_SENDFILE_RETURN, $return)

}

probe addevent.nfs.fop.check_flags.entry = _addevent.nfs.fop.check_flags.entry{

update_record()

}

probe _addevent.nfs.fop.check_flags.entry = nfs.fop.check_flags{

log_fop_check_flags(flag)

}

probe addevent.nfs.aop = addevent.nfs.aop.entry, addevent.nfs.aop.return{

}

probe addevent.nfs.aop.entry = addevent.nfs.aop.readpage.entry, addevent.nfs.aop.readpages.entry, addevent.nfs.aop.writepage.entry, addevent.nfs.aop.writepages.entry, addevent.nfs.aop.release_page.entry?, addevent.nfs.aop.set_page_dirty.entry, addevent.nfs.aop.prepare_write.entry, addevent.nfs.aop.commit_write.entry{

}

probe addevent.nfs.aop.return = addevent.nfs.aop.readpage.return, addevent.nfs.aop.readpages.return, addevent.nfs.aop.writepage.return, addevent.nfs.aop.writepages.return, addevent.nfs.aop.release_page.return?, addevent.nfs.aop.set_page_dirty.return, addevent.nfs.aop.prepare_write.return, addevent.nfs.aop.commit_write.return{

}

probe addevent.nfs.aop.readpages.entry = _addevent.nfs.aop.readpages.entry{

update_record()

}

probe _addevent.nfs.aop.readpages.entry = nfs.aop.readpages{

log_aop_readpages(fileid, rpages, nr_pages)

}

probe addevent.nfs.aop.readpages.return = _addevent.nfs.aop.readpages.return{

update_record()

}

probe _addevent.nfs.aop.readpages.return = nfs.aop.readpages.return{

log_nfs_return(HOOKID_NFS_AOP_READPAGES_RETURN, $return)

}

probe addevent.nfs.aop.readpage.entry = _addevent.nfs.aop.readpage.entry{

update_record()

}

probe _addevent.nfs.aop.readpage.entry = nfs.aop.readpage{

log_aop_readpage(fileid, rsize, __page, page_index)

}

probe addevent.nfs.aop.readpage.return = _addevent.nfs.aop.readpage.return{

update_record()

}

probe _addevent.nfs.aop.readpage.return = nfs.aop.readpage.return{

log_nfs_return(HOOKID_NFS_AOP_READPAGE_RETURN, $return)

}

probe addevent.nfs.aop.writepage.entry = _addevent.nfs.aop.writepage.entry{

update_record()

}

probe _addevent.nfs.aop.writepage.entry = nfs.aop.writepage{

log_aop_writepage(fileid, wsize, __page, page_index)

}

probe addevent.nfs.aop.writepage.return = _addevent.nfs.aop.writepage.return{

update_record()

}

probe _addevent.nfs.aop.writepage.return = nfs.aop.writepage.return{

log_nfs_return(HOOKID_NFS_AOP_WRITEPAGE_RETURN, $return)

}

probe addevent.nfs.aop.writepages.entry = _addevent.nfs.aop.writepages.entry{

update_record()

}

probe _addevent.nfs.aop.writepages.entry = nfs.aop.writepages{

log_aop_writepages(fileid, wpages, nr_to_write)

}

probe addevent.nfs.aop.writepages.return = _addevent.nfs.aop.writepages.return{

update_record()

}

probe _addevent.nfs.aop.writepages.return = nfs.aop.writepages.return{

log_nfs_return(HOOKID_NFS_AOP_WRITEPAGES_RETURN, $return)

}

probe addevent.nfs.aop.prepare_write.entry = _addevent.nfs.aop.prepare_write.entry{

update_record()

}

probe _addevent.nfs.aop.prepare_write.entry = nfs.aop.prepare_write{

log_aop_prepare_write(fileid, __page, page_index)

}

probe addevent.nfs.aop.prepare_write.return = _addevent.nfs.aop.prepare_write.return{

update_record()

}

probe _addevent.nfs.aop.prepare_write.return = nfs.aop.prepare_write.return{

log_nfs_return(HOOKID_NFS_AOP_PREPAREWRITE_RETURN, $return)

}

probe addevent.nfs.aop.commit_write.entry = _addevent.nfs.aop.commit_write.entry{

update_record()

}

probe _addevent.nfs.aop.commit_write.entry = nfs.aop.commit_write{

log_aop_commit_write(fileid, __page, page_index, offset, count)

}

probe addevent.nfs.aop.commit_write.return = _addevent.nfs.aop.commit_write.return{

update_record()

}

probe _addevent.nfs.aop.commit_write.return = nfs.aop.commit_write.return{

}
probe addevent.nfs.aop.set_page_dirty.entry = _addevent.nfs.aop.set_page_dirty.entry{
update_record()
}
probe _addevent.nfs.aop.set_page_dirty.entry = nfs.aop.set_page_dirty{
log_aop_set_page_dirty(__page, page_flag)
}
probe addevent.nfs.aop.set_page_dirty.return = _addevent.nfs.aop.set_page_dirty.return{
update_record()
}
probe _addevent.nfs.aop.set_page_dirty.return = nfs.aop.set_page_dirty.return{
log_nfs_return(HOOKID_NFS_AOP_SETPAGEDIRTY_RETURN, $return)
}
probe addevent.nfs.aop.release_page.entry = _addevent.nfs.aop.release_page.entry{
update_record()
}
probe _addevent.nfs.aop.release_page.entry = nfs.aop.release_page{
log_aop_release_page(__page, page_index)
}
probe addevent.nfs.aop.release_page.return = _addevent.nfs.aop.release_page.return{
update_record()
}
probe _addevent.nfs.aop.release_page.return = nfs.aop.release_page.return{
log_nfs_return(HOOKID_NFS_AOP_RELEASEPAGE_RETURN, $return)
}
probe never{
printf("%d", GROUP_NFS)
}
function __file_fsname (file)
%{ /* pure */
	struct file *file = (struct file *)(long)THIS->file;
	if ((file == NULL) 
		|| (file->f_dentry == NULL) 
		|| (file->f_dentry->d_inode == NULL))
		strlcpy(THIS->__retvalue, "NULL", MAXSTRINGLEN);
	else {
		strlcpy(THIS->__retvalue, file->f_dentry->d_inode->i_sb->s_type->name, MAXSTRINGLEN);
	}
%}
function log_nfs_return (hookid, ret_val)
%{
	_lket_trace(_GROUP_NFS,THIS->hookid,"%4b",THIS->ret_val);
%}
function log_fop_llseek (s_id, ino, offset, origin)
%{ /*pure*/
	char * s_id = (char *)((long)THIS->s_id);
	int major,minor;

	getdevice(s_id,&major,&minor);
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_LLSEEK_ENTRY,"%1b%1b%8b%8b%1b",(_FMT_)major,(_FMT_)minor,
			                            THIS->ino,THIS->offset,THIS->origin);
%}
function log_fop_rw (hookid, s_id, ino, buf, len, pos)
%{ /*pure*/
	char * s_id = (char *)((long)THIS->s_id);
	int major,minor;

	getdevice(s_id,&major,&minor);
	_lket_trace(_GROUP_NFS,THIS->hookid,"%1b%1b%8b%8b%8b%8b",(_FMT_)major,(_FMT_)minor,
			           THIS->ino,THIS->buf,THIS->len,THIS->pos);	
%}
function log_fop_mmap (s_id, ino, vm_start, vm_end, vm_flags)
%{/*pure*/
	char * s_id = (char *)((long)THIS->s_id);
	int major,minor;

	getdevice(s_id,&major,&minor);
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_MMAP_ENTRY,"%1b%1b%8b%8b%8b%4b",
		(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->vm_start,
		THIS->vm_end,THIS->vm_flags);
%}
function log_fop_open (s_id, ino, flag, filename)
%{/*pure*/
	char * s_id = (char *)((long)THIS->s_id);
	int major,minor;

	getdevice(s_id,&major,&minor);
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_OPEN_ENTRY,"%1b%1b%8b%4b%0s",
		(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->flag,THIS->filename);
%}
function log_fop_flush (s_id, ino, ndirty)
%{/*pure*/
	char * s_id = (char *)((long)THIS->s_id);
	int major,minor;

	getdevice(s_id,&major,&minor);
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_FLUSH_ENTRY,"%1b%1b%8b%4b",
		(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->ndirty);
%}
function log_fop_release (s_id, ino, mode)
%{/*pure*/
	char * s_id = (char *)((long)THIS->s_id);
	int major,minor;

	getdevice(s_id,&major,&minor);
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_RELEASE_ENTRY,"%1b%1b%8b%2b",
		(_FMT_)major,(_FMT_)minor,
		THIS->ino,THIS->mode);
%}
function log_fop_fsync (s_id, ino, ndirty)
%{/*pure*/
	char * s_id = (char *)((long)THIS->s_id);
	int major,minor;

	getdevice(s_id,&major,&minor);
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_FSYNC_ENTRY,"%1b%1b%8b%4b",
		(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->ndirty);
%}
function log_fop_lock (s_id, ino, fl_start, fl_end, fl_type, fl_flag, cmd)
%{/*pure*/
	char * s_id = (char *)((long)THIS->s_id);
	int major,minor;

	getdevice(s_id,&major,&minor);
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_LOCK_ENTRY,"%1b%1b%8b%8b%8b%1b%1b%4b",
		(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->fl_start,THIS->fl_end,
		THIS->fl_type,THIS->fl_flag,THIS->cmd);
%}
function log_fop_sendfile (s_id, ino, count, ppos)
%{/*pure*/
	char * s_id = (char *)((long)THIS->s_id);
	int major
log_nfs_return(HOOKID_NFS_AOP_COMMITWRITE_RETURN, $return)

}

probe addevent.nfs.aop.set_page_dirty.entry = _addevent.nfs.aop.set_page_dirty.entry{

update_record()

}

probe _addevent.nfs.aop.set_page_dirty.entry = nfs.aop.set_page_dirty{

log_aop_set_page_dirty(__page, page_flag)

}

probe addevent.nfs.aop.set_page_dirty.return = _addevent.nfs.aop.set_page_dirty.return{

update_record()

}

probe _addevent.nfs.aop.set_page_dirty.return = nfs.aop.set_page_dirty.return{

log_nfs_return(HOOKID_NFS_AOP_SETPAGEDIRTY_RETURN, $return)

}

probe addevent.nfs.aop.release_page.entry = _addevent.nfs.aop.release_page.entry{

update_record()

}

probe _addevent.nfs.aop.release_page.entry = nfs.aop.release_page{

log_aop_release_page(__page, page_index)

}

probe addevent.nfs.aop.release_page.return = _addevent.nfs.aop.release_page.return{

update_record()

}

probe _addevent.nfs.aop.release_page.return = nfs.aop.release_page.return{

log_nfs_return(HOOKID_NFS_AOP_RELEASEPAGE_RETURN, $return)

}

probe never{

printf("%d", GROUP_NFS)

}

function __file_fsname (file)

%{ /* pure */

	struct file *file = (struct file *)(long)THIS->file;

	if ((file == NULL) 

		|| (file->f_dentry == NULL) 

		|| (file->f_dentry->d_inode == NULL))

		strlcpy(THIS->__retvalue, "NULL", MAXSTRINGLEN);

	else {

		strlcpy(THIS->__retvalue, file->f_dentry->d_inode->i_sb->s_type->name, MAXSTRINGLEN);

	}

%}

function log_nfs_return (hookid, ret_val)

%{

	_lket_trace(_GROUP_NFS,THIS->hookid,"%4b",THIS->ret_val);

%}

function log_fop_llseek (s_id, ino, offset, origin)

%{ /*pure*/

	char * s_id = (char *)((long)THIS->s_id);

	int major,minor;



	getdevice(s_id,&major,&minor);

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_LLSEEK_ENTRY,"%1b%1b%8b%8b%1b",(_FMT_)major,(_FMT_)minor,

			                            THIS->ino,THIS->offset,THIS->origin);

%}

function log_fop_rw (hookid, s_id, ino, buf, len, pos)

%{ /*pure*/

	char * s_id = (char *)((long)THIS->s_id);

	int major,minor;



	getdevice(s_id,&major,&minor);

	_lket_trace(_GROUP_NFS,THIS->hookid,"%1b%1b%8b%8b%8b%8b",(_FMT_)major,(_FMT_)minor,

			           THIS->ino,THIS->buf,THIS->len,THIS->pos);	

%}

function log_fop_mmap (s_id, ino, vm_start, vm_end, vm_flags)

%{/*pure*/

	char * s_id = (char *)((long)THIS->s_id);

	int major,minor;



	getdevice(s_id,&major,&minor);

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_MMAP_ENTRY,"%1b%1b%8b%8b%8b%4b",

		(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->vm_start,

		THIS->vm_end,THIS->vm_flags);

%}

function log_fop_open (s_id, ino, flag, filename)

%{/*pure*/

	char * s_id = (char *)((long)THIS->s_id);

	int major,minor;



	getdevice(s_id,&major,&minor);

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_OPEN_ENTRY,"%1b%1b%8b%4b%0s",

		(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->flag,THIS->filename);

%}

function log_fop_flush (s_id, ino, ndirty)

%{/*pure*/

	char * s_id = (char *)((long)THIS->s_id);

	int major,minor;



	getdevice(s_id,&major,&minor);

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_FLUSH_ENTRY,"%1b%1b%8b%4b",

		(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->ndirty);

%}

function log_fop_release (s_id, ino, mode)

%{/*pure*/

	char * s_id = (char *)((long)THIS->s_id);

	int major,minor;



	getdevice(s_id,&major,&minor);

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_RELEASE_ENTRY,"%1b%1b%8b%2b",

		(_FMT_)major,(_FMT_)minor,

		THIS->ino,THIS->mode);

%}

function log_fop_fsync (s_id, ino, ndirty)

%{/*pure*/

	char * s_id = (char *)((long)THIS->s_id);

	int major,minor;



	getdevice(s_id,&major,&minor);

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_FSYNC_ENTRY,"%1b%1b%8b%4b",

		(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->ndirty);

%}

function log_fop_lock (s_id, ino, fl_start, fl_end, fl_type, fl_flag, cmd)

%{/*pure*/

	char * s_id = (char *)((long)THIS->s_id);

	int major,minor;



	getdevice(s_id,&major,&minor);

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_LOCK_ENTRY,"%1b%1b%8b%8b%8b%1b%1b%4b",

		(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->fl_start,THIS->fl_end,

		THIS->fl_type,THIS->fl_flag,THIS->cmd);

%}

function log_fop_sendfile (s_id, ino, count, ppos)

%{/*pure*/

	char * s_id = (char *)((long)THIS->s_id);
,minor;

	getdevice(s_id,&major,&minor);
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_SENDFILE_ENTRY,"%1b%1b%8b%8b%8b",
		(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->count,THIS->ppos);
%}
function log_fop_check_flags (flag)
%{/*pure*/
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_CHECKFLAGS_ENTRY,"%4b",THIS->flag);
%}
function log_aop_readpages (ino, rpages, nr_pages)
%{/*pure*/
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_READPAGES_ENTRY,"%8b%4b%4b",
		THIS->ino,THIS->rpages,THIS->nr_pages);
%}
function log_aop_readpage (ino, rsize, __page, page_index)
%{/*pure*/
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_READPAGE_ENTRY,"%8b%4b%8b%8b",
		THIS->ino,THIS->rsize,THIS->__page,THIS->page_index);
%}
function log_aop_writepage (ino, wsize, __page, page_index)
%{/*pure*/
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_WRITEPAGE_ENTRY,"%8b%4b%8b%8b",
		THIS->ino,THIS->wsize,THIS->__page,THIS->page_index);
%}
function log_aop_writepages (ino, wpages, nr_to_write)
%{/*pure*/
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_WRITEPAGES_ENTRY,"%8b%4b%8b",
		THIS->ino,THIS->wpages,THIS->nr_to_write);
%}
function log_aop_prepare_write (ino, __page, page_index)
%{/*pure*/
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_PREPAREWRITE_ENTRY,"%8b%8b%8b",
		THIS->ino,THIS->__page,THIS->page_index);
%}
function log_aop_commit_write (ino, __page, page_index, offset, count)
%{/*pure*/
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_COMMITWRITE_ENTRY,"%8b%8b%8b%4b%4b",
		THIS->ino,THIS->__page, THIS->page_index,THIS->offset,THIS->count);
%}
function log_aop_set_page_dirty (__page, page_flag)
%{/*pure*/
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_SETPAGEDIRTY_ENTRY,"%8b%1b",
		THIS->__page,THIS->page_flag);
%}
function log_aop_release_page (__page, page_index)
%{/*pure*/
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_RELEASEPAGE_ENTRY,"%8b%8b",
		THIS->__page,THIS->page_index);
%}

# file /usr/local/share/systemtap/tapset/LKET/nfs_proc.stp
%{
#include <linux/nfs_fs.h>

void getdevice(char *sid,int * major,int* min)
{
	char c;
	char * minor, *p;
	int i = 0;

	c = ':';
	minor = strchr(sid,c);
	minor++;

	p = sid;
	c = *p;
	p++;
	while(c != ':')
	{
		if(c > '0' || c < '9')
			i = i << 4 | (c - 48);
		else if (c > 'a' || c < 'f')
			i = i<< 4 | (c-87);
		c = *p;
		p++;
	}
	*major = i;

	p = minor;
	c = *minor;
	p++;
	while(c != 0)
	{
		if(c > '0' || c < '9')
			i = i << 4 | (c - 48);
		else if (c > 'a' || c < 'f')
			i = i<< 4 | (c-87);
		c = *p;
		p++;
	}
	*min = i;
}
%}probe addevent.nfs.proc = addevent.nfs.proc.entry, addevent.nfs.proc.return{
}
probe addevent.nfs.proc.entry = addevent.nfs.proc.lookup.entry, addevent.nfs.proc.read.entry, addevent.nfs.proc.write.entry, addevent.nfs.proc.commit.entry, addevent.nfs.proc.read_setup.entry, addevent.nfs.proc.write_setup.entry, addevent.nfs.proc.commit_setup.entry, addevent.nfs.proc.read_done.entry, addevent.nfs.proc.write_done.entry, addevent.nfs.proc.commit_done.entry, addevent.nfs.proc.open.entry, addevent.nfs.proc.release.entry, addevent.nfs.proc.create.entry, addevent.nfs.proc.rename.entry, addevent.nfs.proc.remove.entry{
}
probe addevent.nfs.proc.return = addevent.nfs.proc.lookup.return, addevent.nfs.proc.read.return, addevent.nfs.proc.write.return, addevent.nfs.proc.commit.return, addevent.nfs.proc.read_done.return, addevent.nfs.proc.write_done.return, addevent.nfs.proc.commit_done.return, addevent.nfs.proc.open.return, addevent.nfs.proc.release.return, addevent.nfs.proc.create.return, addevent.nfs.proc.rename.return, addevent.nfs.proc.remove.return{
}
probe addevent.nfs.proc.lookup.entry = _addevent.nfs.proc.lookup.entry{
update_record()
}
probe _addevent.nfs.proc.lookup.entry = nfs.proc.lookup{
log_proc_lookup(version, $dir, filename)
}
probe addevent.nfs.proc.lookup.return = _addevent.nfs.proc.lookup.return{
update_record()
}
probe _addevent.nfs.proc.lookup.return = nfs.proc.lookup.return{
log_nfs_return(HOOKID_NFS_PROC_LOOKUP_RETURN, $return)
}
probe addevent.nfs.proc.read.entry = _addevent.nfs.proc.read.entry{
update_record()
}
probe _addeven
	int major,minor;



	getdevice(s_id,&major,&minor);

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_SENDFILE_ENTRY,"%1b%1b%8b%8b%8b",

		(_FMT_)major,(_FMT_)minor, THIS->ino,THIS->count,THIS->ppos);

%}

function log_fop_check_flags (flag)

%{/*pure*/

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_FOP_CHECKFLAGS_ENTRY,"%4b",THIS->flag);

%}

function log_aop_readpages (ino, rpages, nr_pages)

%{/*pure*/

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_READPAGES_ENTRY,"%8b%4b%4b",

		THIS->ino,THIS->rpages,THIS->nr_pages);

%}

function log_aop_readpage (ino, rsize, __page, page_index)

%{/*pure*/

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_READPAGE_ENTRY,"%8b%4b%8b%8b",

		THIS->ino,THIS->rsize,THIS->__page,THIS->page_index);

%}

function log_aop_writepage (ino, wsize, __page, page_index)

%{/*pure*/

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_WRITEPAGE_ENTRY,"%8b%4b%8b%8b",

		THIS->ino,THIS->wsize,THIS->__page,THIS->page_index);

%}

function log_aop_writepages (ino, wpages, nr_to_write)

%{/*pure*/

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_WRITEPAGES_ENTRY,"%8b%4b%8b",

		THIS->ino,THIS->wpages,THIS->nr_to_write);

%}

function log_aop_prepare_write (ino, __page, page_index)

%{/*pure*/

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_PREPAREWRITE_ENTRY,"%8b%8b%8b",

		THIS->ino,THIS->__page,THIS->page_index);

%}

function log_aop_commit_write (ino, __page, page_index, offset, count)

%{/*pure*/

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_COMMITWRITE_ENTRY,"%8b%8b%8b%4b%4b",

		THIS->ino,THIS->__page, THIS->page_index,THIS->offset,THIS->count);

%}

function log_aop_set_page_dirty (__page, page_flag)

%{/*pure*/

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_SETPAGEDIRTY_ENTRY,"%8b%1b",

		THIS->__page,THIS->page_flag);

%}

function log_aop_release_page (__page, page_index)

%{/*pure*/

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_AOP_RELEASEPAGE_ENTRY,"%8b%8b",

		THIS->__page,THIS->page_index);

%}



# file /usr/local/share/systemtap/tapset/LKET/nfs_proc.stp

%{

#include <linux/nfs_fs.h>



void getdevice(char *sid,int * major,int* min)

{

	char c;

	char * minor, *p;

	int i = 0;



	c = ':';

	minor = strchr(sid,c);

	minor++;



	p = sid;

	c = *p;

	p++;

	while(c != ':')

	{

		if(c > '0' || c < '9')

			i = i << 4 | (c - 48);

		else if (c > 'a' || c < 'f')

			i = i<< 4 | (c-87);

		c = *p;

		p++;

	}

	*major = i;



	p = minor;

	c = *minor;

	p++;

	while(c != 0)

	{

		if(c > '0' || c < '9')

			i = i << 4 | (c - 48);

		else if (c > 'a' || c < 'f')

			i = i<< 4 | (c-87);

		c = *p;

		p++;

	}

	*min = i;

}

%}probe addevent.nfs.proc = addevent.nfs.proc.entry, addevent.nfs.proc.return{

}

probe addevent.nfs.proc.entry = addevent.nfs.proc.lookup.entry, addevent.nfs.proc.read.entry, addevent.nfs.proc.write.entry, addevent.nfs.proc.commit.entry, addevent.nfs.proc.read_setup.entry, addevent.nfs.proc.write_setup.entry, addevent.nfs.proc.commit_setup.entry, addevent.nfs.proc.read_done.entry, addevent.nfs.proc.write_done.entry, addevent.nfs.proc.commit_done.entry, addevent.nfs.proc.open.entry, addevent.nfs.proc.release.entry, addevent.nfs.proc.create.entry, addevent.nfs.proc.rename.entry, addevent.nfs.proc.remove.entry{

}

probe addevent.nfs.proc.return = addevent.nfs.proc.lookup.return, addevent.nfs.proc.read.return, addevent.nfs.proc.write.return, addevent.nfs.proc.commit.return, addevent.nfs.proc.read_done.return, addevent.nfs.proc.write_done.return, addevent.nfs.proc.commit_done.return, addevent.nfs.proc.open.return, addevent.nfs.proc.release.return, addevent.nfs.proc.create.return, addevent.nfs.proc.rename.return, addevent.nfs.proc.remove.return{

}

probe addevent.nfs.proc.lookup.entry = _addevent.nfs.proc.lookup.entry{

update_record()

}

probe _addevent.nfs.proc.lookup.entry = nfs.proc.lookup{

log_proc_lookup(version, $dir, filename)

}

probe addevent.nfs.proc.lookup.return = _addevent.nfs.proc.lookup.return{

update_record()

}

probe _addevent.nfs.proc.lookup.return = nfs.proc.lookup.return{

log_nfs_return(HOOKID_NFS_PROC_LOOKUP_RETURN, $return)

}

probe addevent.nfs.proc.read.entry = _addevent.nfs.proc.read.entry{

update_record()

}
t.nfs.proc.read.entry = nfs.proc.read{
log_proc_read(version, $rdata, count, offset)
}
probe addevent.nfs.proc.read.return = _addevent.nfs.proc.read.return{
update_record()
}
probe _addevent.nfs.proc.read.return = nfs.proc.read.return{
log_nfs_return(HOOKID_NFS_PROC_READ_RETURN, $return)
}
probe addevent.nfs.proc.write.entry = _addevent.nfs.proc.write.entry{
update_record()
}
probe _addevent.nfs.proc.write.entry = nfs.proc.write{
log_proc_write(version, $wdata, count, offset)
}
probe addevent.nfs.proc.write.return = _addevent.nfs.proc.write.return{
update_record()
}
probe _addevent.nfs.proc.write.return = nfs.proc.write.return{
log_nfs_return(HOOKID_NFS_PROC_WRITE_RETURN, $return)
}
probe addevent.nfs.proc.commit.entry = _addevent.nfs.proc.commit.entry{
update_record()
}
probe _addevent.nfs.proc.commit.entry = nfs.proc.commit{
log_proc_commit(version, $cdata, count, offset)
}
probe addevent.nfs.proc.commit.return = _addevent.nfs.proc.commit.return{
update_record()
}
probe _addevent.nfs.proc.commit.return = nfs.proc.commit.return{
log_nfs_return(HOOKID_NFS_PROC_COMMIT_RETURN, $return)
}
probe addevent.nfs.proc.read_setup.entry = _addevent.nfs.proc.read_setup.entry{
update_record()
}
probe _addevent.nfs.proc.read_setup.entry = nfs.proc.read_setup{
log_proc_read_setup(version, $data, count, offset)
}
probe addevent.nfs.proc.write_setup.entry = _addevent.nfs.proc.write_setup.entry{
update_record()
}
probe _addevent.nfs.proc.write_setup.entry = nfs.proc.write_setup{
log_proc_write_setup(version, $data, count, offset, how)
}
probe addevent.nfs.proc.commit_setup.entry = _addevent.nfs.proc.commit_setup.entry{
update_record()
}
probe _addevent.nfs.proc.commit_setup.entry = nfs.proc.commit_setup{
log_proc_commit_setup(version, $data, count, offset)
}
probe addevent.nfs.proc.read_done.entry = _addevent.nfs.proc.read_done.entry{
update_record()
}
probe _addevent.nfs.proc.read_done.entry = nfs.proc.read_done{
log_proc_read_done(version, $data, count, status)
}
probe addevent.nfs.proc.read_done.return = _addevent.nfs.proc.read_done.return{
update_record()
}
probe _addevent.nfs.proc.read_done.return = nfs.proc.read_done.return{
log_nfs_return(HOOKID_NFS_PROC_READDONE_RETURN, $return)
}
probe addevent.nfs.proc.write_done.entry = _addevent.nfs.proc.write_done.entry{
update_record()
}
probe _addevent.nfs.proc.write_done.entry = nfs.proc.write_done{
log_proc_write_done(version, $data, count, status)
}
probe addevent.nfs.proc.write_done.return = _addevent.nfs.proc.write_done.return{
update_record()
}
probe _addevent.nfs.proc.write_done.return = nfs.proc.write_done.return{
log_nfs_return(HOOKID_NFS_PROC_WRITEDONE_RETURN, $return)
}
probe addevent.nfs.proc.commit_done.entry = _addevent.nfs.proc.commit_done.entry{
update_record()
}
probe _addevent.nfs.proc.commit_done.entry = nfs.proc.commit_done{
log_proc_commit_done(version, $data, count, status)
}
probe addevent.nfs.proc.commit_done.return = _addevent.nfs.proc.commit_done.return{
update_record()
}
probe _addevent.nfs.proc.commit_done.return = nfs.proc.commit_done.return{
log_nfs_return(HOOKID_NFS_PROC_COMMITDONE_RETURN, $return)
}
probe addevent.nfs.proc.open.entry = _addevent.nfs.proc.open.entry{
update_record()
}
probe _addevent.nfs.proc.open.entry = nfs.proc.open{
log_proc_open(version, $inode, filename, flag, mode)
}
probe addevent.nfs.proc.open.return = _addevent.nfs.proc.open.return{
update_record()
}
probe _addevent.nfs.proc.open.return = nfs.proc.open.return{
log_nfs_return(HOOKID_NFS_PROC_OPEN_RETURN, $return)
}
probe addevent.nfs.proc.release.entry = _addevent.nfs.proc.release.entry{
update_record()
}
probe _addevent.nfs.proc.release.entry = nfs.proc.release{
log_proc_release(version, $inode, filename, flag, mode)
}
probe addevent.nfs.proc.release.return = _addevent.nfs.proc.release.return{
update_record()
}
probe _addevent.nfs.proc.release.return = nfs.proc.release.return{
log_nfs_return(HOOKID_NFS_PROC_RELEASE_RETURN, $return)
}
probe addevent.nfs.proc.create.entry = _
probe _addevent.nfs.proc.read.entry = nfs.proc.read{

log_proc_read(version, $rdata, count, offset)

}

probe addevent.nfs.proc.read.return = _addevent.nfs.proc.read.return{

update_record()

}

probe _addevent.nfs.proc.read.return = nfs.proc.read.return{

log_nfs_return(HOOKID_NFS_PROC_READ_RETURN, $return)

}

probe addevent.nfs.proc.write.entry = _addevent.nfs.proc.write.entry{

update_record()

}

probe _addevent.nfs.proc.write.entry = nfs.proc.write{

log_proc_write(version, $wdata, count, offset)

}

probe addevent.nfs.proc.write.return = _addevent.nfs.proc.write.return{

update_record()

}

probe _addevent.nfs.proc.write.return = nfs.proc.write.return{

log_nfs_return(HOOKID_NFS_PROC_WRITE_RETURN, $return)

}

probe addevent.nfs.proc.commit.entry = _addevent.nfs.proc.commit.entry{

update_record()

}

probe _addevent.nfs.proc.commit.entry = nfs.proc.commit{

log_proc_commit(version, $cdata, count, offset)

}

probe addevent.nfs.proc.commit.return = _addevent.nfs.proc.commit.return{

update_record()

}

probe _addevent.nfs.proc.commit.return = nfs.proc.commit.return{

log_nfs_return(HOOKID_NFS_PROC_COMMIT_RETURN, $return)

}

probe addevent.nfs.proc.read_setup.entry = _addevent.nfs.proc.read_setup.entry{

update_record()

}

probe _addevent.nfs.proc.read_setup.entry = nfs.proc.read_setup{

log_proc_read_setup(version, $data, count, offset)

}

probe addevent.nfs.proc.write_setup.entry = _addevent.nfs.proc.write_setup.entry{

update_record()

}

probe _addevent.nfs.proc.write_setup.entry = nfs.proc.write_setup{

log_proc_write_setup(version, $data, count, offset, how)

}

probe addevent.nfs.proc.commit_setup.entry = _addevent.nfs.proc.commit_setup.entry{

update_record()

}

probe _addevent.nfs.proc.commit_setup.entry = nfs.proc.commit_setup{

log_proc_commit_setup(version, $data, count, offset)

}

probe addevent.nfs.proc.read_done.entry = _addevent.nfs.proc.read_done.entry{

update_record()

}

probe _addevent.nfs.proc.read_done.entry = nfs.proc.read_done{

log_proc_read_done(version, $data, count, status)

}

probe addevent.nfs.proc.read_done.return = _addevent.nfs.proc.read_done.return{

update_record()

}

probe _addevent.nfs.proc.read_done.return = nfs.proc.read_done.return{

log_nfs_return(HOOKID_NFS_PROC_READDONE_RETURN, $return)

}

probe addevent.nfs.proc.write_done.entry = _addevent.nfs.proc.write_done.entry{

update_record()

}

probe _addevent.nfs.proc.write_done.entry = nfs.proc.write_done{

log_proc_write_done(version, $data, count, status)

}

probe addevent.nfs.proc.write_done.return = _addevent.nfs.proc.write_done.return{

update_record()

}

probe _addevent.nfs.proc.write_done.return = nfs.proc.write_done.return{

log_nfs_return(HOOKID_NFS_PROC_WRITEDONE_RETURN, $return)

}

probe addevent.nfs.proc.commit_done.entry = _addevent.nfs.proc.commit_done.entry{

update_record()

}

probe _addevent.nfs.proc.commit_done.entry = nfs.proc.commit_done{

log_proc_commit_done(version, $data, count, status)

}

probe addevent.nfs.proc.commit_done.return = _addevent.nfs.proc.commit_done.return{

update_record()

}

probe _addevent.nfs.proc.commit_done.return = nfs.proc.commit_done.return{

log_nfs_return(HOOKID_NFS_PROC_COMMITDONE_RETURN, $return)

}

probe addevent.nfs.proc.open.entry = _addevent.nfs.proc.open.entry{

update_record()

}

probe _addevent.nfs.proc.open.entry = nfs.proc.open{

log_proc_open(version, $inode, filename, flag, mode)

}

probe addevent.nfs.proc.open.return = _addevent.nfs.proc.open.return{

update_record()

}

probe _addevent.nfs.proc.open.return = nfs.proc.open.return{

log_nfs_return(HOOKID_NFS_PROC_OPEN_RETURN, $return)

}

probe addevent.nfs.proc.release.entry = _addevent.nfs.proc.release.entry{

update_record()

}

probe _addevent.nfs.proc.release.entry = nfs.proc.release{

log_proc_release(version, $inode, filename, flag, mode)

}

probe addevent.nfs.proc.release.return = _addevent.nfs.proc.release.return{

update_record()

}

probe _addevent.nfs.proc.release.return = nfs.proc.release.return{

log_nfs_return(HOOKID_NFS_PROC_RELEASE_RETURN, $return)

}
addevent.nfs.proc.create.entry{
update_record()
}
probe _addevent.nfs.proc.create.entry = nfs.proc.create{
log_proc_create(version, $dir, filename, mode)
}
probe addevent.nfs.proc.create.return = _addevent.nfs.proc.create.return{
update_record()
}
probe _addevent.nfs.proc.create.return = nfs.proc.create.return{
log_nfs_return(HOOKID_NFS_PROC_CREATE_RETURN, $return)
}
probe addevent.nfs.proc.remove.entry = _addevent.nfs.proc.remove.entry{
update_record()
}
probe _addevent.nfs.proc.remove.entry = nfs.proc.remove{
log_proc_remove(version, $dir, filename)
}
probe addevent.nfs.proc.remove.return = _addevent.nfs.proc.remove.return{
update_record()
}
probe _addevent.nfs.proc.remove.return = nfs.proc.remove.return{
log_nfs_return(HOOKID_NFS_PROC_REMOVE_RETURN, $return)
}
probe addevent.nfs.proc.rename.entry = _addevent.nfs.proc.rename.entry{
update_record()
}
probe _addevent.nfs.proc.rename.entry = nfs.proc.rename{
log_proc_rename(version, $old_dir, old_name, $new_dir, new_name)
}
probe addevent.nfs.proc.rename.return = _addevent.nfs.proc.rename.return{
update_record()
}
probe _addevent.nfs.proc.rename.return = nfs.proc.rename.return{
log_nfs_return(HOOKID_NFS_PROC_RENAME_RETURN, $return)
}
probe never{
printf("%d", GROUP_NFS)
}
function log_proc_lookup (version, dir, filename)
%{
	struct inode * dir =  (struct inode * )((long)THIS->dir);
	struct super_block * sb = dir->i_sb;
	int major_device,minor_device;

	getdevice(sb->s_id,&major_device,&minor_device);
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_LOOKUP_ENTRY,"%1b%1b%8b%1b%0s",
		(_FMT_)major_device,(_FMT_)minor_device,
		NFS_FILEID(dir),THIS->version,THIS->filename);
%}
function log_proc_read (version, rdata, count, offset)
%{
	struct nfs_read_data* rdata =  (struct nfs_read_data* )((long)THIS->rdata);
	struct inode *inode = rdata->inode;
	struct super_block * sb = inode->i_sb;
	int major_device,minor_device;

	getdevice(sb->s_id,&major_device,&minor_device);
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_READ_ENTRY,"%1b%1b%8b%1b%4b%8b",
		(_FMT_)major_device,(_FMT_)minor_device,
		NFS_FILEID(inode),THIS->version,THIS->count,THIS->offset);
%}
function log_proc_write (version, wdata, count, offset)
%{
	struct nfs_write_data* wdata =  (struct nfs_write_data* )((long)THIS->wdata);
	struct inode *inode = wdata->inode;
	struct super_block * sb = inode->i_sb;
	int major_device,minor_device;

	getdevice(sb->s_id,&major_device,&minor_device);
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_WRITE_ENTRY,"%1b%1b%8b%1b%4b%8b",
		(_FMT_)major_device,(_FMT_)minor_device,
		NFS_FILEID(inode),THIS->version,THIS->count,THIS->offset);
%}
function log_proc_commit (version, cdata, count, offset)
%{
	struct nfs_write_data* cdata =  (struct nfs_write_data* )((long)THIS->cdata);
	struct inode *inode = cdata->inode;
	struct super_block * sb = inode->i_sb;
	int major_device,minor_device;

	getdevice(sb->s_id,&major_device,&minor_device);
	
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_COMMIT_ENTRY,"%1b%1b%8b%1b%4b%8b",
		(_FMT_)major_device,(_FMT_)minor_device,
		NFS_FILEID(inode),THIS->version,THIS->count,THIS->offset);
%}
function log_proc_read_setup (version, data, count, offset)
%{
	struct nfs_read_data* data =  (struct nfs_read_data* )((long)THIS->data);
	struct inode *inode = data->inode;
	struct super_block * sb = inode->i_sb;
	int major_device,minor_device;

	getdevice(sb->s_id,&major_device,&minor_device);
	
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_READSETUP_ENTRY,"%1b%1b%8b%1b%4b%8b",
		(_FMT_)major_device,(_FMT_)minor_device,
		NFS_FILEID(inode),THIS->version,THIS->count,THIS->offset);
%}
function log_proc_write_setup (version, data, count, offset, how)
%{
	struct nfs_write_data* data =  (struct nfs_write_data* )((long)THIS->data);
	struct inode *inode = data->inode;
	struct super_block * sb = inode->i_sb;
	int major_device,minor_device;

	getdevice(sb->s_id,&major_device,&minor_device);
	
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_WRITESETUP_ENTRY,"%1b%1b%8b%1b%1b%4b%8b",
		(_FMT_)major_device,(_FMT_
probe addevent.nfs.proc.create.entry = _addevent.nfs.proc.create.entry{

update_record()

}

probe _addevent.nfs.proc.create.entry = nfs.proc.create{

log_proc_create(version, $dir, filename, mode)

}

probe addevent.nfs.proc.create.return = _addevent.nfs.proc.create.return{

update_record()

}

probe _addevent.nfs.proc.create.return = nfs.proc.create.return{

log_nfs_return(HOOKID_NFS_PROC_CREATE_RETURN, $return)

}

probe addevent.nfs.proc.remove.entry = _addevent.nfs.proc.remove.entry{

update_record()

}

probe _addevent.nfs.proc.remove.entry = nfs.proc.remove{

log_proc_remove(version, $dir, filename)

}

probe addevent.nfs.proc.remove.return = _addevent.nfs.proc.remove.return{

update_record()

}

probe _addevent.nfs.proc.remove.return = nfs.proc.remove.return{

log_nfs_return(HOOKID_NFS_PROC_REMOVE_RETURN, $return)

}

probe addevent.nfs.proc.rename.entry = _addevent.nfs.proc.rename.entry{

update_record()

}

probe _addevent.nfs.proc.rename.entry = nfs.proc.rename{

log_proc_rename(version, $old_dir, old_name, $new_dir, new_name)

}

probe addevent.nfs.proc.rename.return = _addevent.nfs.proc.rename.return{

update_record()

}

probe _addevent.nfs.proc.rename.return = nfs.proc.rename.return{

log_nfs_return(HOOKID_NFS_PROC_RENAME_RETURN, $return)

}

probe never{

printf("%d", GROUP_NFS)

}

function log_proc_lookup (version, dir, filename)

%{

	struct inode * dir =  (struct inode * )((long)THIS->dir);

	struct super_block * sb = dir->i_sb;

	int major_device,minor_device;



	getdevice(sb->s_id,&major_device,&minor_device);

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_LOOKUP_ENTRY,"%1b%1b%8b%1b%0s",

		(_FMT_)major_device,(_FMT_)minor_device,

		NFS_FILEID(dir),THIS->version,THIS->filename);

%}

function log_proc_read (version, rdata, count, offset)

%{

	struct nfs_read_data* rdata =  (struct nfs_read_data* )((long)THIS->rdata);

	struct inode *inode = rdata->inode;

	struct super_block * sb = inode->i_sb;

	int major_device,minor_device;



	getdevice(sb->s_id,&major_device,&minor_device);

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_READ_ENTRY,"%1b%1b%8b%1b%4b%8b",

		(_FMT_)major_device,(_FMT_)minor_device,

		NFS_FILEID(inode),THIS->version,THIS->count,THIS->offset);

%}

function log_proc_write (version, wdata, count, offset)

%{

	struct nfs_write_data* wdata =  (struct nfs_write_data* )((long)THIS->wdata);

	struct inode *inode = wdata->inode;

	struct super_block * sb = inode->i_sb;

	int major_device,minor_device;



	getdevice(sb->s_id,&major_device,&minor_device);

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_WRITE_ENTRY,"%1b%1b%8b%1b%4b%8b",

		(_FMT_)major_device,(_FMT_)minor_device,

		NFS_FILEID(inode),THIS->version,THIS->count,THIS->offset);

%}

function log_proc_commit (version, cdata, count, offset)

%{

	struct nfs_write_data* cdata =  (struct nfs_write_data* )((long)THIS->cdata);

	struct inode *inode = cdata->inode;

	struct super_block * sb = inode->i_sb;

	int major_device,minor_device;



	getdevice(sb->s_id,&major_device,&minor_device);

	

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_COMMIT_ENTRY,"%1b%1b%8b%1b%4b%8b",

		(_FMT_)major_device,(_FMT_)minor_device,

		NFS_FILEID(inode),THIS->version,THIS->count,THIS->offset);

%}

function log_proc_read_setup (version, data, count, offset)

%{

	struct nfs_read_data* data =  (struct nfs_read_data* )((long)THIS->data);

	struct inode *inode = data->inode;

	struct super_block * sb = inode->i_sb;

	int major_device,minor_device;



	getdevice(sb->s_id,&major_device,&minor_device);

	

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_READSETUP_ENTRY,"%1b%1b%8b%1b%4b%8b",

		(_FMT_)major_device,(_FMT_)minor_device,

		NFS_FILEID(inode),THIS->version,THIS->count,THIS->offset);

%}

function log_proc_write_setup (version, data, count, offset, how)

%{

	struct nfs_write_data* data =  (struct nfs_write_data* )((long)THIS->data);

	struct inode *inode = data->inode;

	struct super_block * sb = inode->i_sb;

	int major_device,minor_device;



	getdevice(sb->s_id,&major_device,&minor_device);

	

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_WRITESETUP_ENTRY,"%1b%1b%8b%1b%1b%4b%8b",
)minor_device,
		NFS_FILEID(inode),THIS->version,THIS->how,THIS->count,THIS->offset);
%}
function log_proc_commit_setup (version, data, count, offset)
%{
	struct nfs_write_data* data =  (struct nfs_write_data* )((long)THIS->data);
	struct inode *inode = data->inode;
	struct super_block * sb = inode->i_sb;
	int major_device,minor_device;

	getdevice(sb->s_id,&major_device,&minor_device);
	
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_COMMITSETUP_ENTRY,"%1b%1b%8b%1b%4b%8b",
		(_FMT_)major_device,(_FMT_)minor_device,
		NFS_FILEID(inode),THIS->version,THIS->count,THIS->offset);
%}
function log_proc_read_done (version, data, count, status)
%{
	struct nfs_read_data* data =  (struct nfs_read_data* )((long)THIS->data);
	struct inode *inode = data->inode;
	struct super_block * sb = inode->i_sb;
	int major_device,minor_device;

	getdevice(sb->s_id,&major_device,&minor_device);
	
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_READDONE_ENTRY,"%1b%1b%8b%1b%4b%4b",
		(_FMT_)major_device,(_FMT_)minor_device,
		NFS_FILEID(inode),THIS->version,THIS->status,THIS->count);
%}
function log_proc_write_done (version, data, count, status)
%{
	struct nfs_write_data* data =  (struct nfs_write_data* )((long)THIS->data);
	struct inode *inode = data->inode;
	struct super_block * sb = inode->i_sb;
	int major_device,minor_device;

	getdevice(sb->s_id,&major_device,&minor_device);
	
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_WRITEDONE_ENTRY,"%1b%1b%8b%1b%4b%4b",
		(_FMT_)major_device,(_FMT_)minor_device,
		NFS_FILEID(inode),THIS->version,THIS->status,THIS->count);
%}
function log_proc_commit_done (version, data, count, status)
%{
	struct nfs_write_data* data =  (struct nfs_write_data* )((long)THIS->data);
	struct inode *inode = data->inode;
	struct super_block * sb = inode->i_sb;
	int major_device,minor_device;

	getdevice(sb->s_id,&major_device,&minor_device);
	
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_COMMITDONE_ENTRY,"%1b%1b%8b%1b%4b%4b",
		(_FMT_)major_device,(_FMT_)minor_device,
		NFS_FILEID(inode),THIS->version,THIS->status,THIS->count);
%}
function log_proc_open (version, inode, filename, flag, mode)
%{
	struct inode *inode = (struct inode *)((long)THIS->inode);
	struct super_block * sb = inode->i_sb;
	int major_device,minor_device;

	getdevice(sb->s_id,&major_device,&minor_device);
	
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_OPEN_ENTRY,"%1b%1b%8b%1b%0s%4b%4b",
		(_FMT_)major_device,(_FMT_)minor_device,
		NFS_FILEID(inode),THIS->version,THIS->filename,THIS->flag,THIS->mode);
%}
function log_proc_release (version, inode, filename, flag, mode)
%{
	struct inode *inode = (struct inode *)((long)THIS->inode);
	struct super_block * sb = inode->i_sb;
	int major_device,minor_device;

	getdevice(sb->s_id,&major_device,&minor_device);
	
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_RELEASE_ENTRY,"%1b%1b%8b%1b%0s%4b%4b",
		(_FMT_)major_device,(_FMT_)minor_device,
		NFS_FILEID(inode),THIS->version,THIS->filename,THIS->flag,THIS->mode);
%}
function log_proc_create (version, inode, filename, mode)
%{
	struct inode *inode = (struct inode *)((long)THIS->inode);
       	struct super_block * sb = inode->i_sb;
	int major_device,minor_device;

	getdevice(sb->s_id,&major_device,&minor_device);
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_CREATE_ENTRY,"%1b%1b%8b%1b%0s%4b",
		(_FMT_)major_device,(_FMT_)minor_device,
		NFS_FILEID(inode),THIS->version,THIS->filename,THIS->mode);
%}
function log_proc_remove (version, inode, filename)
%{
	struct inode *inode = (struct inode *)((long)THIS->inode);
       	struct super_block * sb = inode->i_sb;
	int major_device,minor_device;

	getdevice(sb->s_id,&major_device,&minor_device);
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_REMOVE_ENTRY,"%1b%1b%8b%1b%0s",
		(_FMT_)major_device,(_FMT_)minor_device,
		NFS_FILEID(inode),THIS->version,THIS->filename);
%}
function log_proc_rename (version, old_dir, old_name, new_dir, new_name)
%{
	struct inode *old_dir= (struct inode *)((long)THIS->old_dir);
	struct inode *new_dir= (struct inode *)((long)THIS->new_dir);
 
		(_FMT_)major_device,(_FMT_)minor_device,

		NFS_FILEID(inode),THIS->version,THIS->how,THIS->count,THIS->offset);

%}

function log_proc_commit_setup (version, data, count, offset)

%{

	struct nfs_write_data* data =  (struct nfs_write_data* )((long)THIS->data);

	struct inode *inode = data->inode;

	struct super_block * sb = inode->i_sb;

	int major_device,minor_device;



	getdevice(sb->s_id,&major_device,&minor_device);

	

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_COMMITSETUP_ENTRY,"%1b%1b%8b%1b%4b%8b",

		(_FMT_)major_device,(_FMT_)minor_device,

		NFS_FILEID(inode),THIS->version,THIS->count,THIS->offset);

%}

function log_proc_read_done (version, data, count, status)

%{

	struct nfs_read_data* data =  (struct nfs_read_data* )((long)THIS->data);

	struct inode *inode = data->inode;

	struct super_block * sb = inode->i_sb;

	int major_device,minor_device;



	getdevice(sb->s_id,&major_device,&minor_device);

	

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_READDONE_ENTRY,"%1b%1b%8b%1b%4b%4b",

		(_FMT_)major_device,(_FMT_)minor_device,

		NFS_FILEID(inode),THIS->version,THIS->status,THIS->count);

%}

function log_proc_write_done (version, data, count, status)

%{

	struct nfs_write_data* data =  (struct nfs_write_data* )((long)THIS->data);

	struct inode *inode = data->inode;

	struct super_block * sb = inode->i_sb;

	int major_device,minor_device;



	getdevice(sb->s_id,&major_device,&minor_device);

	

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_WRITEDONE_ENTRY,"%1b%1b%8b%1b%4b%4b",

		(_FMT_)major_device,(_FMT_)minor_device,

		NFS_FILEID(inode),THIS->version,THIS->status,THIS->count);

%}

function log_proc_commit_done (version, data, count, status)

%{

	struct nfs_write_data* data =  (struct nfs_write_data* )((long)THIS->data);

	struct inode *inode = data->inode;

	struct super_block * sb = inode->i_sb;

	int major_device,minor_device;



	getdevice(sb->s_id,&major_device,&minor_device);

	

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_COMMITDONE_ENTRY,"%1b%1b%8b%1b%4b%4b",

		(_FMT_)major_device,(_FMT_)minor_device,

		NFS_FILEID(inode),THIS->version,THIS->status,THIS->count);

%}

function log_proc_open (version, inode, filename, flag, mode)

%{

	struct inode *inode = (struct inode *)((long)THIS->inode);

	struct super_block * sb = inode->i_sb;

	int major_device,minor_device;



	getdevice(sb->s_id,&major_device,&minor_device);

	

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_OPEN_ENTRY,"%1b%1b%8b%1b%0s%4b%4b",

		(_FMT_)major_device,(_FMT_)minor_device,

		NFS_FILEID(inode),THIS->version,THIS->filename,THIS->flag,THIS->mode);

%}

function log_proc_release (version, inode, filename, flag, mode)

%{

	struct inode *inode = (struct inode *)((long)THIS->inode);

	struct super_block * sb = inode->i_sb;

	int major_device,minor_device;



	getdevice(sb->s_id,&major_device,&minor_device);

	

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_RELEASE_ENTRY,"%1b%1b%8b%1b%0s%4b%4b",

		(_FMT_)major_device,(_FMT_)minor_device,

		NFS_FILEID(inode),THIS->version,THIS->filename,THIS->flag,THIS->mode);

%}

function log_proc_create (version, inode, filename, mode)

%{

	struct inode *inode = (struct inode *)((long)THIS->inode);

       	struct super_block * sb = inode->i_sb;

	int major_device,minor_device;



	getdevice(sb->s_id,&major_device,&minor_device);

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_CREATE_ENTRY,"%1b%1b%8b%1b%0s%4b",

		(_FMT_)major_device,(_FMT_)minor_device,

		NFS_FILEID(inode),THIS->version,THIS->filename,THIS->mode);

%}

function log_proc_remove (version, inode, filename)

%{

	struct inode *inode = (struct inode *)((long)THIS->inode);

       	struct super_block * sb = inode->i_sb;

	int major_device,minor_device;



	getdevice(sb->s_id,&major_device,&minor_device);

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_REMOVE_ENTRY,"%1b%1b%8b%1b%0s",

		(_FMT_)major_device,(_FMT_)minor_device,

		NFS_FILEID(inode),THIS->version,THIS->filename);

%}

function log_proc_rename (version, old_dir, old_name, new_dir, new_name)

%{

	struct inode *old_dir= (struct inode *)((long)THIS->old_dir);

	struct inode *new_dir= (struct inode *)((long)THIS->new_dir);
      	struct super_block * old_sb = old_dir->i_sb;
       	struct super_block * new_sb = new_dir->i_sb;
	int major_old,minor_old,major_new,minor_new;

	getdevice(old_sb->s_id,&major_old,&minor_old);
	getdevice(new_sb->s_id,&major_new,&minor_new);
	
	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_RENAME_ENTRY,"%1b%1b%1b%8b%0s%1b%1b%8b%0s",
		THIS->version,(_FMT_)major_old,(_FMT_)minor_old,NFS_FILEID(old_dir),
		THIS->old_name,(_FMT_)major_new,(_FMT_)minor_new,NFS_FILEID(new_dir),
		THIS->new_name);
%}

# file /usr/local/share/systemtap/tapset/LKET/nfsd.stp
%{
	#include <linux/sunrpc/svc.h>
	#include <linux/nfsd/nfsfh.h>
%}%{
	void decode_fh(struct knfsd_fh *fh,__u64 * i_ino)
	{
		int i;
		
		for(i = 0;i < 3;i++)
		{
			i_ino[i] = fh->fh_base.fh_pad[2*i];
			i_ino[i] = i_ino[i] << 32 |fh->fh_base.fh_pad[2*i + 1 ];
		}
	}
%}probe addevent.nfsd = addevent.nfsd.entry, addevent.nfsd.return{
}
probe addevent.nfsd.entry = addevent.nfsd.op.entry, addevent.nfsd.proc.entry{
}
probe addevent.nfsd.return = addevent.nfsd.op.return, addevent.nfsd.proc.return{
}
probe addevent.nfsd.op = addevent.nfsd.op.entry, addevent.nfsd.op.return{
}
probe addevent.nfsd.op.entry = addevent.nfsd.dispatch.entry, addevent.nfsd.open.entry, addevent.nfsd.read.entry, addevent.nfsd.write.entry, addevent.nfsd.lookup.entry, addevent.nfsd.commit.entry, addevent.nfsd.create.entry, addevent.nfsd.createv3.entry, addevent.nfsd.unlink.entry, addevent.nfsd.rename.entry, addevent.nfsd.close.entry{
}
probe addevent.nfsd.op.return = addevent.nfsd.dispatch.return, addevent.nfsd.open.return, addevent.nfsd.read.return, addevent.nfsd.write.return, addevent.nfsd.lookup.return, addevent.nfsd.commit.return, addevent.nfsd.create.return, addevent.nfsd.createv3.return, addevent.nfsd.unlink.return, addevent.nfsd.rename.return, addevent.nfsd.close.return{
}
probe addevent.nfsd.dispatch.entry = _addevent.nfsd.dispatch.entry{
update_record()
}
probe _addevent.nfsd.dispatch.entry = nfsd.dispatch{
log_nfsd_dispatch(client_ip, proto, version, xid, prog, proc)
}
probe addevent.nfsd.dispatch.return = _addevent.nfs.dispatch.return{
update_record()
}
probe _addevent.nfs.dispatch.return = nfsd.dispatch.return{
log_nfs_return(HOOKID_NFSD_DISPATCH_RETURN, $return)
}
probe addevent.nfsd.lookup.entry = _addevent.nfsd.lookup.entry{
update_record()
}
probe _addevent.nfsd.lookup.entry = nfsd.lookup{
log_nfsd_lookup($fhp, filename)
}
probe addevent.nfsd.lookup.return = _addevent.nfsd.lookup.return{
update_record()
}
probe _addevent.nfsd.lookup.return = nfsd.lookup.return{
log_nfs_return(HOOKID_NFSD_LOOKUP_RETURN, $return)
}
probe addevent.nfsd.create.entry = _addevent.nfsd.create.entry{
update_record()
}
probe _addevent.nfsd.create.entry = nfsd.create{
log_nfsd_create($fhp, filename, type, iap_valid, iap_mode)
}
probe addevent.nfsd.create.return = _addevent.nfsd.create.return{
update_record()
}
probe _addevent.nfsd.create.return = nfsd.create.return{
log_nfs_return(HOOKID_NFSD_CREATE_RETURN, $return)
}
probe addevent.nfsd.createv3.entry = _addevent.nfsd.createv3.entry{
update_record()
}
probe _addevent.nfsd.createv3.entry = nfsd.createv3{
log_nfsd_createv3($fhp, filename, createmode, iap_valid, iap_mode)
}
probe addevent.nfsd.createv3.return = _addevent.nfsd.createv3.return{
update_record()
}
probe _addevent.nfsd.createv3.return = nfsd.createv3.return{
log_nfs_return(HOOKID_NFSD_CREATEV3_RETURN, $return)
}
probe addevent.nfsd.unlink.entry = _addevent.nfsd.unlink.entry{
update_record()
}
probe _addevent.nfsd.unlink.entry = nfsd.unlink{
log_nfsd_unlink($fhp, filename, type)
}
probe addevent.nfsd.unlink.return = _addevent.nfsd.unlink.return{
update_record()
}
probe _addevent.nfsd.unlink.return = nfsd.unlink.return{
log_nfs_return(HOOKID_NFSD_UNLINK_RETURN, $return)
}
probe addevent.nfsd.rename.entry = _addevent.nfsd.rename.entry{
update_record()
}
probe _addevent.nfsd.rename.entry = nfsd.rename{
log_nfsd_rename($ffhp, filename, $tfhp, tname)
}
probe addevent.nfsd.rename.return = _addevent.nfsd.rename.r
       	struct super_block * old_sb = old_dir->i_sb;

       	struct super_block * new_sb = new_dir->i_sb;

	int major_old,minor_old,major_new,minor_new;



	getdevice(old_sb->s_id,&major_old,&minor_old);

	getdevice(new_sb->s_id,&major_new,&minor_new);

	

	_lket_trace(_GROUP_NFS,_HOOKID_NFS_PROC_RENAME_ENTRY,"%1b%1b%1b%8b%0s%1b%1b%8b%0s",

		THIS->version,(_FMT_)major_old,(_FMT_)minor_old,NFS_FILEID(old_dir),

		THIS->old_name,(_FMT_)major_new,(_FMT_)minor_new,NFS_FILEID(new_dir),

		THIS->new_name);

%}



# file /usr/local/share/systemtap/tapset/LKET/nfsd.stp

%{

	#include <linux/sunrpc/svc.h>

	#include <linux/nfsd/nfsfh.h>

%}%{

	void decode_fh(struct knfsd_fh *fh,__u64 * i_ino)

	{

		int i;

		

		for(i = 0;i < 3;i++)

		{

			i_ino[i] = fh->fh_base.fh_pad[2*i];

			i_ino[i] = i_ino[i] << 32 |fh->fh_base.fh_pad[2*i + 1 ];

		}

	}

%}probe addevent.nfsd = addevent.nfsd.entry, addevent.nfsd.return{

}

probe addevent.nfsd.entry = addevent.nfsd.op.entry, addevent.nfsd.proc.entry{

}

probe addevent.nfsd.return = addevent.nfsd.op.return, addevent.nfsd.proc.return{

}

probe addevent.nfsd.op = addevent.nfsd.op.entry, addevent.nfsd.op.return{

}

probe addevent.nfsd.op.entry = addevent.nfsd.dispatch.entry, addevent.nfsd.open.entry, addevent.nfsd.read.entry, addevent.nfsd.write.entry, addevent.nfsd.lookup.entry, addevent.nfsd.commit.entry, addevent.nfsd.create.entry, addevent.nfsd.createv3.entry, addevent.nfsd.unlink.entry, addevent.nfsd.rename.entry, addevent.nfsd.close.entry{

}

probe addevent.nfsd.op.return = addevent.nfsd.dispatch.return, addevent.nfsd.open.return, addevent.nfsd.read.return, addevent.nfsd.write.return, addevent.nfsd.lookup.return, addevent.nfsd.commit.return, addevent.nfsd.create.return, addevent.nfsd.createv3.return, addevent.nfsd.unlink.return, addevent.nfsd.rename.return, addevent.nfsd.close.return{

}

probe addevent.nfsd.dispatch.entry = _addevent.nfsd.dispatch.entry{

update_record()

}

probe _addevent.nfsd.dispatch.entry = nfsd.dispatch{

log_nfsd_dispatch(client_ip, proto, version, xid, prog, proc)

}

probe addevent.nfsd.dispatch.return = _addevent.nfs.dispatch.return{

update_record()

}

probe _addevent.nfs.dispatch.return = nfsd.dispatch.return{

log_nfs_return(HOOKID_NFSD_DISPATCH_RETURN, $return)

}

probe addevent.nfsd.lookup.entry = _addevent.nfsd.lookup.entry{

update_record()

}

probe _addevent.nfsd.lookup.entry = nfsd.lookup{

log_nfsd_lookup($fhp, filename)

}

probe addevent.nfsd.lookup.return = _addevent.nfsd.lookup.return{

update_record()

}

probe _addevent.nfsd.lookup.return = nfsd.lookup.return{

log_nfs_return(HOOKID_NFSD_LOOKUP_RETURN, $return)

}

probe addevent.nfsd.create.entry = _addevent.nfsd.create.entry{

update_record()

}

probe _addevent.nfsd.create.entry = nfsd.create{

log_nfsd_create($fhp, filename, type, iap_valid, iap_mode)

}

probe addevent.nfsd.create.return = _addevent.nfsd.create.return{

update_record()

}

probe _addevent.nfsd.create.return = nfsd.create.return{

log_nfs_return(HOOKID_NFSD_CREATE_RETURN, $return)

}

probe addevent.nfsd.createv3.entry = _addevent.nfsd.createv3.entry{

update_record()

}

probe _addevent.nfsd.createv3.entry = nfsd.createv3{

log_nfsd_createv3($fhp, filename, createmode, iap_valid, iap_mode)

}

probe addevent.nfsd.createv3.return = _addevent.nfsd.createv3.return{

update_record()

}

probe _addevent.nfsd.createv3.return = nfsd.createv3.return{

log_nfs_return(HOOKID_NFSD_CREATEV3_RETURN, $return)

}

probe addevent.nfsd.unlink.entry = _addevent.nfsd.unlink.entry{

update_record()

}

probe _addevent.nfsd.unlink.entry = nfsd.unlink{

log_nfsd_unlink($fhp, filename, type)

}

probe addevent.nfsd.unlink.return = _addevent.nfsd.unlink.return{

update_record()

}

probe _addevent.nfsd.unlink.return = nfsd.unlink.return{

log_nfs_return(HOOKID_NFSD_UNLINK_RETURN, $return)

}

probe addevent.nfsd.rename.entry = _addevent.nfsd.rename.entry{

update_record()

}

probe _addevent.nfsd.rename.entry = nfsd.rename{

log_nfsd_rename($ffhp, filename, $tfhp, tname)

}
eturn{
update_record()
}
probe _addevent.nfsd.rename.return = nfsd.rename.return{
log_nfs_return(HOOKID_NFSD_RENAME_RETURN, $return)
}
probe addevent.nfsd.open.entry = _addevent.nfsd.open.entry{
update_record()
}
probe _addevent.nfsd.open.entry = nfsd.open{
log_nfsd_open($fhp, type, access)
}
probe addevent.nfsd.open.return = _addevent.nfsd.open.return{
update_record()
}
probe _addevent.nfsd.open.return = nfsd.open.return{
log_nfs_return(HOOKID_NFSD_OPEN_RETURN, $return)
}
probe addevent.nfsd.close.entry = _addevent.nfsd.close.entry{
update_record()
}
probe _addevent.nfsd.close.entry = nfsd.close{
log_nfsd_close(filename)
}
probe addevent.nfsd.close.return = _addevent.nfsd.close.return{
update_record()
}
probe _addevent.nfsd.close.return = nfsd.close.return{
}
probe addevent.nfsd.read.entry = _addevent.nfsd.read.entry{
update_record()
}
probe _addevent.nfsd.read.entry = nfsd.read{
log_nfsd_read($fhp, count, offset, $vec, vlen)
}
probe addevent.nfsd.read.return = _addevent.nfsd.read.return{
update_record()
}
probe _addevent.nfsd.read.return = nfsd.read.return{
log_nfs_return(HOOKID_NFSD_READ_RETURN, $return)
}
probe addevent.nfsd.write.entry = _addevent.nfsd.write.entry{
update_record()
}
probe _addevent.nfsd.write.entry = nfsd.write{
log_nfsd_write($fhp, count, offset, $vec, vlen)
}
probe addevent.nfsd.write.return = _addevent.nfsd.write.return{
update_record()
}
probe _addevent.nfsd.write.return = nfsd.write.return{
log_nfs_return(HOOKID_NFSD_WRITE_RETURN, $return)
}
probe addevent.nfsd.commit.entry = _addevent.nfsd.commit.entry{
update_record()
}
probe _addevent.nfsd.commit.entry = nfsd.commit{
log_nfsd_commit($fhp, count, offset)
}
probe addevent.nfsd.commit.return = _addevent.nfsd.commit.return{
update_record()
}
probe _addevent.nfsd.commit.return = nfsd.commit.return{
log_nfs_return(HOOKID_NFSD_COMMIT_RETURN, $return)
}
probe addevent.nfsd.proc = addevent.nfsd.proc.entry, addevent.nfsd.proc.return{
}
probe addevent.nfsd.proc.entry = addevent.nfsd.proc.lookup.entry, addevent.nfsd.proc.read.entry, addevent.nfsd.proc.write.entry, addevent.nfsd.proc.commit.entry, addevent.nfsd.proc.compound.entry, addevent.nfsd.proc.remove.entry, addevent.nfsd.proc.rename.entry, addevent.nfsd.proc.create.entry{
}
probe addevent.nfsd.proc.return = addevent.nfsd.proc.lookup.return, addevent.nfsd.proc.read.return, addevent.nfsd.proc.write.return, addevent.nfsd.proc.commit.return, addevent.nfsd.proc.compound.return, addevent.nfsd.proc.remove.return, addevent.nfsd.proc.rename.return, addevent.nfsd.proc.create.return{
}
probe addevent.nfsd.proc.lookup.entry = _addevent.nfsd.proc.lookup.entry{
update_record()
}
probe _addevent.nfsd.proc.lookup.entry = nfsd.proc.lookup{
log_nfsd_proc_lookup(fh, version, filename)
}
probe addevent.nfsd.proc.lookup.return = _addevent.nfsd.proc.lookup.return{
update_record()
}
probe _addevent.nfsd.proc.lookup.return = nfsd.proc.lookup.return{
log_nfs_return(HOOKID_NFSD_PROC_LOOKUP_RETURN, $return)
}
probe addevent.nfsd.proc.read.entry = _addevent.nfsd.proc.read.entry{
update_record()
}
probe _addevent.nfsd.proc.read.entry = nfsd.proc.read{
log_nfsd_proc_read(fh, version, count, offset, vec, vlen)
}
probe addevent.nfsd.proc.read.return = _addevent.nfsd.proc.read.return{
update_record()
}
probe _addevent.nfsd.proc.read.return = nfsd.proc.read.return{
log_nfs_return(HOOKID_NFSD_PROC_READ_RETURN, $return)
}
probe addevent.nfsd.proc.write.entry = _addevent.nfsd.proc.write.entry{
update_record()
}
probe _addevent.nfsd.proc.write.entry = nfsd.proc.write{
log_nfsd_proc_write(fh, version, count, offset, vec, vlen)
}
probe addevent.nfsd.proc.write.return = _addevent.nfsd.proc.write.return{
update_record()
}
probe _addevent.nfsd.proc.write.return = nfsd.proc.write.return{
log_nfs_return(HOOKID_NFSD_PROC_WRITE_RETURN, $return)
}
probe addevent.nfsd.proc.commit.entry = _addevent.nfsd.proc.commit.entry{
update_record()
}
probe _addevent.nfsd.proc.commit.entry = nfsd.proc.commit{
log_nfsd_proc_commit(fh, version, count
probe addevent.nfsd.rename.return = _addevent.nfsd.rename.return{

update_record()

}

probe _addevent.nfsd.rename.return = nfsd.rename.return{

log_nfs_return(HOOKID_NFSD_RENAME_RETURN, $return)

}

probe addevent.nfsd.open.entry = _addevent.nfsd.open.entry{

update_record()

}

probe _addevent.nfsd.open.entry = nfsd.open{

log_nfsd_open($fhp, type, access)

}

probe addevent.nfsd.open.return = _addevent.nfsd.open.return{

update_record()

}

probe _addevent.nfsd.open.return = nfsd.open.return{

log_nfs_return(HOOKID_NFSD_OPEN_RETURN, $return)

}

probe addevent.nfsd.close.entry = _addevent.nfsd.close.entry{

update_record()

}

probe _addevent.nfsd.close.entry = nfsd.close{

log_nfsd_close(filename)

}

probe addevent.nfsd.close.return = _addevent.nfsd.close.return{

update_record()

}

probe _addevent.nfsd.close.return = nfsd.close.return{

}

probe addevent.nfsd.read.entry = _addevent.nfsd.read.entry{

update_record()

}

probe _addevent.nfsd.read.entry = nfsd.read{

log_nfsd_read($fhp, count, offset, $vec, vlen)

}

probe addevent.nfsd.read.return = _addevent.nfsd.read.return{

update_record()

}

probe _addevent.nfsd.read.return = nfsd.read.return{

log_nfs_return(HOOKID_NFSD_READ_RETURN, $return)

}

probe addevent.nfsd.write.entry = _addevent.nfsd.write.entry{

update_record()

}

probe _addevent.nfsd.write.entry = nfsd.write{

log_nfsd_write($fhp, count, offset, $vec, vlen)

}

probe addevent.nfsd.write.return = _addevent.nfsd.write.return{

update_record()

}

probe _addevent.nfsd.write.return = nfsd.write.return{

log_nfs_return(HOOKID_NFSD_WRITE_RETURN, $return)

}

probe addevent.nfsd.commit.entry = _addevent.nfsd.commit.entry{

update_record()

}

probe _addevent.nfsd.commit.entry = nfsd.commit{

log_nfsd_commit($fhp, count, offset)

}

probe addevent.nfsd.commit.return = _addevent.nfsd.commit.return{

update_record()

}

probe _addevent.nfsd.commit.return = nfsd.commit.return{

log_nfs_return(HOOKID_NFSD_COMMIT_RETURN, $return)

}

probe addevent.nfsd.proc = addevent.nfsd.proc.entry, addevent.nfsd.proc.return{

}

probe addevent.nfsd.proc.entry = addevent.nfsd.proc.lookup.entry, addevent.nfsd.proc.read.entry, addevent.nfsd.proc.write.entry, addevent.nfsd.proc.commit.entry, addevent.nfsd.proc.compound.entry, addevent.nfsd.proc.remove.entry, addevent.nfsd.proc.rename.entry, addevent.nfsd.proc.create.entry{

}

probe addevent.nfsd.proc.return = addevent.nfsd.proc.lookup.return, addevent.nfsd.proc.read.return, addevent.nfsd.proc.write.return, addevent.nfsd.proc.commit.return, addevent.nfsd.proc.compound.return, addevent.nfsd.proc.remove.return, addevent.nfsd.proc.rename.return, addevent.nfsd.proc.create.return{

}

probe addevent.nfsd.proc.lookup.entry = _addevent.nfsd.proc.lookup.entry{

update_record()

}

probe _addevent.nfsd.proc.lookup.entry = nfsd.proc.lookup{

log_nfsd_proc_lookup(fh, version, filename)

}

probe addevent.nfsd.proc.lookup.return = _addevent.nfsd.proc.lookup.return{

update_record()

}

probe _addevent.nfsd.proc.lookup.return = nfsd.proc.lookup.return{

log_nfs_return(HOOKID_NFSD_PROC_LOOKUP_RETURN, $return)

}

probe addevent.nfsd.proc.read.entry = _addevent.nfsd.proc.read.entry{

update_record()

}

probe _addevent.nfsd.proc.read.entry = nfsd.proc.read{

log_nfsd_proc_read(fh, version, count, offset, vec, vlen)

}

probe addevent.nfsd.proc.read.return = _addevent.nfsd.proc.read.return{

update_record()

}

probe _addevent.nfsd.proc.read.return = nfsd.proc.read.return{

log_nfs_return(HOOKID_NFSD_PROC_READ_RETURN, $return)

}

probe addevent.nfsd.proc.write.entry = _addevent.nfsd.proc.write.entry{

update_record()

}

probe _addevent.nfsd.proc.write.entry = nfsd.proc.write{

log_nfsd_proc_write(fh, version, count, offset, vec, vlen)

}

probe addevent.nfsd.proc.write.return = _addevent.nfsd.proc.write.return{

update_record()

}

probe _addevent.nfsd.proc.write.return = nfsd.proc.write.return{

log_nfs_return(HOOKID_NFSD_PROC_WRITE_RETURN, $return)

}

probe addevent.nfsd.proc.commit.entry = _addevent.nfsd.proc.commit.entry{

update_record()

}

probe _addevent.nfsd.proc.commit.entry = nfsd.proc.commit{
, offset)
}
probe addevent.nfsd.proc.commit.return = _addevent.nfsd.proc.commit.return{
update_record()
}
probe _addevent.nfsd.proc.commit.return = nfsd.proc.commit.return{
log_nfs_return(HOOKID_NFSD_PROC_COMMIT_RETURN, $return)
}
probe addevent.nfsd.proc.compound.entry = _addevent.nfsd.proc.compound.entry{
update_record()
}
probe _addevent.nfsd.proc.compound.entry = nfsd.proc.compound{
log_nfsd_proc_compound(num)
}
probe addevent.nfsd.proc.compound.return = _addevent.nfsd.proc.compound.return{
update_record()
}
probe _addevent.nfsd.proc.compound.return = nfsd.proc.compound.return{
log_nfs_return(HOOKID_NFSD_PROC_COMPOUND_RETURN, $return)
}
probe addevent.nfsd.proc.remove.entry = _addevent.nfsd.proc.remove.entry{
update_record()
}
probe _addevent.nfsd.proc.remove.entry = nfsd.proc.remove{
log_nfsd_proc_remove(fh, version, filename)
}
probe addevent.nfsd.proc.remove.return = _addevent.nfsd.proc.remove.return{
update_record()
}
probe _addevent.nfsd.proc.remove.return = nfsd.proc.remove.return{
log_nfs_return(HOOKID_NFSD_PROC_REMOVE_RETURN, $return)
}
probe addevent.nfsd.proc.rename.entry = _addevent.nfsd.proc.rename.entry{
update_record()
}
probe _addevent.nfsd.proc.rename.entry = nfsd.proc.rename{
log_nfsd_proc_rename(fh, version, filename, tfh, tname)
}
probe addevent.nfsd.proc.rename.return = _addevent.nfsd.proc.rename.return{
update_record()
}
probe _addevent.nfsd.proc.rename.return = nfsd.proc.rename.return{
log_nfs_return(HOOKID_NFSD_PROC_RENAME_RETURN, $return)
}
probe addevent.nfsd.proc.create.entry = _addevent.nfsd.proc.create.entry{
update_record()
}
probe _addevent.nfsd.proc.create.entry = nfsd.proc.create{
log_nfsd_proc_create(fh, version, filename)
}
probe addevent.nfsd.proc.create.return = _addevent.nfsd.proc.create.return{
update_record()
}
probe _addevent.nfsd.proc.create.return = nfsd.proc.create.return{
log_nfs_return(HOOKID_NFSD_PROC_CREATE_RETURN, $return)
}
probe never{
printf("%d\\n", GROUP_PROCESS)
}
function log_nfsd_dispatch (client_ip, proto, version, xid, prog, proc)
%{
	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_DISPATCH_ENTRY,"%1b%1b%4b%4b%4b",
		THIS->proto,THIS->version,THIS->xid,THIS->proc,THIS->client_ip);
%}
function log_nfsd_lookup (fhp, filename)
%{ /*pure*/

	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
	__u64 i_ino[3];

	decode_fh(&fhp->fh_handle,i_ino);		
	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_LOOKUP_ENTRY,"%1b%8b%8b%8b%0s",
		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->filename);
%}
function log_nfsd_create (fhp, filename, type, iap_valid, iap_mode)
%{ /*pure*/

	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
	
	__u64 i_ino[3];

	decode_fh(&fhp->fh_handle,i_ino);		
	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_CREATE_ENTRY,"%1b%8b%8b%8b%0s%4b%2b%4b",
		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->filename,
		THIS->type,THIS->iap_valid,THIS->iap_mode);
%}
function log_nfsd_createv3 (fhp, filename, createmode, iap_valid, iap_mode)
%{ /*pure*/

	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
	
	__u64 i_ino[3];

	decode_fh(&fhp->fh_handle,i_ino);		
	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_CREATEV3_ENTRY,"%1b%8b%8b%8b%0s%1b%2b%4b",
		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->filename,
		THIS->createmode,THIS->iap_valid,THIS->iap_mode);
%}
function log_nfsd_unlink (fhp, filename, type)
%{ /*pure*/

	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
	
	__u64 i_ino[3];

	decode_fh(&fhp->fh_handle,i_ino);		
	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_UNLINK_ENTRY,"%1b%8b%8b%8b%0s%4b",
		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
		THIS->filename,THIS->type);
%}
function log_nfsd_rename (fhp, filename, tfhp, tname)
%{ /*pure*/

	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
	struct svc_fh * tfhp = (struct svc_fh*)((long)THIS->tfhp);
	__u64 old_ino[3],i_ino[3];

	decode_fh(&fhp->fh_handle,old_ino);		
	decode_fh(&tfhp->fh_handle,i_ino);		
	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_RENA
log_nfsd_proc_commit(fh, version, count, offset)

}

probe addevent.nfsd.proc.commit.return = _addevent.nfsd.proc.commit.return{

update_record()

}

probe _addevent.nfsd.proc.commit.return = nfsd.proc.commit.return{

log_nfs_return(HOOKID_NFSD_PROC_COMMIT_RETURN, $return)

}

probe addevent.nfsd.proc.compound.entry = _addevent.nfsd.proc.compound.entry{

update_record()

}

probe _addevent.nfsd.proc.compound.entry = nfsd.proc.compound{

log_nfsd_proc_compound(num)

}

probe addevent.nfsd.proc.compound.return = _addevent.nfsd.proc.compound.return{

update_record()

}

probe _addevent.nfsd.proc.compound.return = nfsd.proc.compound.return{

log_nfs_return(HOOKID_NFSD_PROC_COMPOUND_RETURN, $return)

}

probe addevent.nfsd.proc.remove.entry = _addevent.nfsd.proc.remove.entry{

update_record()

}

probe _addevent.nfsd.proc.remove.entry = nfsd.proc.remove{

log_nfsd_proc_remove(fh, version, filename)

}

probe addevent.nfsd.proc.remove.return = _addevent.nfsd.proc.remove.return{

update_record()

}

probe _addevent.nfsd.proc.remove.return = nfsd.proc.remove.return{

log_nfs_return(HOOKID_NFSD_PROC_REMOVE_RETURN, $return)

}

probe addevent.nfsd.proc.rename.entry = _addevent.nfsd.proc.rename.entry{

update_record()

}

probe _addevent.nfsd.proc.rename.entry = nfsd.proc.rename{

log_nfsd_proc_rename(fh, version, filename, tfh, tname)

}

probe addevent.nfsd.proc.rename.return = _addevent.nfsd.proc.rename.return{

update_record()

}

probe _addevent.nfsd.proc.rename.return = nfsd.proc.rename.return{

log_nfs_return(HOOKID_NFSD_PROC_RENAME_RETURN, $return)

}

probe addevent.nfsd.proc.create.entry = _addevent.nfsd.proc.create.entry{

update_record()

}

probe _addevent.nfsd.proc.create.entry = nfsd.proc.create{

log_nfsd_proc_create(fh, version, filename)

}

probe addevent.nfsd.proc.create.return = _addevent.nfsd.proc.create.return{

update_record()

}

probe _addevent.nfsd.proc.create.return = nfsd.proc.create.return{

log_nfs_return(HOOKID_NFSD_PROC_CREATE_RETURN, $return)

}

probe never{

printf("%d\\n", GROUP_PROCESS)

}

function log_nfsd_dispatch (client_ip, proto, version, xid, prog, proc)

%{

	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_DISPATCH_ENTRY,"%1b%1b%4b%4b%4b",

		THIS->proto,THIS->version,THIS->xid,THIS->proc,THIS->client_ip);

%}

function log_nfsd_lookup (fhp, filename)

%{ /*pure*/



	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);

	__u64 i_ino[3];



	decode_fh(&fhp->fh_handle,i_ino);		

	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_LOOKUP_ENTRY,"%1b%8b%8b%8b%0s",

		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->filename);

%}

function log_nfsd_create (fhp, filename, type, iap_valid, iap_mode)

%{ /*pure*/



	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);

	

	__u64 i_ino[3];



	decode_fh(&fhp->fh_handle,i_ino);		

	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_CREATE_ENTRY,"%1b%8b%8b%8b%0s%4b%2b%4b",

		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->filename,

		THIS->type,THIS->iap_valid,THIS->iap_mode);

%}

function log_nfsd_createv3 (fhp, filename, createmode, iap_valid, iap_mode)

%{ /*pure*/



	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);

	

	__u64 i_ino[3];



	decode_fh(&fhp->fh_handle,i_ino);		

	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_CREATEV3_ENTRY,"%1b%8b%8b%8b%0s%1b%2b%4b",

		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->filename,

		THIS->createmode,THIS->iap_valid,THIS->iap_mode);

%}

function log_nfsd_unlink (fhp, filename, type)

%{ /*pure*/



	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);

	

	__u64 i_ino[3];



	decode_fh(&fhp->fh_handle,i_ino);		

	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_UNLINK_ENTRY,"%1b%8b%8b%8b%0s%4b",

		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],

		THIS->filename,THIS->type);

%}

function log_nfsd_rename (fhp, filename, tfhp, tname)

%{ /*pure*/



	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);

	struct svc_fh * tfhp = (struct svc_fh*)((long)THIS->tfhp);

	__u64 old_ino[3],i_ino[3];



	decode_fh(&fhp->fh_handle,old_ino);		

	decode_fh(&tfhp->fh_handle,i_ino);		
ME_ENTRY,"%1b%8b%8b%8b%0s%1b%8b%8b%8b%0s",
		(_FMT_)fhp->fh_handle.fh_size,old_ino[0],old_ino[1],old_ino[2],
		THIS->filename, (_FMT_)tfhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
		THIS->tname);
%}
function log_nfsd_open (fhp, type, access)
%{ /*pure*/

	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
	
	__u64 i_ino[3];

	decode_fh(&fhp->fh_handle,i_ino);		
	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_OPEN_ENTRY,"%1b%8b%8b%8b%4b%1b",
		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
		THIS->type,THIS->access);
%}
function log_nfsd_close (filename)
%{ /*pure*/

	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_CLOSE_ENTRY,"%0s",THIS->filename);
%}
function log_nfsd_read (fhp, count, offset, vec, vlen)
%{ /*pure*/
	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
	struct kvec * vec = (struct kvec *)((long)THIS->vec);
	
	__u64 i_ino[3];

	decode_fh(&fhp->fh_handle,i_ino);		
	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_READ_ENTRY,"%1b%8b%8b%8b%8b%8b%8b%8b",
		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
		THIS->count,THIS->offset,(_FMT_)vec->iov_len,THIS->vlen);
%}
function log_nfsd_write (fhp, count, offset, vec, vlen)
%{ /*pure*/
	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
	struct kvec * vec = (struct kvec *)((long)THIS->vec);
	
	__u64 i_ino[3];

	decode_fh(&fhp->fh_handle,i_ino);		
	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_WRITE_ENTRY,"%1b%8b%8b%8b%8b%8b%8b%8b",
		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
		THIS->count,THIS->offset,(_FMT_)vec->iov_len,THIS->vlen);
%}
function log_nfsd_commit (fhp, count, offset)
%{ /*pure*/
	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
	
	__u64 i_ino[3];

	decode_fh(&fhp->fh_handle,i_ino);		
	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_COMMIT_ENTRY,"%1b%8b%8b%8b%8b%8b",
		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
		THIS->count,THIS->offset);
%}
function log_nfsd_proc_lookup (fh, version, filename)
%{ /*pure*/
	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fh);
	
	__u64 i_ino[3];

	decode_fh(&fhp->fh_handle,i_ino);		
	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_LOOKUP_ENTRY,"%1b%8b%8b%8b%1b%0s",
		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
		THIS->version,THIS->filename);
%}
function log_nfsd_proc_read (fhp, version, count, offset, vec, vlen)
%{ /*pure*/
	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
	struct kvec * vec = (struct kvec *)((long)THIS->vec);
	
	__u64 i_ino[3];

	decode_fh(&fhp->fh_handle,i_ino);		
	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_READ_ENTRY,"%1b%8b%8b%8b%1b%8b%8b%8b%8b",
		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->version,
		THIS->count,THIS->offset,(_FMT_)vec->iov_len,THIS->vlen);
%}
function log_nfsd_proc_write (fhp, version, count, offset, vec, vlen)
%{ /*pure*/
	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
	struct kvec * vec = (struct kvec *)((long)THIS->vec);
	
	__u64 i_ino[3];

	decode_fh(&fhp->fh_handle,i_ino);		
	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_WRITE_ENTRY,"%1b%8b%8b%8b%1b%8b%8b%8b%8b",
		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->version,
		THIS->count,THIS->offset,(_FMT_)vec->iov_len,THIS->vlen);
%}
function log_nfsd_proc_commit (fhp, version, count, offset)
%{ /*pure*/
	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
	
	__u64 i_ino[3];

	decode_fh(&fhp->fh_handle,i_ino);		
	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_COMMIT_ENTRY,"%1b%8b%8b%8b%1b%8b%8b",
		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->version,
		THIS->count,THIS->offset);
%}
function log_nfsd_proc_compound (num)
%{ /*pure*/
	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_COMPOUND_ENTRY,"%4b", THIS->num);
%}
function log_nfsd_proc_remove (fhp, version, filename)
%{ /*pure*/
	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
	
	__u64 i_ino[3];

	decode_fh(&fhp->fh_handle,i_ino);		
	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_REMOVE_ENTRY,"%1b%8b%8b%8b%1b%0s",
		(_FMT_)fhp->fh_handle.fh_size,i_ino[
	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_RENAME_ENTRY,"%1b%8b%8b%8b%0s%1b%8b%8b%8b%0s",

		(_FMT_)fhp->fh_handle.fh_size,old_ino[0],old_ino[1],old_ino[2],

		THIS->filename, (_FMT_)tfhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],

		THIS->tname);

%}

function log_nfsd_open (fhp, type, access)

%{ /*pure*/



	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);

	

	__u64 i_ino[3];



	decode_fh(&fhp->fh_handle,i_ino);		

	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_OPEN_ENTRY,"%1b%8b%8b%8b%4b%1b",

		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],

		THIS->type,THIS->access);

%}

function log_nfsd_close (filename)

%{ /*pure*/



	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_CLOSE_ENTRY,"%0s",THIS->filename);

%}

function log_nfsd_read (fhp, count, offset, vec, vlen)

%{ /*pure*/

	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);

	struct kvec * vec = (struct kvec *)((long)THIS->vec);

	

	__u64 i_ino[3];



	decode_fh(&fhp->fh_handle,i_ino);		

	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_READ_ENTRY,"%1b%8b%8b%8b%8b%8b%8b%8b",

		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],

		THIS->count,THIS->offset,(_FMT_)vec->iov_len,THIS->vlen);

%}

function log_nfsd_write (fhp, count, offset, vec, vlen)

%{ /*pure*/

	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);

	struct kvec * vec = (struct kvec *)((long)THIS->vec);

	

	__u64 i_ino[3];



	decode_fh(&fhp->fh_handle,i_ino);		

	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_WRITE_ENTRY,"%1b%8b%8b%8b%8b%8b%8b%8b",

		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],

		THIS->count,THIS->offset,(_FMT_)vec->iov_len,THIS->vlen);

%}

function log_nfsd_commit (fhp, count, offset)

%{ /*pure*/

	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);

	

	__u64 i_ino[3];



	decode_fh(&fhp->fh_handle,i_ino);		

	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_COMMIT_ENTRY,"%1b%8b%8b%8b%8b%8b",

		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],

		THIS->count,THIS->offset);

%}

function log_nfsd_proc_lookup (fh, version, filename)

%{ /*pure*/

	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fh);

	

	__u64 i_ino[3];



	decode_fh(&fhp->fh_handle,i_ino);		

	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_LOOKUP_ENTRY,"%1b%8b%8b%8b%1b%0s",

		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],

		THIS->version,THIS->filename);

%}

function log_nfsd_proc_read (fhp, version, count, offset, vec, vlen)

%{ /*pure*/

	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);

	struct kvec * vec = (struct kvec *)((long)THIS->vec);

	

	__u64 i_ino[3];



	decode_fh(&fhp->fh_handle,i_ino);		

	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_READ_ENTRY,"%1b%8b%8b%8b%1b%8b%8b%8b%8b",

		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->version,

		THIS->count,THIS->offset,(_FMT_)vec->iov_len,THIS->vlen);

%}

function log_nfsd_proc_write (fhp, version, count, offset, vec, vlen)

%{ /*pure*/

	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);

	struct kvec * vec = (struct kvec *)((long)THIS->vec);

	

	__u64 i_ino[3];



	decode_fh(&fhp->fh_handle,i_ino);		

	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_WRITE_ENTRY,"%1b%8b%8b%8b%1b%8b%8b%8b%8b",

		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->version,

		THIS->count,THIS->offset,(_FMT_)vec->iov_len,THIS->vlen);

%}

function log_nfsd_proc_commit (fhp, version, count, offset)

%{ /*pure*/

	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);

	

	__u64 i_ino[3];



	decode_fh(&fhp->fh_handle,i_ino);		

	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_COMMIT_ENTRY,"%1b%8b%8b%8b%1b%8b%8b",

		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->version,

		THIS->count,THIS->offset);

%}

function log_nfsd_proc_compound (num)

%{ /*pure*/

	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_COMPOUND_ENTRY,"%4b", THIS->num);

%}

function log_nfsd_proc_remove (fhp, version, filename)

%{ /*pure*/

	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);

	

	__u64 i_ino[3];



	decode_fh(&fhp->fh_handle,i_ino);		

	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_REMOVE_ENTRY,"%1b%8b%8b%8b%1b%0s",
0],i_ino[1],i_ino[2],THIS->version,
		THIS->filename);
%}
function log_nfsd_proc_rename (fhp, version, filename, tfh, tname)
%{ /*pure*/
	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
	struct svc_fh * tfhp = (struct svc_fh*)((long)THIS->tfh);
	__u64 i_ino[3],o_ino[3];

	decode_fh(&fhp->fh_handle,o_ino);	
	decode_fh(&tfhp->fh_handle,i_ino);	
	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_RENAME_ENTRY,"%1b%1b%8b%8b%8b%0s%1b%8b%8b%8b%0s",
		THIS->version,(_FMT_)fhp->fh_handle.fh_size,o_ino[0],o_ino[1],o_ino[2],
		THIS->filename, (_FMT_)tfhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
		THIS->tname);
%}
function log_nfsd_proc_create (fhp, version, filename)
%{ /*pure*/

	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);
	__u64 i_ino[3];

	decode_fh(&fhp->fh_handle,i_ino);		
	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_CREATE_ENTRY,"%1b%8b%8b%8b%1b%0s",
		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],
		THIS->version,THIS->filename);
%}

# file /usr/local/share/systemtap/tapset/LKET/pagefault.stp
probe addevent.pagefault = _addevent.pagefault{
update_record()
}
probe _addevent.pagefault = vm.pagefault{
log_pagefault_tracedata($address, $write_access)
}
function log_pagefault_tracedata (var_addr, var_rwflag)
%{
	_lket_trace(_GROUP_PAGEFAULT, _HOOKID_PAGEFAULT, "%8b%1b", 
		THIS->var_addr, (_FMT_)((THIS->var_rwflag)?1:0)); 
%}

# file /usr/local/share/systemtap/tapset/LKET/process.stp
probe addevent.process = addevent.process.exit{
}
probe addevent.process.exit = addevent.process.exit.entry{
}
probe addevent.process.exit.entry = _addevent.process.exit.entry{
update_record()
}
probe _addevent.process.exit.entry = process.exit{
log_process_exit(code)
}
probe lket_internal.process = lket_internal.process.execve, lket_internal.process.fork{
}
probe lket_internal.process.execve = _lket_internal.process.execve{
update_record()
}
probe _lket_internal.process.execve = process.exec{
if ((stoptrace_exec) == (1)) next

;
log_execve_tracedata($filename)
}
probe lket_internal.process.fork = _lket_internal.process.fork{
update_record()
}
probe _lket_internal.process.fork = process.create{
if ((stoptrace_fork) == (1)) next

;
log_fork_tracedata($return)
}
probe lket_internal.process{
}
function log_execve_tracedata (var)
%{
	long tmp=(long)THIS->var;
	_lket_trace(_GROUP_PROCESS, _HOOKID_PROCESS_EXECVE, "%4b%4b%4b%0s", 
		(_FMT_)current->pid, (_FMT_)current->tgid, 
		(_FMT_)current->parent->tgid, (char *)tmp); 
%}
function log_fork_tracedata (task)
%{
	/*
	pid_t pid = (pid_t)THIS->var;	
	_lket_trace(_GROUP_PROCESS, THIS->var_id, "%4b", (_FMT_)pid); 
	*/
	struct task_struct *task = (struct task_struct *)((long)THIS->task);
	_lket_trace(_GROUP_PROCESS, _HOOKID_PROCESS_FORK, "%4b%4b%4b", (_FMT_)task->pid, 
		(_FMT_)task->tgid, (_FMT_)task->parent->tgid); 
%}
function process_snapshot ()
%{
	struct task_struct *tsk;
	struct list_head *cur, *head;
	_stp_pbuf *pb;
	int cpu = smp_processor_id();
	char *total_length;
	head = &(current->tasks);

	/* iterate all the processes, and record the pid and process
	name for each entry */
	for_each_process(tsk)  {
		_lket_trace(_GROUP_PROCESS, _HOOKID_PROCESS_SNAPSHOT, "%4b%4b%4b%0s", 
			(_FMT_)tsk->pid, (_FMT_)tsk->tgid, (_FMT_)tsk->parent->tgid, tsk->comm);
#if !defined(ASCII_TRACE)
		pb = per_cpu_ptr(Stp_pbuf, smp_processor_id());
		total_length = &(pb->buf[0]);
		*(int16_t *)total_length = pb->len - 4;
#endif
		_stp_print_flush();
	}
%}
function log_process_exit (code)
%{
	_lket_trace(_GROUP_PROCESS, _HOOKID_PROCESS_EXIT_ENTRY,
		"%8b", THIS->code);
%}

# file /usr/local/share/systemtap/tapset/LKET/register_event.stp
%{

#define _MAXGROUPID  0xFF
#define _MAXHOOKID   0xFF

int get_fmtcode(char *fmt)
{
	if(strncmp(fmt, "INT8", 4) != 0 &&
		strncmp(fmt, "INT16", 5) != 0 &&
		strncmp(fmt, "INT32", 5) != 0 &&
		strncmp(fmt, "INT64", 5) != 0 &&
		strncmp(fmt, "STRING", 6) != 0)  
		return -1;
	else
		return 0;
}

void _register_event(int grpid, int h
		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],THIS->version,

		THIS->filename);

%}

function log_nfsd_proc_rename (fhp, version, filename, tfh, tname)

%{ /*pure*/

	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);

	struct svc_fh * tfhp = (struct svc_fh*)((long)THIS->tfh);

	__u64 i_ino[3],o_ino[3];



	decode_fh(&fhp->fh_handle,o_ino);	

	decode_fh(&tfhp->fh_handle,i_ino);	

	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_RENAME_ENTRY,"%1b%1b%8b%8b%8b%0s%1b%8b%8b%8b%0s",

		THIS->version,(_FMT_)fhp->fh_handle.fh_size,o_ino[0],o_ino[1],o_ino[2],

		THIS->filename, (_FMT_)tfhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],

		THIS->tname);

%}

function log_nfsd_proc_create (fhp, version, filename)

%{ /*pure*/



	struct svc_fh * fhp = (struct svc_fh*)((long)THIS->fhp);

	__u64 i_ino[3];



	decode_fh(&fhp->fh_handle,i_ino);		

	_lket_trace(_GROUP_NFSD,_HOOKID_NFSD_PROC_CREATE_ENTRY,"%1b%8b%8b%8b%1b%0s",

		(_FMT_)fhp->fh_handle.fh_size,i_ino[0],i_ino[1],i_ino[2],

		THIS->version,THIS->filename);

%}



# file /usr/local/share/systemtap/tapset/LKET/pagefault.stp

probe addevent.pagefault = _addevent.pagefault{

update_record()

}

probe _addevent.pagefault = vm.pagefault{

log_pagefault_tracedata($address, $write_access)

}

function log_pagefault_tracedata (var_addr, var_rwflag)

%{

	_lket_trace(_GROUP_PAGEFAULT, _HOOKID_PAGEFAULT, "%8b%1b", 

		THIS->var_addr, (_FMT_)((THIS->var_rwflag)?1:0)); 

%}



# file /usr/local/share/systemtap/tapset/LKET/process.stp

probe addevent.process = addevent.process.exit{

}

probe addevent.process.exit = addevent.process.exit.entry{

}

probe addevent.process.exit.entry = _addevent.process.exit.entry{

update_record()

}

probe _addevent.process.exit.entry = process.exit{

log_process_exit(code)

}

probe lket_internal.process = lket_internal.process.execve, lket_internal.process.fork{

}

probe lket_internal.process.execve = _lket_internal.process.execve{

update_record()

}

probe _lket_internal.p