svn commit: r224496 - head/sys/cam

Alexander Motin mav at FreeBSD.org
Sat Jul 30 22:21:42 UTC 2011


Andriy Gapon wrote:
> on 30/07/2011 23:47 Alexander Motin said the following:
>> After many experiments I believe that problem is not related to this
>> change. I've managed to reproduce it depending on GEOM modules
>> registration order. After I disabled all GEOM modules and only geom_dev
>> left, problem became persistent. Specifics of the geom_dev is that it
>> opens device and closes it back without doing any I/O. That caused race
>> condition between CCB allocation for FLUSHCACHE execution in adaclose()
>> and higher-priority commands of device initialization sequence. Any I/O
>> scheduled before adaclose() closed that race, making problem rare. The
>> problem is specific to the ada, as for no other driver initialization
>> and payload requests may intersect in time.
> 
> somewhat contradicting your conclusions... can the following issue be also
> caused by similar mechanics?
> http://lists.freebsd.org/pipermail/freebsd-current/2010-October/020336.html

Not sure, At least not exactly the same. cd driver keeps hold on device
until probe completes, effectively blocking cdopen(). Seems there was a
window in case of CD changers (closed month ago at r223557), but it
should not affect plain CDs. Also, as soon as cd driver sends requests
from cdopen(), not cdclose(), there would be much more chances to hit
some global problem, as it would not depend on GEOM taste order.

-- 
Alexander Motin


More information about the svn-src-head mailing list