[sheepdog] [PATCH v1 0/3] add http interface for sheepfs

Robin Dong robin.k.dong at gmail.com
Thu Jan 23 06:57:50 CET 2014


From: Robin Dong <sanbai at taobao.com>

Some old softwares can only use files on filesystem as input, so we should add
a new type of interface for sheepfs to access object-storage as a
posix-filesystem.
It is called "http interface", since it use libcurl to access object-storage
service (such as s3 or swift) and show accounts, containers as directories and
objects as files.
This http interface only shows containers and objects that are written into
file "object" by name.

Usage:

sheepfs /sheepfs
# give ip and port
echo "192.168.1.1:83" > /sheepfs/http/address
# give object
echo "/john/fruit/apple" > /sheepfs/http/object
echo "/lily/pet/cat" > /sheepfs/http/address
# now we have new directories "jonh", "fruit", "lily", "pet" and
# new files "apple" and "cat" as show below:
/sheepfs/http/john/
/sheepfs/http/jonh/fruit/
/sheepfs/http/jonh/fruit/apple
/sheepfs/http/lily/
/sheepfs/http/lily/pet/
/sheepfs/http/lily/pet/cat

Robin Dong (3):
  sheepfs: add framework for http interface
  sheepfs: implement the http interface of sheepfs by using libcurl
  test: add test-case for http interface of sheepfs

 sheepfs/Makefile.am      |   4 +-
 sheepfs/core.c           |   7 +-
 sheepfs/http.c           | 338 +++++++++++++++++++++++++++++++++++++++++++++++
 sheepfs/shadow_file.c    |  16 ++-
 sheepfs/sheepfs.h        |  18 ++-
 tests/functional/084     |  50 +++++++
 tests/functional/084.out |   2 +
 tests/functional/group   |   1 +
 8 files changed, 431 insertions(+), 5 deletions(-)
 create mode 100644 sheepfs/http.c
 create mode 100755 tests/functional/084
 create mode 100644 tests/functional/084.out

-- 
1.7.12.4




More information about the sheepdog mailing list