Javen Wu wrote:
> `devfsadm -C` only cleans up the symbol links under /dev/ rather than 
> /devices/
> 
> There are two possibilities the nodes under /devices were not cleaned up 
> after you removed your target.
> 1. the nodes were opened or referenced, (devi_ref != 0) during you 
> removed your target in other side, so ndi_devi_offline() failed in iscsi 
> initiator driver, the nodes were not removed in device tree. So you saw 
> them still in format(1M) even the device has already got gone.

i have dtrace'd this.  ndi_devi_offline fails because devi_ref is not
equal to zero.  in my case, it's equal to seventeen !  this is due to
16 calls by devfsadm to dv_mknod.

if i run devfsadm-C from Initiator side, then dv_destroy is called 17
times, and node/dip go away.

i think problem is in iscsi (Initiator).  when iscsitgtd sends Sense
data to Initiator, Ini throws it away, tears down the TCP connection
and creates a new TCP conn.  can't iscsi send a sysevent or something
to devfsadm so it'll eventually call dv_destroy ?

/andrew
_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to