[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