<div dir="ltr">The present implementation of http/swift is not perfect, it can't create too much containers or objects. So we want to store all objects in one hyper volume vdi and use new structure 'obj-inode' to identify its offset and length in this vdi, just like some local file system. To achieve this, we need distributed locks to ensure that only one thread can create a new 'obj-inode' (or delete) in this vdi at a same time.<div>
<br></div><div>
This patch set is a try to implement the distributed lock.</div><div><br></div><div>If we add code in sheep/cluster/zookeeper.c and use the framework of cluster to implement this distributed lock, then we have to add implementation for corosyncˇ˘local and shepherd. That's too complicated. So what we need is adding lock.c in sheep/http/ and only use it in http interface.</div>
<div class="gmail_extra"><br><br>
<div class="gmail_quote">2013/11/24 Robin Dong <span dir="ltr"><<a href="mailto:robin.k.dong@gmail.com" target="_blank">robin.k.dong@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

The help info for "sheep -c zookeeper" is "zookeeperr" which have<br>
a extra 'r'.<br>
<br>
Signed-off-by: Robin Dong <<a href="mailto:sanbai@taobao.com" target="_blank">sanbai@taobao.com</a>><br>
---<br>
 sheep/sheep.c |    2 +-<br>
 1 files changed, 1 insertions(+), 1 deletions(-)<br>
<br>
diff --git a/sheep/sheep.c b/sheep/sheep.c<br>
index 08b770e..9d9afa0 100644<br>
--- a/sheep/sheep.c<br>
+++ b/sheep/sheep.c<br>
@@ -83,7 +83,7 @@ static const char cluster_help[] =<br>
 "\tzookeeper: use zookeeper driver, need extra arguments\n"<br>
 "\n\tzookeeper arguments: address-list,tiemout=value (default as 3000)\n"<br>
 "\nExample:\n\t"<br>
-"$ sheep -c zookeeperr:IP1:PORT1,IP2:PORT2,IP3:PORT3,timeout=1000 ...\n"<br>
+"$ sheep -c zookeeper:IP1:PORT1,IP2:PORT2,IP3:PORT3,timeout=1000 ...\n"<br>
 "This tries to use 3 node zookeeper cluster, which can be reached by\n"<br>
 "IP1:PORT1, IP2:PORT2, IP3:PORT3 to manage membership and broadcast message\n"<br>
 "and set the timeout of node heartbeat as 1000 milliseconds\n";<br>
<span><font color="#888888">--<br>
1.7.1<br>
<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>--<br>Best Regard<br>Robin Dong
</div></div>