From: Radoslaw Zarzynski Date: Wed, 24 Feb 2016 12:39:09 +0000 (+0100) Subject: rgw: calculate etag for SLOs of Swift API. X-Git-Tag: v10.1.0~232^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=44b87bdb7f7b41e5db77f439ff27f9cd475f8084;p=ceph.git rgw: calculate etag for SLOs of Swift API. Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index f9b05bd39e57..8b543dc5e50b 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -971,6 +971,7 @@ int RGWGetObj::handle_slo_manifest(bufferlist& bl) map slo_parts; + MD5 etag_sum; total_len = 0; for (vector::iterator iter = slo_info.entries.begin(); iter != slo_info.entries.end(); ++iter) { @@ -1033,10 +1034,15 @@ int RGWGetObj::handle_slo_manifest(bufferlist& bl) << " etag=" << part.etag << dendl; + etag_sum.Update((const byte *)iter->etag.c_str(), + iter->etag.length()); + slo_parts[total_len] = part; total_len += part.size; } + complete_etag(etag_sum, &lo_etag); + s->obj_size = slo_info.total_size; ldout(s->cct, 20) << "s->obj_size=" << s->obj_size << dendl;