[sheepdog] [PATCH v5 0/7] retire old journal implementation

Liu Yuan namei.unix at gmail.com
Fri Apr 5 12:32:26 CEST 2013


From: Liu Yuan <tailai.ly at taobao.com>

v5:
 - rename confi as config and update commit log

v4:
 - free buff at replay_journal_entry
 - fix build error for older GCC

v3:
 - fold epoch patch into this series.
 - fix GCC compatible issue

v2: correct colding style problem

This patch set aims to retire old journal.c and rename journal_file.c
as journal.c to get a uniform journaling for object, config file and 
epoch file (this is a future work).

This is because old journal.c can't handle following case:
 1 creat()
 2 *crash*
 3 write()

This will leave an empty file created. Journal file implementation won't have
this problem because it logs create and write as one transaction.

Liu Yuan (7):
  sheep: teach journal file to be md friendly
  tests/047: add md test support
  sheep: teach journal file to handle epoch and config write
  sheep: use new journal API for config file
  sheep: rename journal_file.c as journal.c
  sheep: journaling epoch file write
  sheep: handle broken epoch file at get_latest_epoch

 sheep/Makefile.am    |    2 +-
 sheep/config.c       |   33 +--
 sheep/journal.c      |  573 +++++++++++++++++++++++++++++++-------------------
 sheep/journal_file.c |   97 +++++++--
 sheep/ops.c          |    8 +-
 sheep/plain_store.c  |    7 +-
 sheep/sheep.c        |   26 ++-
 sheep/sheep_priv.h   |   15 +-
 sheep/store.c        |  106 +++++-----
 tests/047            |   10 +-
 tests/group          |    2 +-
 11 files changed, 538 insertions(+), 341 deletions(-)

-- 
1.7.9.5




More information about the sheepdog mailing list