[sheepdog] [PATCH 2/4] farm: add basic concurrent support

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


On Fri, May 18, 2012 at 07:06:18PM +0800, Liu Yuan wrote:
> From: Liu Yuan <tailai.ly at taobao.com>
> 
> refactor strcut siocb, this makes the code more clean, also we can call xlockf()
> inside sd_store->read/write to support concurrent access.
> 
> - let sd_store->read/write() use open() internally.
> - remove sd_store->open()/close()
> - add sd_store->exist()
> 
> But now we don't actually have concurrent requests to the same object, because
> upper layer have exclude concurrent access by check_request().
> 
> We'll remove this constaint by later patch set.

Can you split the refactoring from the actual concurrency changes?

Also I'd really prefer not having to call lockf twice for every single
I/O, the kernel file locking code isn't exacly scalable.  Any pure
userland locking will scale a lot better.




More information about the sheepdog mailing list