From 75acc0a37af667c3e809ccfd3bf5ed5f24f86e2e Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Fri, 6 Jan 2012 15:07:08 -0800 Subject: [PATCH] rgw: fix multipart PUT latest revamp broke it, missed calling RGWPutObjProcessor::prepare(s) where needed. --- src/rgw/rgw_op.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index 4d591a5248d7a..3e5aeb80f2f76 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -758,7 +758,7 @@ class RGWPutObjProcessor_Multipart : public RGWPutObjProcessor_Aio { string oid; string part_num; - string multipart_meta_obj; + RGWMPObj mp; protected: int prepare(struct req_state *s); int complete(string& etag, map& attrs); @@ -769,11 +769,12 @@ public: int RGWPutObjProcessor_Multipart::prepare(struct req_state *s) { + RGWPutObjProcessor::prepare(s); + oid = s->object_str; string upload_id; url_decode(s->args.get("uploadId"), upload_id); - RGWMPObj mp(oid, upload_id); - multipart_meta_obj = mp.get_meta(); + mp.init(oid, upload_id); url_decode(s->args.get("partNumber"), part_num); if (part_num.empty()) { @@ -802,6 +803,8 @@ int RGWPutObjProcessor_Multipart::complete(string& etag, map info.modified = ceph_clock_now(g_ceph_context); ::encode(info, bl); + string multipart_meta_obj = mp.get_meta(); + rgw_obj meta_obj(s->bucket, multipart_meta_obj, s->object_str, mp_ns); r = rgwstore->tmap_set(meta_obj, p, bl); -- 2.39.5