Paul Mininni wrote:
> With this simple dtrace script it seems that I am not getting data from 
> args[2] of the io provider when a file system has forcedirectio as a mount 
> option. Remove this option and the mount point or the fi_pathname will show 
> up. Any idea on why args[2] doesn't get populated with directio?
>   

The problem is that the b_file member of the buf structure passed to 
bdev_strategy() [which is where the io:::start probe is located]
is not populated with the vnode pointer [the vnode has the filename 
(v_path)] when the directio routines
[ufs_directio_read/ufs_directio_write] are used for IO. Since the vnode 
is not available the filename and the mount point cannot
be determined the fi_mount is set to 'none'.
If you wish you can file a bug else I can file it.

Pramod
> Thanx
> -Paul
>
> #!/usr/sbin/dtrace -qs
>
> io:::start
> {
>         @dio[args[2]->fi_mount] = count();
> }
>
> tick-1sec
> {
>         printa(@dio);
>         clear(@dio);
> }
> --
> This message posted from opensolaris.org
> _______________________________________________
> dtrace-discuss mailing list
> [email protected]
>   
_______________________________________________
dtrace-discuss mailing list
[email protected]

Reply via email to