summaryrefslogtreecommitdiffstats
path: root/tapset
diff options
context:
space:
mode:
authorddomingo <ddomingo@redhat.com>2008-09-29 16:08:16 +1000
committerddomingo <ddomingo@redhat.com>2008-09-29 16:08:16 +1000
commit2e66077954be9d219e0b87926af1dc87138d99dc (patch)
tree090acfc6e37967ec1e369d943f0a43764d47bfc5 /tapset
parentc45b18d71eb8d57db62fced5774c12adcaf4eaba (diff)
parentb487a14d6d160f38dd1dbabe305b373b37972074 (diff)
downloadsystemtap-steved-2e66077954be9d219e0b87926af1dc87138d99dc.tar.gz
systemtap-steved-2e66077954be9d219e0b87926af1dc87138d99dc.tar.xz
systemtap-steved-2e66077954be9d219e0b87926af1dc87138d99dc.zip
Merge branch 'master' of ssh://sources.redhat.com/git/systemtap
Diffstat (limited to 'tapset')
-rw-r--r--tapset/ChangeLog9
-rw-r--r--tapset/socket.stp34
2 files changed, 37 insertions, 6 deletions
diff --git a/tapset/ChangeLog b/tapset/ChangeLog
index 94531989..b3f09767 100644
--- a/tapset/ChangeLog
+++ b/tapset/ChangeLog
@@ -1,3 +1,12 @@
+2008-09-23 Zhaolei <zhaolei@cn.fujitsu.com>
+
+ * socket.stp (socket.aio_read/write): Fix version-checking method.
+
+2008-09-22 Zhaolei <zhaolei@cn.fujitsu.com>
+
+ * socket.stp (socket.aio_read/write): Fix the semantic error
+ caused by the difference of kernel versions.
+
2008-09-18 Mark Wielaard <mjw@redhat.com>
* aux_syscalls.stp (_reboot_magic_str): Moved reboot.h include out.
diff --git a/tapset/socket.stp b/tapset/socket.stp
index 3197a0e2..5c521a33 100644
--- a/tapset/socket.stp
+++ b/tapset/socket.stp
@@ -214,15 +214,26 @@ probe socket.recvmsg.return = kernel.function ("sock_recvmsg").return
* state Socket state value
* flags Socket flags value
* type Socket type value
+ *
+ * 2.6.9~2.6.15:
+ * static ssize_t sock_aio_write(struct kiocb *iocb, const char __user *ubuf, size_t size, loff_t pos);
+ * 2.6.16~2.6.18:
+ * static ssize_t sock_aio_write(struct kiocb *iocb, const char __user *ubuf, size_t count, loff_t pos);
+ * 2.6.19~2.6.26:
+ * static ssize_t sock_aio_write(struct kiocb *iocb, const struct iovec *iov, unsigned long nr_segs, loff_t pos);
*/
probe socket.aio_write = kernel.function ("sock_aio_write")
{
name = "socket.aio_write"
_sock = _get_sock_addr ($iocb->ki_filp)
-%( kernel_v < "2.6.19" %?
- size = $count
+%( kernel_v < "2.6.16" %?
+ size = $size
%:
- size = _get_sock_size ($iov, $nr_segs)
+ %( kernel_v < "2.6.19" %?
+ size = $count
+ %:
+ size = _get_sock_size ($iov, $nr_segs)
+ %)
%)
protocol = _sock_prot_num (_sock)
family = _sock_fam_num (_sock)
@@ -281,15 +292,26 @@ probe socket.aio_write.return = kernel.function ("sock_aio_write").return
* state Socket state value
* flags Socket flags value
* type Socket type value
+ *
+ * 2.6.9~2.6.15:
+ * static ssize_t sock_aio_read(struct kiocb *iocb, char __user *ubuf, size_t size, loff_t pos);
+ * 2.6.16~2.6.18:
+ * static ssize_t sock_aio_read(struct kiocb *iocb, char __user *ubuf, size_t count, loff_t pos);
+ * 2.6.19~2.6.26:
+ * static ssize_t sock_aio_read(struct kiocb *iocb, const struct iovec *iov, unsigned long nr_segs, loff_t pos);
*/
probe socket.aio_read = kernel.function ("sock_aio_read")
{
name = "socket.aio_read"
_sock = _get_sock_addr ($iocb->ki_filp)
-%( kernel_v < "2.6.19" %?
- size = $count
+%( kernel_v < "2.6.16" %?
+ size = $size
%:
- size = _get_sock_size ($iov, $nr_segs)
+ %( kernel_v < "2.6.19" %?
+ size = $count
+ %:
+ size = _get_sock_size ($iov, $nr_segs)
+ %)
%)
protocol = _sock_prot_num (_sock)
family = _sock_fam_num (_sock)