On Thu, May 03, 2012 at 07:22:48PM +0900, MORITA Kazutaka wrote: > The old code also has the completely same problem; worker threads call > get_ordered_sd_vnode_list()/free_ordered_sd_vnode_list(). The correct > approach is to modify the code so that all > get_vnode_info()/put_vnode_info() are called only in the main thread. > I'll do the work if no one is trying to fix it now. Yes, the observations is what brought up the "is this really executed in the main thread" asserts before. I'm sitll pondering options, one would be to lock current_vnode_info updates, the other one would be to make sure we have struct request available everywhere that it's needed including mostl likely refcounting it. |