From d52bf638975fe922185a3f2d11ed668bd63f6405 Mon Sep 17 00:00:00 2001 From: Yehuda Sadeh Date: Thu, 7 Jan 2016 14:16:27 -0800 Subject: [PATCH] rgw: forward meta changes to master (initial work) Signed-off-by: Yehuda Sadeh --- src/rgw/rgw_op.cc | 13 +++++++++++++ src/rocksdb | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index 173e1f65acd05..aa9b00545d768 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -37,6 +37,8 @@ using ceph::crypto::MD5; static string mp_ns = RGW_OBJ_NS_MULTIPART; static string shadow_ns = RGW_OBJ_NS_SHADOW; +static int forward_request_to_master(struct req_state *s, obj_version *objv, RGWRados *store, bufferlist& in_data, JSONParser *jp); + #define MULTIPART_UPLOAD_ID_PREFIX_LEGACY "2/" #define MULTIPART_UPLOAD_ID_PREFIX "2~" // must contain a unique char that may not come up in gen_rand_alpha() @@ -1442,7 +1444,18 @@ void RGWSetBucketVersioning::pre_exec() void RGWSetBucketVersioning::execute() { + if (!store->is_meta_master()) { + bufferlist in_data; + JSONParser jp; + op_ret = forward_request_to_master(s, NULL, store, in_data, &jp); + if (op_ret < 0) { + ldout(s->cct, 20) << __func__ << "forward_request_to_master returned ret=" << op_ret << dendl; + } + return; + } + op_ret = get_params(); + if (op_ret < 0) return; diff --git a/src/rocksdb b/src/rocksdb index 00d6edf6a0080..fa98456ccbd86 160000 --- a/src/rocksdb +++ b/src/rocksdb @@ -1 +1 @@ -Subproject commit 00d6edf6a0080ac3961e56213ae962ec1d570daa +Subproject commit fa98456ccbd860120127ac2e91a2088fb222606e -- 2.39.5