How is supposed to be protected the units list?

Attilio Rao attilio at freebsd.org
Tue Mar 2 15:24:48 UTC 2010


2010/3/1 Attilio Rao <attilio at freebsd.org>:
> Hello,
> I have a question that I've been unable to reply reading the code.
> Someone could point me to documentation explaining how the unit tailq
> (within a struct periph_driver) is supposed to be locked?
> I'm not sure how it is assured consistency of accesses to the list and
> more important how is ensured that the periphs composing it doesn't go
> away as I don't see any reference bump for objects inserted there.

I don't think the lists are protected at all so I made this simple
patch taking advantage by a global lock:
http://www.freebsd.org/~attilio/Sandvine/pdrv/pdrv_lock.diff

The patch is simple enough but I just test-compiled it (will need some
time to run in a debugging kernel, hope to do tonight) and maybe you
can already give your opinions here.

Thanks,
Attilio


-- 
Peace can only be achieved by understanding - A. Einstein


More information about the freebsd-scsi mailing list