From ac364fb366d664ec61d60532d3de34fb59423463 Mon Sep 17 00:00:00 2001 From: Wenji Huang Date: Fri, 4 Jun 2010 11:05:38 +0800 Subject: [PATCH] Make rpc.stap and tcpmib.stp compatible with 2.6.35 * tapset/rpc.stp: access structure member for om_{queue,rtt,execute}. * tapset/tcpmib.stp: change _skb_dst to _skb_refdst. --- tapset/rpc.stp | 14 +++++++++++--- tapset/tcpmib.stp | 5 +++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/tapset/rpc.stp b/tapset/rpc.stp index c96818f7c..d97add45d 100644 --- a/tapset/rpc.stp +++ b/tapset/rpc.stp @@ -340,9 +340,17 @@ probe sunrpc.clnt.shutdown_client = kernel.function("rpc_shutdown_client") !, om_ntrans = $clnt->cl_metrics->om_ntrans om_bytes_sent = $clnt->cl_metrics->om_bytes_sent om_bytes_recv = $clnt->cl_metrics->om_bytes_recv - om_queue = $clnt->cl_metrics->om_queue - om_rtt = $clnt->cl_metrics->om_rtt - om_execute = $clnt->cl_metrics->om_execute + if (@defined($clnt->cl_metrics->om_queue->tv64)) { + om_queue = $clnt->cl_metrics->om_queue->tv64 + om_rtt = $clnt->cl_metrics->om_rtt->tv64 + om_execute = $clnt->cl_metrics->om_execute->tv64 + } + else + { + om_queue = $clnt->cl_metrics->om_queue + om_rtt = $clnt->cl_metrics->om_rtt + om_execute = $clnt->cl_metrics->om_execute + } } else { om_ops = -1 diff --git a/tapset/tcpmib.stp b/tapset/tcpmib.stp index 198d2468e..ba5955639 100644 --- a/tapset/tcpmib.stp +++ b/tapset/tcpmib.stp @@ -261,6 +261,10 @@ function _tcpmib_input_route_type:long (skb:long) struct rtable *rt; struct sk_buff *skb = (struct sk_buff *)(long)THIS->skb; + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35) + rt = (struct rtable *)kread(&(skb->_skb_refdst)); + #else + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,31) rt = (struct rtable *)kread(&(skb->_skb_dst)); #else @@ -271,6 +275,7 @@ function _tcpmib_input_route_type:long (skb:long) rt = (struct rtable *)kread(&(skb->rtable)); #endif #endif + #endif if ( rt ) THIS->__retvalue = kread(&(rt->rt_type)); -- 2.43.5