stucture element variable access problem
Li Guanglei
guanglei@cn.ibm.com
Fri May 19 04:24:00 GMT 2006
Mao, Bibo ôµÃ:
> My kernel version is 2.6.9-36.ELia32, and it will use $q->elevator.elevator_name get its name, for kernel >2.6.10 $q->elevator->elevator_type->elevator_name will be used to get the name.
> My original meaning is that if variable is structure pointer type, it will be ok to access its element like "elevator_type->elevator_name". But if the variable is structure type but not pointer type, there will be error to access its element like "elevator.elevator_name".
> In my IA32 and IA64 box, there will be the same error on 2.6.9-36.EL version. I do not know whether there is one method to access structure type variable's element.
>
You should use:
$q->elevator->elevator_name
instead of:
$q->elevator.elevator_name
The following script works well for me on 2.6.9-34.19.EL/ppc64
probe kernel.function("__elv_add_request")
{
elevator_name = kernel_string($q->elevator->elevator_name)
printf("%s\n", elevator_name)
}
More information about the Systemtap
mailing list