[Sheepdog] race window accessing current_vnode_info?

Christoph Hellwig hch at infradead.org
Thu May 3 18:35:46 CEST 2012


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.



More information about the sheepdog mailing list