rgw: add BucketShard::init overload for bucket_info,obj

Signed-off-by: Casey Bodley <cbodley@redhat.com>
This commit is contained in:
Casey Bodley 2019-01-25 16:17:19 -05:00
parent 3e6ff119e2
commit c6c445f607
2 changed files with 18 additions and 0 deletions

View File

@ -3270,6 +3270,23 @@ int RGWRados::BucketShard::init(const rgw_bucket& _bucket,
return 0;
}
int RGWRados::BucketShard::init(const RGWBucketInfo& bucket_info,
const rgw_obj& obj)
{
bucket = bucket_info.bucket;
int ret = store->open_bucket_index_shard(bucket_info, index_ctx,
obj.get_hash_object(), &bucket_obj,
&shard_id);
if (ret < 0) {
ldout(store->ctx(), 0) << "ERROR: open_bucket_index_shard() returned ret=" << ret << dendl;
return ret;
}
ldout(store->ctx(), 20) << " bucket index object: " << bucket_obj << dendl;
return 0;
}
int RGWRados::BucketShard::init(const RGWBucketInfo& bucket_info, int sid)
{
bucket = bucket_info.bucket;

View File

@ -1483,6 +1483,7 @@ public:
explicit BucketShard(RGWRados *_store) : store(_store), shard_id(-1) {}
int init(const rgw_bucket& _bucket, const rgw_obj& obj, RGWBucketInfo* out);
int init(const rgw_bucket& _bucket, int sid, RGWBucketInfo* out);
int init(const RGWBucketInfo& bucket_info, const rgw_obj& obj);
int init(const RGWBucketInfo& bucket_info, int sid);
};