From 08af63da1e78c47444720f6d443421ff2b5badb1 Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Fri, 4 Mar 2011 14:25:47 -0800 Subject: [PATCH] rgw: put object request returns etag --- src/rgw/rgw_op.cc | 4 ++-- src/rgw/rgw_op.h | 2 ++ src/rgw/rgw_rest.cc | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index 736a64f595bf2..cb274af1c7d99 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -370,10 +370,10 @@ void RGWPutObj::execute() bufferlist aclbl; policy.encode(aclbl); - string md5_str(calc_md5); + etag = calc_md5; map 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; diff --git a/src/rgw/rgw_op.h b/src/rgw/rgw_op.h index b6463f8ed94ac..f4f8b840996e8 100644 --- a/src/rgw/rgw_op.h +++ b/src/rgw/rgw_op.h @@ -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(); diff --git a/src/rgw/rgw_rest.cc b/src/rgw/rgw_rest.cc index b923c42c8ced7..10d4b9fa5caf9 100644 --- a/src/rgw/rgw_rest.cc +++ b/src/rgw/rgw_rest.cc @@ -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); } -- 2.39.5