[sheepdog] [PATCH v2 00/21] add erasure code support, final version
Liu Yuan
namei.unix at gmail.com
Wed Oct 16 07:50:26 CEST 2013
v2:
- place ec_index after copy_policy
- add comments for oid_stale
- correct some terms for erasure code
- add extern for last_gathered_epoch
- drop 'sheep: set SD_FLAG_CMD_WRITE in sd_init_req'
This patch set put round {2-4} together, addressing the comments from kazutaka.
With this patch set, all the functionalities such as multiple node events
recovery, snapshot, clone, cluster snapshot etc are all fully supported and pass
all the tests which are erasure coding aware.
The missing part is 'vdi check' to work with erasure coded vdi, left for
future work.
to check erasure coding with tests, try
$ ./check -ec
Thanks
Yuan
Liu Yuan (21):
lib/fec: remove neglected leftover init_fec() in fec_new
sheep: use ec_index to remember strip placement
sheep: make stale object erasure aware
lib/fec: rework ec_decode
sheep: add basic recovery support for erasure code
recovery: cleanup erasure object handling functions
sheep: update object list cache in default_create_and_write()
recovery: mark last gathered epoch
recovery: handle multiple node events for erasured vdi
dog: fix parse_objs
tests/functional: support start/kill sheep with number bigger than 9
tests/functional: teach it to support erasure code
sheep: get object size correctly
sheep: fix cluster_notify_vdi_add
sheep: rework cow object handling
sheep: don't set copies unnecessarily
sheep: cleanup preallocate
sheep: fix default_create_and_write()
dog/farm: fix copy_policy for cluster snapshot operation
tests/functional: make snapshot related tests to work with erasure
code
dog: print warning when checking erasured vdi
dog/cluster.c | 2 +-
dog/common.c | 10 ++
dog/dog.h | 1 +
dog/farm/farm.c | 7 +-
dog/vdi.c | 52 +++++---
include/fec.h | 17 ++-
include/sheepdog_proto.h | 6 +-
lib/fec.c | 87 +++++++++++-
sheep/gateway.c | 55 +++++++-
sheep/md.c | 4 +-
sheep/object_cache.c | 23 +---
sheep/ops.c | 85 +++---------
sheep/plain_store.c | 94 +++++++++++--
sheep/recovery.c | 285 ++++++++++++++++++++++++++++++++++------
sheep/sheep_priv.h | 14 +-
sheep/store.c | 3 -
tests/functional/008 | 8 +-
tests/functional/009 | 15 ++-
tests/functional/010 | 26 +---
tests/functional/010.out | 200 +++++++++-------------------
tests/functional/013 | 6 +-
tests/functional/013.out | 1 -
tests/functional/014 | 6 +-
tests/functional/015 | 6 +-
tests/functional/016 | 8 +-
tests/functional/016.out | 3 +
tests/functional/017 | 8 +-
tests/functional/017.out | 2 -
tests/functional/018 | 10 +-
tests/functional/019 | 10 +-
tests/functional/020 | 6 +-
tests/functional/022 | 2 +-
tests/functional/024 | 10 +-
tests/functional/026 | 14 +-
tests/functional/029 | 9 +-
tests/functional/029.out | 22 +++-
tests/functional/030 | 24 ++--
tests/functional/030.out | 44 +++----
tests/functional/031 | 12 +-
tests/functional/031.out | 10 +-
tests/functional/032 | 4 +-
tests/functional/032.out | 78 +++++++++++
tests/functional/034 | 18 +--
tests/functional/034.out | 8 ++
tests/functional/035 | 12 +-
tests/functional/035.out | 100 +++++++++-----
tests/functional/039 | 8 +-
tests/functional/039.out | 32 ++---
tests/functional/041 | 8 +-
tests/functional/041.out | 60 ++++-----
tests/functional/043 | 10 +-
tests/functional/043.out | 70 +++++-----
tests/functional/044 | 12 +-
tests/functional/044.out | 3 +
tests/functional/045 | 8 +-
tests/functional/046 | 10 +-
tests/functional/046.out | 12 +-
tests/functional/050 | 6 +-
tests/functional/054 | 15 ++-
tests/functional/054.out | 6 +-
tests/functional/059 | 6 +-
tests/functional/059.out | 22 ++--
tests/functional/060 | 4 +-
tests/functional/060.out | 64 ++++-----
tests/functional/062 | 12 +-
tests/functional/062.out | 3 +-
tests/functional/071 | 8 +-
tests/functional/075 | 6 +-
tests/functional/check | 4 +
tests/functional/common.config | 1 +
tests/functional/common.rc | 15 ++-
71 files changed, 1140 insertions(+), 692 deletions(-)
--
1.7.9.5
More information about the sheepdog
mailing list