location of bioq lock
Scott Long
scottl at samsco.org
Fri Jul 15 06:45:26 GMT 2005
Poul-Henning Kamp wrote:
> In message <20050714181356.A58300 at xorpc.icir.org>, Luigi Rizzo writes:
>
>
>>Anyways there might be a way out...
>>requests go from dev_strategy()
>
>
> The right place for this is geom_disk.c:g_disk_start() and the start
> routines of the drivers which do not use geom_disk.
>
> The easiest way to handle it would be to set a flag on the g_provider
> saying "no more", have g_down spill the requests into a side queue
> and when the driver is ready again, it calls some function which
> pulls the request out of the side queue again.
>
>
I agree. The 'side queue' can be a bioq also that gets handed off in
whole to the driver once the path is unfrozen, but that's an
optimization that is best done at a later time.
Scott
More information about the freebsd-current
mailing list