[sheepdog] [PATCH v2 00/10] add preliminary support for S3 and Swift APIs

MORITA Kazutaka morita.kazutaka at gmail.com
Thu Oct 31 18:08:03 CET 2013


From: MORITA Kazutaka <morita.kazutaka at lab.ntt.co.jp>

v2:
 - add error check of strtoull
 - initialize req->status with UNKNOWN explicitly
 - move all the http files into the http subdirectory
 - rename kvs to kv

This adds a basic support for S3 and Swift APIs.

TODO items:
 - Improve compatibility with S3 and Swift.
 - Improve performance of the underlying kvs feature.
 - Add support for authorization.
 - Add support for large objects than 4MB.
 - Add multi part upload support.
 - Add ACL support.
 - Add versioning support.
 - Add support for other calling format like http://bucket.[host]/object
 - Add support for metadata.
 - Add support for etag.
 - Add tests.
 - Add support for quota limit.

MORITA Kazutaka (10):
  sheep: move http.c into the http subdirectory
  util: add helper functions to process a requested URI
  http: avoid reading a total data in the main thread
  http: add uri and status to http_request
  http: usr CRLF for endline of http header
  http: move some structures and definitions to http.h
  sheep: add framework for http drivers
  sheep: add kvs feature for object storage
  sheep/http: add s3 driver
  sheep/http: add swift driver

 include/util.h     |   3 +
 lib/util.c         |  53 +++++
 sheep/Makefile.am  |   4 +-
 sheep/http.c       | 313 ------------------------------
 sheep/http/http.c  | 379 ++++++++++++++++++++++++++++++++++++
 sheep/http/http.h  | 111 +++++++++++
 sheep/http/kv.c    | 556 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 sheep/http/kv.h    |  44 +++++
 sheep/http/s3.c    | 282 +++++++++++++++++++++++++++
 sheep/http/swift.c | 259 +++++++++++++++++++++++++
 sheep/sheep.c      |  16 +-
 sheep/sheep_priv.h |   4 +-
 12 files changed, 1701 insertions(+), 323 deletions(-)
 delete mode 100644 sheep/http.c
 create mode 100644 sheep/http/http.c
 create mode 100644 sheep/http/http.h
 create mode 100644 sheep/http/kv.c
 create mode 100644 sheep/http/kv.h
 create mode 100644 sheep/http/s3.c
 create mode 100644 sheep/http/swift.c

-- 
1.8.1.2




More information about the sheepdog mailing list