summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tapset/ChangeLog5
-rw-r--r--tapset/ioblock.stp4
-rw-r--r--tapset/scsi.stp7
-rw-r--r--testsuite/ChangeLog5
-rwxr-xr-xtestsuite/buildok/context_test.stp4
-rwxr-xr-xtestsuite/buildok/ioblock_test.stp17
6 files changed, 36 insertions, 6 deletions
diff --git a/tapset/ChangeLog b/tapset/ChangeLog
index b692f227..20f9e4ff 100644
--- a/tapset/ChangeLog
+++ b/tapset/ChangeLog
@@ -1,3 +1,8 @@
+2008-10-28 Wenji Huang <wenji.huang@oracle.com>
+
+ * ioblock.stp (ioblock.request, ioblock.end): Correct for 2.6.28.
+ * scsi.stp (scsi_timer_pending): Ditto.
+
2008-10-27 William Cohen <wcohen@redhat.com>
* vfs.stp (vfs.(read|write){.return}): Add dev and devname variables.
diff --git a/tapset/ioblock.stp b/tapset/ioblock.stp
index 14ce3f6b..4bf7ad92 100644
--- a/tapset/ioblock.stp
+++ b/tapset/ioblock.stp
@@ -122,7 +122,9 @@ probe ioblock.request = kernel.function ("generic_make_request")
vcnt = $bio->bi_vcnt
idx = $bio->bi_idx
phys_segments = $bio->bi_phys_segments
+%(kernel_v < "2.6.28" %?
hw_segments = $bio->bi_hw_segments
+%)
size = $bio->bi_size
bdev = $bio->bi_bdev
@@ -176,6 +178,8 @@ probe ioblock.end = kernel.function("bio_endio")
vcnt = $bio->bi_vcnt
idx = $bio->bi_idx
phys_segments = $bio->bi_phys_segments
+%(kernel_v < "2.6.28" %?
hw_segments = $bio->bi_hw_segments
+%)
size = $bio->bi_size
}
diff --git a/tapset/scsi.stp b/tapset/scsi.stp
index 7787b6d6..ed96b430 100644
--- a/tapset/scsi.stp
+++ b/tapset/scsi.stp
@@ -87,7 +87,14 @@ probe scsi.iocompleted
function scsi_timer_pending:long(var:long)
%{ /* pure */
struct scsi_cmnd *cmd = (struct scsi_cmnd *)((long)THIS->var);
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
THIS->__retvalue = timer_pending(&cmd->eh_timeout); /* FIXME: deref hazard! */
+#else
+ struct request *req = (struct request *)kread(&cmd->request);
+ struct request_queue *rq = (struct request_queue *)kread(&req->q);
+ THIS->__retvalue = timer_pending(&rq->timeout); /* FIXME: deref hazard! */
+ CATCH_DEREF_FAULT();
+#endif
%}
function get_devstate_from_req:long(var:long)
diff --git a/testsuite/ChangeLog b/testsuite/ChangeLog
index ec4cc401..9c82f35a 100644
--- a/testsuite/ChangeLog
+++ b/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2008-10-28 Wenji Huang <wenji.huang@oracle.com>
+
+ * buildok/context_test.stp: Correct for 2.6.28.
+ * buildok/ioblock_test.stp: Ditto.
+
2008-10-27 Josh Stone <joshua.i.stone@intel.com>
* systemtap.printf/char1.stp: Expose i686 failure
diff --git a/testsuite/buildok/context_test.stp b/testsuite/buildok/context_test.stp
index e98b0065..84f1cbf1 100755
--- a/testsuite/buildok/context_test.stp
+++ b/testsuite/buildok/context_test.stp
@@ -20,12 +20,12 @@ function print_stuff () {
printf("pp is %s\n", pp())
}
-probe kernel.function("uptime_read_proc") {
+probe kernel.function("uptime_read_proc") ? {
print("NOW IN UPTIME\n")
print_stuff ()
}
-probe kernel.function("uptime_read_proc").return {
+probe kernel.function("uptime_read_proc").return ? {
print("DONE WITH UPTIME\n")
print_stuff ()
exit ()
diff --git a/testsuite/buildok/ioblock_test.stp b/testsuite/buildok/ioblock_test.stp
index 3faaab15..4d3dadfa 100755
--- a/testsuite/buildok/ioblock_test.stp
+++ b/testsuite/buildok/ioblock_test.stp
@@ -5,14 +5,23 @@ probe ioblock.request {
add_part = 0
if (bdev != bdev_contains)
add_part = p_start_sect
+%(kernel_v < "2.6.28" %?
printf("%s\t%d\t%d\t%d\t%s\t%d\t%d\t%d\t%d\t%d\t%d\t%d\n",
- devname, sector, flags, rw, bio_rw_str(rw), vcnt, idx, phys_segments,
- hw_segments, size, add_part, ino)
+ devname, sector, flags, rw, bio_rw_str(rw), vcnt, idx, phys_segments, hw_segments, size, add_part, ino)
+%:
+ printf("%s\t%d\t%d\t%d\t%s\t%d\t%d\t%d\t%d\t%d\t%d\n",
+ devname, sector, flags, rw, bio_rw_str(rw), vcnt, idx, phys_segments, size, add_part, ino)
+%)
+
}
probe ioblock.end {
log(pp())
+%(kernel_v < "2.6.28" %?
printf("%s\t%d\t%d\t%d\t%s\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d\n",
- devname, sector, flags, rw, bio_rw_str(rw), vcnt, idx, phys_segments,
- hw_segments, size, bytes_done, error, ino)
+ devname, sector, flags, rw, bio_rw_str(rw), vcnt, idx, phys_segments, hw_segments, size, bytes_done, error, ino)
+%:
+ printf("%s\t%d\t%d\t%d\t%s\t%d\t%d\t%d\t%d\t%d\t%d\t%d\n",
+ devname, sector, flags, rw, bio_rw_str(rw), vcnt, idx, phys_segments, size, bytes_done, error, ino)
+%)
}