[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