[sheepdog] [PATCH v1 0/4] remove farm from sheepdog

Kai Zhang kyle at zelin.io
Sat May 11 12:29:06 CEST 2013


Currently, farm is used to make cluster-wide distributed snapshot.
However, it is hard to reload a distributed snapshot to a new cluster.

A new idea is to make cluster-wide snapshot by a single node:
1. read vdi info
2. read all objects belongs to snapshot vdi (replicas of same object will be read only once)
3. save these objects to local file path in farm-style sha1 file

In addition, this process can be extended in 2 ways:
1. performance of snapshotting can be improved by parallizing of reading objects
2. objects can be wrote to other device for backup

This set of patches is to remove farm from sheepdog.

After this patch, cluster snapshot does not work temporarily.
However, it will be available soon with more useful features.

Kai Zhang (4):
  sheep: change default store driver from "farm" to "plain"
  collie: remove snapshot from cluster subcommand
  script: remove script/simple2farm
  sheep: remove farm from sheep

 collie/cluster.c       |   92 +----------------
 script/simple2farm     |   51 ---------
 sheep/Makefile.am      |   10 +-
 sheep/farm/farm.c      |  271 -----------------------------------------------
 sheep/farm/farm.h      |   68 ------------
 sheep/farm/sha1_file.c |  273 ------------------------------------------------
 sheep/farm/snap.c      |  152 ---------------------------
 sheep/farm/trunk.c     |  139 ------------------------
 sheep/ops.c            |   62 -----------
 sheep/sheep_priv.h     |    6 +-
 sheep/store.c          |    1 -
 tests/001.out          |    2 +-
 tests/002.out          |    2 +-
 tests/003.out          |    2 +-
 tests/004.out          |    2 +-
 tests/005.out          |    2 +-
 tests/006.out          |    2 +-
 tests/007.out          |    4 +-
 tests/008.out          |    2 +-
 tests/009.out          |    2 +-
 tests/010.out          |    2 +-
 tests/013.out          |    2 +-
 tests/014.out          |    2 +-
 tests/015.out          |    2 +-
 tests/016.out          |    2 +-
 tests/017.out          |    2 +-
 tests/018.out          |    2 +-
 tests/019.out          |    2 +-
 tests/020.out          |    2 +-
 tests/021.out          |    2 +-
 tests/022.out          |    2 +-
 tests/023.out          |    2 +-
 tests/024.out          |    2 +-
 tests/025.out          |    2 +-
 tests/026.out          |    2 +-
 tests/027.out          |    2 +-
 tests/028.out          |    2 +-
 tests/029.out          |    2 +-
 tests/030              |   46 --------
 tests/030.out          |    7 --
 tests/031.out          |    2 +-
 tests/032.out          |    2 +-
 tests/033.out          |    2 +-
 tests/034.out          |    2 +-
 tests/035.out          |    2 +-
 tests/036.out          |    2 +-
 tests/037.out          |    2 +-
 tests/038.out          |    2 +-
 tests/039.out          |    2 +-
 tests/040.out          |    2 +-
 tests/041.out          |    2 +-
 tests/042.out          |    2 +-
 tests/043.out          |    2 +-
 tests/044.out          |    2 +-
 tests/045.out          |    2 +-
 tests/046.out          |    2 +-
 tests/047.out          |    2 +-
 tests/048.out          |    2 +-
 tests/049.out          |    2 +-
 tests/050.out          |    2 +-
 tests/051.out          |    2 +-
 tests/052.out          |    2 +-
 tests/053.out          |    2 +-
 tests/054.out          |    2 +-
 tests/055.out          |    2 +-
 tests/056.out          |    2 +-
 tests/057.out          |    2 +-
 tests/058.out          |    2 +-
 tests/059.out          |    2 +-
 69 files changed, 65 insertions(+), 1227 deletions(-)
 delete mode 100755 script/simple2farm
 delete mode 100644 sheep/farm/farm.c
 delete mode 100644 sheep/farm/farm.h
 delete mode 100644 sheep/farm/sha1_file.c
 delete mode 100644 sheep/farm/snap.c
 delete mode 100644 sheep/farm/trunk.c
 delete mode 100755 tests/030
 delete mode 100644 tests/030.out





More information about the sheepdog mailing list