From: Zhang Shaowen Date: Fri, 24 Mar 2017 06:23:18 +0000 (+0800) Subject: rgw: return the version id in get object and object metadata request. X-Git-Tag: v12.1.0~254^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d15fb09ca8f69f4c286b9c4b88a79c07276c0a2c;p=ceph.git rgw: return the version id in get object and object metadata request. Fixes: http://tracker.ceph.com/issues/19370 Signed-off-by: Zhang Shaowen --- diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index aaf7f96438cf..038a5ec84c80 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -1395,6 +1395,7 @@ void RGWGetObj::execute() op_ret = read_op.prepare(); if (op_ret < 0) goto done_err; + version_id = read_op.state.obj.key.instance; /* start gettorrent */ if (torrent.get_flag()) diff --git a/src/rgw/rgw_op.h b/src/rgw/rgw_op.h index a6eff0e710df..e0da8bae9cd2 100644 --- a/src/rgw/rgw_op.h +++ b/src/rgw/rgw_op.h @@ -135,6 +135,7 @@ protected: bool is_slo; string lo_etag; bool rgwx_stat; /* extended rgw stat operation */ + string version_id; // compression attrs RGWCompressionInfo cs_info; diff --git a/src/rgw/rgw_rest_s3.cc b/src/rgw/rgw_rest_s3.cc index 277ff62c2566..b330f88ca0fc 100644 --- a/src/rgw/rgw_rest_s3.cc +++ b/src/rgw/rgw_rest_s3.cc @@ -218,6 +218,10 @@ int RGWGetObj_ObjStore_S3::send_response_data(bufferlist& bl, off_t bl_ofs, dump_content_length(s, total_len); dump_last_modified(s, lastmod); + if (!version_id.empty()) { + dump_header(s, "x-amz-version-id", version_id); + } + if (! op_ret) { if (! lo_etag.empty()) {