diff options
author | root <root@srdronam.in.ibm.com> | 2008-06-27 13:57:52 +0530 |
---|---|---|
committer | root <root@srdronam.in.ibm.com> | 2008-06-27 13:57:52 +0530 |
commit | 471ca45b8e46177b5ee2f1f7eb4bf7d7881793df (patch) | |
tree | 725d6d201f858762753e4f8da441c0f9f6e062be /testsuite/buildok/vfs_testcase.stp | |
parent | 93126f9efcd0511e2034a44fe8e5dfdcb80095af (diff) | |
download | systemtap-steved-471ca45b8e46177b5ee2f1f7eb4bf7d7881793df.tar.gz systemtap-steved-471ca45b8e46177b5ee2f1f7eb4bf7d7881793df.tar.xz systemtap-steved-471ca45b8e46177b5ee2f1f7eb4bf7d7881793df.zip |
This commit makes changes to the VFS tapset. The changes include deprecation of
some old probe points to older versions of kernel, adding new helper C functions
and probe points for the VFS subsystem. A new testcase is created for the VFS
tapset which performs a compile test (i.e. up4) on the probe points to verify
sanity. These details can also be found in the ChangeLog.
Diffstat (limited to 'testsuite/buildok/vfs_testcase.stp')
-rw-r--r-- | testsuite/buildok/vfs_testcase.stp | 461 |
1 files changed, 461 insertions, 0 deletions
diff --git a/testsuite/buildok/vfs_testcase.stp b/testsuite/buildok/vfs_testcase.stp new file mode 100644 index 00000000..dc78399c --- /dev/null +++ b/testsuite/buildok/vfs_testcase.stp @@ -0,0 +1,461 @@ +#! stap -up4 +probe generic.fop.llseek +{ + print("Probe hit the function: %s\n", name); + print("Probe function argstr: %s\n", argstr); + print("dev = %l\n", dev); + print("devname = %s\n", devname); + print("ino = %l\n", ino); + print("file = %p\n", file); + print("offset = %ll\n", offset); + print("origin = %d\n", origin); + print("maxbyte = %l\n", maxbyte); +} + +probe generic.fop.llseek.return +{ + print("Probe return from function: %s with return value = %s\n", name, retstr); +} + +probe generic.fop.aio_read +{ + print("Probe hit the function: %s\n", name); + print("Probe function argstr: %s\n", argstr); + print("file = %p\n", file); + print("devname = %s\n", devname); + print("ino = %l\n", ino); + print("pos = %ll\n", pos); + print("size = %l\n", size); + print("buf = %p\n", buf); +} + +probe generic.fop.aio_read.return +{ + print("Probe return from function: %s with return value = %s\n", name, retstr); +} + +probe generic.fop.aio_write +{ + print("Probe hit the function: %s\n", name); + print("Probe function argstr: %s\n", argstr); + print("file = %p\n", file); + print("devname = %s\n", devname); + print("ino = %l\n", ino); + print("pos = %ll\n", pos); + print("size = %l\n", size); + print("buf = %p\n", buf); +} + +probe generic.fop.aio_write.return +{ + print("Probe return from function: %s with return value = %s\n", name, retstr); +} + +%( kernel_v < "2.6.19" %? +probe generic.fop.readv +{ + print("Probe hit the function: %s\n", name); + print("Probe function argstr: %s\n", argstr); + print("dev = %l\n", dev); + print("devname = %s\n", devname); + print("ino = %l\n", ino); + print("size = %lu\n", size); + print("pos = %ll\n", pos); +} + +probe generic.fop.readv.return +{ + print("Probe return from function: %s with return value = %s\n", name, retstr); +} + +probe generic.fop.writev +{ + print("Probe hit the function: %s\n", name); + print("Probe function argstr: %s\n", argstr); + print("dev = %l\n", dev); + print("devname = %s\n", devname); + print("ino = %l\n", ino); + print("size = %lu\n", size); + print("pos = %ll\n", pos); +} + +probe generic.fop.writev.return +{ + print("Probe return from function: %s with return value = %s\n", name, retstr); +} +%: +%) + +probe generic.fop.mmap +{ + print("Probe hit the function: %s\n", name); + print("Probe function argstr: %s\n", argstr); + print("file = %p\n", file); + print("dev = %l\n", dev); + print("devname = %s\n", devname); + print("ino = %l\n", ino); + print("vm_start = %lu\n", vm_start); + print("vm_end = %lu\n", vm_end); + print("vm_flags = %lu\n", vm_flags); +} + +probe generic.fop.mmap.return +{ + print("Probe return from function: %s with return value = %s\n", name, retstr); +} + +probe generic.fop.open +{ + print("Probe hit the function: %s\n", name); + print("Probe function argstr: %s\n", argstr); + print("dev = %l\n", dev); + print("devname = %s\n", devname); + print("ino = %l\n", ino); + print("size = %lu\n", size); + print("filename: %s\n", filename); + print("flag = %u\n", flag); +} + +probe generic.fop.open.return +{ + print("Probe return from function: %s with return value = %s\n", name, retstr); +} + +%( kernel_v < "2.6.23" %? +probe generic.fop.sendfile +{ + print("Probe hit the function: %s\n", name); + print("Probe function argstr: %s\n", argstr); + print("file = %p\n", file); + print("dev = %l\n", dev); + print("devname = %s\n", devname); + print("ino = %l\n", ino); + print("pos = %ll\n", pos); + print("size = %l\n", size); +} + +probe generic.fop.sendfile.return +{ + print("Probe return from function: %s with return value = %s\n", name, retstr); +} +%) + + +probe generic.fop.splice_read +{ + print("Probe hit the function: %s\n", name); + print("Probe function argstr: %s\n", argstr); + print("file = %p\n", file); + print("dev = %l\n", dev); + print("devname = %s\n", devname); + print("ino = %l\n", ino); + print("size = %l\n", size); + print("flags = %u\n", flags); +} + +probe generic.fop.splice_read.return +{ + print("Probe return from function: %s with return value = %s\n", name, retstr); +} + +probe generic.fop.splice_write +{ + print("Probe hit the function: %s\n", name); + print("Probe function argstr: %s\n", argstr); + print("file = %p\n", file); + print("dev = %l\n", dev); + print("devname = %s\n", devname); + print("ino = %l\n", ino); + print("size = %l\n", size); + print("flags = %u\n", flags); +} + +probe generic.fop.splice_write.return +{ + print("Probe return from function: %s with return value = %s\n", name, retstr); +} + +%( kernel_v < "2.6.19" %? +probe generic.fop.read +{ + print("Probe hit the function: %s\n", name); + print("Probe function argstr: %s\n", argstr); + print("file = %p\n", file); + print("dev = %l\n", dev); + print("devname = %s\n", devname); + print("ino = %l\n", ino); + print("size = %l\n", size); +} + +probe generic.fop.read.return +{ + print("Probe return from function: %s with return value = %s\n", name, retstr); +} + +probe generic.fop.write +{ + print("Probe hit the function: %s\n", name); + print("Probe function argstr: %s\n", argstr); + print("dev = %l\n", dev); + print("devname = %s\n", devname); + print("ino = %l\n", ino); + print("size = %l\n", size); +} + +probe generic.fop.write.return +{ + print("Probe return from function: %s with return value = %s\n", name, retstr); +} +%) + +probe generic.aop.writepages +{ + print("Probe hit the function: %s\n", name); + print("Probe function argstr: %s\n", argstr); + print("dev = %l\n", dev); + print("devname = %s\n", devname); + print("ino = %l\n", ino); + print("size = %l\n", size); +} + +probe generic.aop.writepages.return +{ + print("Probe return from function: %s with return value = %s\n", name, retstr); +} + +probe vfs.do_sync_read +{ + print("Probe hit the function: %s\n", name); + print("Probe function argstr: %s\n", argstr); + print("dev = %l\n", dev); + print("ino = %l\n", ino); + print("size = %l\n", size); + print("pos = %ll\n", pos); + print("buf = %u\n", buf); +} + +probe vfs.do_sync_read.return +{ + print("Probe return from function: %s with return value = %s\n", name, retstr); +} + +probe vfs.do_sync_write +{ + print("Probe hit the function: %s\n", name); + print("Probe function argstr: %s\n", argstr); + print("dev = %l\n", dev); + print("devname = %s\n", devname); + print("ino = %l\n", ino); + print("size = %l\n", size); + print("pos = %ll\n", pos); + print("buf = %u\n", buf); +} + +probe vfs.do_sync_write.return +{ + print("Probe return from function: %s with return value = %s\n", name, retstr); +} + +probe vfs.block_sync_page +{ + print("Probe hit the function: %s\n", name); + print("Probe function argstr: %s\n", argstr); + print("dev = %l\n", dev); + print("devname = %s\n", devname); + print("ino = %l\n", ino); + print("size = %l\n", size); + print("page_index = %l\n", page_index); +} + +probe vfs.block_sync_page.return +{ + print("Probe return from function: %s with return value = %s\n", name, retstr); +} + + +probe vfs.__set_page_dirty_buffers +{ + print("Probe hit the function: %s\n", name); + print("Probe function argstr: %s\n", argstr); + print("dev = %l\n", dev); + print("devname = %s\n", devname); + print("ino = %l\n", ino); + print("size = %l\n", size); + print("index = %l\n", index); +} + +probe vfs.__set_page_dirty_buffers.return +{ + print("Probe return from function: %s with return value = %s\n", name, retstr); +} + +probe vfs.do_mpage_readpage +{ + print("Probe hit the function: %s\n", name); + print("Probe function argstr: %s\n", argstr); + print("dev = %l\n", dev); + print("devname = %s\n", devname); + print("ino = %l\n", ino); + print("size = %l\n", size); + print("index = %l\n", index); +} + +probe vfs.do_mpage_readpage.return +{ + print("Probe return from function: %s with return value = %s\n", name, retstr); +} + +probe vfs.add_to_page_cache +{ + print("Probe hit the function: %s\n", name); + print("Probe function argstr: %s\n", argstr); + print("dev = %l\n", dev); + print("devname = %s\n", devname); + print("ino = %l\n", ino); + print("index = %ll\n", index); + print("nrpages = %lu\n", nrpages); +} + +probe vfs.add_to_page_cache.return +{ + print("Probe return from function: %s with return value = %s\n", name, retstr); +} + +probe vfs.remove_from_page_cache +{ + print("Probe hit the function: %s\n", name); + print("Probe function argstr: %s\n", argstr); + print("dev = %l\n", dev); + print("devname = %s\n", devname); + print("ino = %l\n", ino); + print("index = %ll\n", index); +} + +probe vfs.remove_from_page_cache.return +{ + print("Probe return from function: %s with return value = %s\n", name, retstr); +} + +probe vfs.read +{ + print("Probe hit the function: %s\n", probefunc()); + print("file = %p\n", file); + print("pos = %p\n", pos); + print("buf = %p\n", buf); +} + +probe vfs.read.return +{ + print("Probe return from function: %s with return value = %s\n", probefunc(), ret); +} + +probe vfs.readv +{ + print("Probe hit the function: %s\n", probefunc()); + print("file = %p\n", file); + print("pos = %p\n", pos); + print("vec = %p\n", vec); + print("vlen = %lu\n", vlen); +} + +probe vfs.readv.return +{ + print("Probe return from function: %s with return value = %s\n", probefunc(), ret); +} + +probe vfs.write +{ + print("Probe hit the function: %s\n", probefunc()); + print("file = %p\n", file); + print("pos = %p\n", pos); + print("buf = %p\n", buf); +} + +probe vfs.write.return +{ + print("Probe return from function: %s with return value = %s\n", probefunc(), ret); +} + +probe vfs.writev +{ + print("Probe hit the function: %s\n", probefunc()); + print("file = %p\n", file); + print("pos = %p\n", pos); + print("vec = %p\n", vec); + print("vlen = %lu\n", vlen); +} + +probe vfs.writev.return +{ + print("Probe return from function: %s with return value = %s\n", probefunc(), ret); +} + +probe _vfs.generic_file_readonly_mmap +{ + print("Probe hit the function: %s\n", probefunc()); + print("file = %p\n", file); + print("vma = %p\n", vma); +} + +probe _vfs.generic_file_readonly_mmap.return +{ + print("Probe return from function: %s with return value = %s\n", probefunc(), ret); +} + +probe _vfs.generic_block_bmap +{ + print("Probe hit the function: %s\n", probefunc()); + print("mapping = %p\n", mapping); + print("block = %llu\n", block); + print("get_block = %p\n", get_block); +} + +probe _vfs.generic_commit_write +{ + print("Probe hit the function: %s\n", probefunc()); + print("file = %p\n", file); + print("page = %p\n", page); + print("from = %u to=%u\n", from, to); +} + +probe _vfs.block_prepare_write +{ + print("Probe hit the function: %s\n", probefunc()); + print("_inode = %p\n", _inode); + print("page = %p\n", page); + print("write_from = %u write_upto=%u\n", write_from, write_upto); +} +probe _vfs.block_prepare_write.return +{ + print("Probe return from function: %s with return value = %s\n", probefunc(), ret); +} + +probe _vfs.block_write_begin +{ + print("Probe hit the function: %s\n", probefunc()); + print("file = %p\n", file); + print("pos = %llu\n", pos); + print("len = %u\n", len); + print("flags = %u\n", flags); + print("_inode = %l\n", _inode); +} +probe _vfs.block_write_begin.return +{ + print("Probe return from function: %s with return value = %s\n", probefunc(), ret); +} + +probe _vfs.block_write_end +{ + print("Probe hit the function: %s\n", probefunc()); + print("file = %p\n", file); + print("pos = %llu\n", pos); + print("len = %u\n", len); + print("page = %p\n", page); + print("_inode = %l\n", _inode); +} + +probe _vfs.block_write_end.return +{ + print("Probe return from function: %s with return value = %s\n", probefunc(), ret); +} + |