Janice Chang writes:
> If I set "this->vpp" to arg2 in an entry function to zfs_lookup(), I'd
Do you really mean "this" or do you mean "self?" The latter is the
one that is tied to a thread and spans action blocks. The former gets
discarded at the end of the current action (and wouldn't be useful for
saving data between function entry and return, for example).
> like to retrieve the value of one of the fields of *(this->vpp) in the
> return function. Something like the below (but the syntax below is not
> right):
>
> printf("zfs_lookup: %d", (*((vnode_t **)this->vpp))->v_count);
Typically, when I assign a variable in dtrace, I cast it first, like
this:
fbt::foo:entry
{
self->vpp = (vnode_t **)arg0;
}
fbt::foo:return
/self->vpp/
{
printf("zfs_lookup: %d", (*self->vpp)->v_count);
self->vpp = 0;
}
--
James Carlson, Solaris Networking <[EMAIL PROTECTED]>
Sun Microsystems / 35 Network Drive 71.232W Vox +1 781 442 2084
MS UBUR02-212 / Burlington MA 01803-2757 42.496N Fax +1 781 442 1677
_______________________________________________
dtrace-discuss mailing list
[email protected]