[sheepdog] [PATCH v5 UPDATE] sheep: introduce journal file to boost IO performance

MORITA Kazutaka morita.kazutaka at gmail.com
Wed Nov 14 16:47:24 CET 2012


At Wed, 14 Nov 2012 10:12:16 +0800,
Liu Yuan wrote:
> 
> From: Liu Yuan <tailai.ly at taobao.com>
> 
> The basic the idea is very simple: use a dedicated device to log all the IO
> operations in a sequential manner and then we are safe to change the backend IO
> operations from O_DSYNC & O_DIRECT into O_RDWR (buffered IO), which will
> benefit us both read & write performance a lot.
> 
> Usage:
>  $ sheep -j dir=/path/to/dir,size=256, # enable external journaling with the size 256M
>  $ sheep -j dir=/path/to/dir,size=256,skip #like above, but skip recovery at startup
>  $ sheep -j size=512 # enable internal journaling with the size 512M
> 
> Signed-off-by: Liu Yuan <tailai.ly at taobao.com>
> ---
>  include/util.h       |    1 +
>  sheep/Makefile.am    |    2 +-
>  sheep/journal_file.c |  366 ++++++++++++++++++++++++++++++++++++++++++++++++++
>  sheep/ops.c          |   43 ++----
>  sheep/plain_store.c  |   28 +++-
>  sheep/sheep.c        |   59 +++++++-
>  sheep/sheep_priv.h   |    7 +-
>  sheep/store.c        |    6 +-
>  8 files changed, 461 insertions(+), 51 deletions(-)
>  create mode 100644 sheep/journal_file.c

Applied, thanks!

I think it would be nice if we can specify sheep options in
tests/check so that we can test this feature.

Thanks,

Kazutaka



More information about the sheepdog mailing list