[sheepdog] [PATCH v3 0/3] use hyper volume to store containers and objects

Robin Dong robin.k.dong at gmail.com
Wed Dec 11 11:14:40 CET 2013


From: Robin Dong <sanbai at taobao.com>

The old implemention of kv can only support small object (< 4MB), so we
use hyper volume ( up to 16PB ) to support large number of big object and
add lock to avoid race condition.

v2 --> v3:
	1. add lock/unlock to avoid race condition when many nodes
	   create or delete containers parallely.

v1 --> v2:
	1. change to name "onode_vid" in struct bucket_inode.
	2. remove "SD_OP_DELETE_CACHE" operation.
	3. remove extra blank line when listing containers and objects
	4. add "Content-Length" for listing containers and objects
	5. remove some warning in kv_delete_bucket()

Robin Dong (3):
  sheep/http: store accounts and containers into hyper volume for
    object-storage
  sheep/http: add support for big object which is larger than
    SD_DATA_OBJ_SIZE
  sheep/http: add lock to protect container and object

 sheep/http/http.c  |    5 +
 sheep/http/http.h  |    1 +
 sheep/http/kv.c    | 1144 +++++++++++++++++++++++++++++++++++++++++++---------
 sheep/http/kv.h    |   37 +-
 sheep/http/s3.c    |   14 +-
 sheep/http/swift.c |  151 ++++---
 6 files changed, 1079 insertions(+), 273 deletions(-)

-- 
1.7.12.4




More information about the sheepdog mailing list