This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: prototype ext3 tapset
- From: Xue Peng Li <xuepengl at cn dot ibm dot com>
- To: systemtap at sourceware dot org
- Date: Tue, 08 Aug 2006 18:01:40 +0800
- Subject: Re: prototype ext3 tapset
Hi TOM,
I am working on nfs tapset recently. I reuses vfs.stp from you to
avoid some duplicated work. During the working on ext3.stp and vfs.stp,
I makes some changes to ext3.stp and vfs.stp. I adds some new variables
in those two files.
One question is about "datasync" in probe ext3.fop.fsync,i am not sure
this variable contains some important information,but it's never used in
the ext3_sync_file ,so i delete it in probe ext3.fop.fsync.
How about your idea?
Attached is the detail of the changes
- Xuepeng
--- ext3.stp 2006-08-03 16:31:13.000000000 -0400
+++ ext3.stp.bnk 2006-08-03 16:31:51.000000000 -0400
@@ -158,9 +158,12 @@
dev = $filp->f_dentry->d_inode->i_sb->s_dev
devname = __find_bdevname(dev, $filp->f_dentry->d_inode->i_sb->s_bdev)
ino = $inode->i_ino
+
+ count = $inode->i_writecount->counter
+ mode = $filp->f_mode
name = "ext3.fop.release"
- argstr = sprintf("%d" , ino)
+ argstr = sprintf("%d,%d" , count,mode)
}
probe ext3.fop.release.return = kernel.function ("ext3_release_file").return ?,
module("ext3").function ("ext3_release_file").return ?
@@ -176,10 +179,8 @@
devname = __find_bdevname(dev, $file->f_dentry->d_inode->i_sb->s_bdev)
ino = $file->f_dentry->d_inode->i_ino
- datasync = $datasync
-
name = "ext3.fop.fsync"
- argstr = sprintf("%d" , datasync)
+ argstr = sprintf("%d" , ino)
}
probe ext3.fop.fsync.return = kernel.function ("ext3_sync_file").return ?,
module("ext3").function ("ext3_sync_file").return ?
--- vfs.stp 2006-08-03 16:31:17.000000000 -0400
+++ vfs.stp.bnk 2006-08-03 16:31:41.000000000 -0400
@@ -96,6 +96,7 @@
offset = $offset
origin = $origin
+ maxbyte = $file->f_dentry->d_inode->i_sb->s_maxbytes
name = "generic_file_llseek"
argstr = sprintf("%d, %d", offset, origin)
@@ -115,9 +116,10 @@
count = $count
pos = $pos
+ buf = $buf
name = "generic_file_aio_read"
- argstr = sprintf("%d, %d", count, pos)
+ argstr = sprintf("%d, %d, %p", count, pos,buf)
size = count
units = "bytes"
@@ -241,9 +243,11 @@
ino = $inode->i_ino
filename = kernel_string($filp->f_dentry->d_name->name)
+ flag = $filp->f_flags
+ size = $inode->size
name = "generic_file_open"
- argstr = sprintf("%d, %s", ino, filename)
+ argstr = sprintf("%d, %s", ino, flag, filename)
}
probe generic.fop.open.return = kernel.function ("generic_file_open").return
{
@@ -258,6 +262,7 @@
ino = $in_file->f_dentry->d_inode->i_ino
count = $count
+ ppos = $ppos
name = "generic_file_sendfile"
argstr = sprintf("%d", count)
@@ -406,9 +411,10 @@
len = $len
pos = ppos_pos($ppos)
+ buf = $buf
name = "do_sync_read"
- argstr = sprintf("%d, %d", len, pos)
+ argstr = sprintf("%d, %d , %p ", len, pos,buf)
size = len
units = "bytes"