]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: put object request returns etag
authorYehuda Sadeh <yehuda@hq.newdream.net>
Fri, 4 Mar 2011 22:25:47 +0000 (14:25 -0800)
committerYehuda Sadeh <yehuda@hq.newdream.net>
Fri, 4 Mar 2011 22:25:47 +0000 (14:25 -0800)
src/rgw/rgw_op.cc
src/rgw/rgw_op.h
src/rgw/rgw_rest.cc

index 736a64f595bf2a0cce42f65533befaf7427a218f..cb274af1c7d99d4120ce9690264233344a121616 100644 (file)
@@ -370,10 +370,10 @@ void RGWPutObj::execute()
     bufferlist aclbl;
     policy.encode(aclbl);
 
-    string md5_str(calc_md5);
+    etag = calc_md5;
     map<string, bufferlist> attrs;
     bufferlist bl;
-    bl.append(md5_str.c_str(), md5_str.size() + 1);
+    bl.append(etag.c_str(), etag.size() + 1);
     attrs[RGW_ATTR_ETAG] = bl;
     attrs[RGW_ATTR_ACL] = aclbl;
 
index b6463f8ed94acb0086f2dec4cd21cf5bddaf5725..f4f8b840996e8e2ea80262ab3c0a986bd158a324 100644 (file)
@@ -192,6 +192,7 @@ protected:
   off_t ofs;
   char *data;
   char *supplied_md5_b64;
+  string etag;
 
 public:
   RGWPutObj() {}
@@ -204,6 +205,7 @@ public:
     ofs = 0;
     data = NULL;
     supplied_md5_b64 = NULL;
+    etag = "";
   }
   void execute();
 
index b923c42c8ced7e21810af56686cc1f39e7d93702..10d4b9fa5caf957f4a237c0c2e72039e16c68183 100644 (file)
@@ -384,6 +384,7 @@ int RGWPutObj_REST::get_data()
 
 void RGWPutObj_REST::send_response()
 {
+  dump_etag(s, etag.c_str());
   dump_errno(s, ret, &err);
   end_header(s);
 }