On Mon, Jun 25, 2012 at 07:17:07PM +0800, Liu Yuan wrote: > On 06/25/2012 07:10 PM, Christoph Hellwig wrote: > > How do you ensure this is always called from the main thread? Calling > > queue_request from helper threads seems like it would cause major > > problems. > > What kind of problems? > > For now queue_request() is already called in worker threads context. > Looks to me we should add a thread safe version of queue_request() that > can be called in worker threads. - get_vnode_info is expected to be called from the main thread, - req_done is expected to be called freom the main thread - and most serious one is request_in_recovery, which manipulates sys->wait_rw_queue and sys->wait_obj_queue without taking locks. |