Could you please supply the full script please? It might give some clue as to
where the problem is.


I have found my mistake: "action #7" means line 7 in the probe and has nothing to do with the parameters of the probed function. So I could handle this NULL-problem and now my probe fires correct. This is the (corrected) probe:

fbt::breadn_flags:entry
/self->bread && args[6] == 0/
{
   this->bread_vnode = args[0];
   this->bread_blkno = (unsigned long)args[1];
   this->bread_inode = (struct inode *)(this->bread_vnode->v_data);
   this->bread_inum = this->bread_inode->i_number;
   this->bread_gj = this->bread_vnode->v_mount->mnt_gjprovider != NULL ?
       stringof(this->bread_vnode->v_mount->mnt_gjprovider) : "<NULL>";
   printf("        gj=%s, inum=%u, blkno=%lu\n", this->bread_gj,
                   this->bread_inum, this->bread_blkno );
}

and now it fires like this:
1  31371        breadn_flags:entry       gj=<NULL>, inum=0, blkno=320

Thaks for help!
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-dtrace
To unsubscribe, send any mail to "[email protected]"

Reply via email to