cvs commit: src/sys/cam/scsi scsi_cd.c scsi_da.c src/sys/geom geom_disk.c geom_disk.h geom_subr.c

Scott Long scottl at
Fri Nov 18 18:11:12 GMT 2005

John Polstra wrote:

> On 18-Nov-2005 Scott Long wrote:
>>Poul-Henning Kamp wrote:
>>>In message <437DEEE5.9040201 at>, Scott Long writes:
>>>>Poul-Henning Kamp wrote:
>>>>>Most drivers seem to detach their internal state from the struct
>>>>>disk, and therefore they don't need this.
>>>>So what makes CAM special in this regard?
>>>I dunno.  Cam seems to have a different lifecycle for devices
>>>but I have never dived deep enough to figure it out.
>>Ok.  John's fix seems hackish (no offense John).  I'll likely look at
>>this in the coming months.
> No offense taken, Scott. :-)
> I think what makes CAM special is that it reference counts all of its
> data structures, so they don't go away until the last close of the
> device even though the drive itself is long gone.  In particular,
> dacleanup() isn't called until the last close, and it's what calls
> disk_destroy().  Geom needs to know when the physical drive is gone,
> not when CAM decides it can free its associated data structures.  The
> disk_gone() idea was suggested by PHK, and it seems reasonable to me.
> But I've still got a lot to learn about both CAM and geom, so if you
> can come up with something better, then that would be great.
> John

Ok, I understand.  I'm not sure if I have a better solution, but it is 
something that I'll be looking at in the future.  Thanks for the 


More information about the cvs-src mailing list