Abdullah Aldahlawi wrote:
> Thanks dmick ,I appreciate your answer, however, I think I did not ask the 
> question correctly .. I do understand the probes ONLY instrument the system 
> and do not do the actual I/O , this is clear.
> 
> What is not clear to me is wither or not the the arge[0]->b_count (bytes) get
> successfully transfer when the associated wait-done probe fires ?.

That can't be answered without examining the state of the buffer at the end of 
the wait, as biowait is canceled when the buffer is 'completed', but that 
doesn't mean with or without errors.  It could be either.

> This question cab be asked in different way with the same meaning ... does
> io:::done the only probe that [b]indicates[/b] that a data transfer has
> successfully being completed OR io:::wait-done does the same thin with an 
> extra
> [b]wait time[/b] ???

Neither of them imply success.  biodone() is called by the thread actually 
completing the I/O, and wait-done() is fired after biodone() releases the 
semaphore, in the initiating thread.  But success depends on the buffer 
disposition, and neither end (notifier, or notified) means success just
because the buffer is done.

You may want to look into the buffer flags, and/or read some about how
buf I/O typically works in Unix systems.

_______________________________________________
dtrace-discuss mailing list
[email protected]

Reply via email to