diff options
-rw-r--r-- | tapset/ChangeLog | 5 | ||||
-rw-r--r-- | tapset/ioblock.stp | 4 | ||||
-rw-r--r-- | tapset/scsi.stp | 7 | ||||
-rw-r--r-- | testsuite/ChangeLog | 5 | ||||
-rwxr-xr-x | testsuite/buildok/context_test.stp | 4 | ||||
-rwxr-xr-x | testsuite/buildok/ioblock_test.stp | 17 |
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) +%) } |