targclose doesn't return

Danny Braniss danny at cs.huji.ac.il
Wed Apr 4 08:12:03 UTC 2007


I stumbled on the same problem when porting iSCSI to current,
calling dev_destroy() hangs because si_threadcount is not zero,
Tai-hwa Liang <avatar at mmlab.cse.yzu.edu.tw> came up with a patch, which fixes 
the close(), but causes panics when rebooting.
	danny


> Actually, I think it's a wildly incorrect use of the clone API.  I'll
> take a look at in the in next few days and try to commit something that
> works.
> 
> Scott
> 
> 
> Scott Long wrote:
> > My guess is that the kninit() in targopen isn't being cleaned up from in
> > targclose.  I'm not terribly familiar in how the knote API works,
> > though.
> > 
> > Scott
> > 
> > 
> > Matthew Jacob wrote:
> >> Yeah- I've seen this too.
> >>
> >> On 4/3/07, Alex Dupre <ale at freebsd.org> wrote:
> >>> Scott Long wrote:
> >>> > Are there any other console messages from the targ driver?  Can you
> >>> > turn on CAMDEBUG and send us the trace of what is going on?
> >>>
> >>> CAMDEBUG is already on, but simply opening/closing the targ device,
> >>> without sending any ioctl to enable it, shouldn't produce any CAM
> >>> message. I traced the kernel thread and I found that it doesn't return
> >>> from the destroy_devl() function: csw->d_purge is NULL and
> >>> dev->si_threadcount is '1'. The thread enters the following block
> >>> (kern_conf.c, row 690) and never exits.
> >>>
> >>>
> >>>        while (dev->si_threadcount != 0) {
> >>>                /* Use unique dummy wait ident */
> >>>                msleep(&csw, &devmtx, PRIBIO, "devdrn", hz / 10);
> >>>        }
> >>>
> >>>
> >>> -- 
> >>> Alex Dupre
> >>> _______________________________________________
> >>> freebsd-scsi at freebsd.org mailing list
> >>> http://lists.freebsd.org/mailman/listinfo/freebsd-scsi
> >>> To unsubscribe, send any mail to "freebsd-scsi-unsubscribe at freebsd.org"
> >>>
> > 
> > _______________________________________________
> > freebsd-scsi at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-scsi
> > To unsubscribe, send any mail to "freebsd-scsi-unsubscribe at freebsd.org"
> 
> _______________________________________________
> freebsd-scsi at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-scsi
> To unsubscribe, send any mail to "freebsd-scsi-unsubscribe at freebsd.org"
> 




More information about the freebsd-current mailing list