4.11 b_iodone callback question

Sean Bruno sbruno at miralink.com
Mon Jan 23 17:09:13 PST 2006


I just inherited some older code that runs under 4.11 ... the core of
software is a device driver that writes data to two separate
disks(da1/da2).

It appears that the authors are using a call back function to handle
some interesting behavior related to the second disk being a circular
buffer.

So a couple of questions:

1.  Does the call back routine set in b_iodone(disk writes are handled
by VOP_STRATEGY) get invoked in a separate thread of execution, i.e. is
simultaneous with the main code path?

2.  Is it o.k. to have the callback routine invoke itself vi
b_iodone(more VOP_STRATEGY) without locking the buffers used for the
disk writes?

Sean Bruno



More information about the freebsd-stable mailing list