[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