[Sheepdog] [PATCH 0/5] stop grabbing vnode_info references outside the main thread

Liu Yuan namei.unix at gmail.com
Mon May 7 11:59:23 CEST 2012


On 05/07/2012 05:10 PM, Christoph Hellwig wrote:

> This series stops us from grabbing references to the vnode_info outside
> the main thread and asserts that this is indeed the case.
> 
> The only ugly bit is my workaround for places that complete requests
> before the work for the actually is finished.  That concept has various
> problems and IMHO should be removed.  If that's not possible we could
> switch to atomics for the vnode_info references count and allow grabbing
> additional references to it (but not the first) outside the main thread
> again.


So we don't have a complete fix for this issue ( doesn't fix it for
async flush). I just wonder, does URCU really frighten us away? Yeah,
probably RCU add some burden to the programmers, but it seems that,
without it, we also would play dirty tricks to work around it. With this
patch set, we also restrict programmers to be aware of "Hey, you are not
allowed to use vnode info directly or by any helper function, you can
only add extra parameter to point to it". isn't it another restriction?

Thanks,
Yuan



More information about the sheepdog mailing list