[sheepdog] [PATCH 3/4] fix sys->epoch race

Christoph Hellwig hch at infradead.org
Fri May 18 13:29:29 CEST 2012


On Fri, May 18, 2012 at 07:06:19PM +0800, Liu Yuan wrote:
> From: Liu Yuan <tailai.ly at taobao.com>
> 
> We shouldn't use sys->epoch directly in worker threads. Add a atomic helper
> for it.

I don't think this is enough - we need to make sure the epoch matches
the vnode list we operate on.  The fix is to add the epoch to struct
vnode_info as that's a snapshot of the cluster membership state for I/O,
and preferably also remove it from sys so that other threads don't
accidentally access it.




More information about the sheepdog mailing list