-
// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
// vim: ts=8 sw=2 smarttab ft=cpp
#pragma once
+#include "rgw/rgw_datalog.h"
#include "rgw/rgw_service.h"
#include "rgw/rgw_tools.h"
struct rgw_bucket_dir_header;
class RGWSI_BILog_RADOS;
-class RGWSI_DataLog_RADOS;
#define RGW_NO_SHARD -1
void get_bucket_index_object(const string& bucket_oid_base,
uint32_t num_shards,
int shard_id,
+ uint64_t gen_id,
string *bucket_obj);
int get_bucket_index_object(const string& bucket_oid_base, const string& obj_key,
- uint32_t num_shards, RGWBucketInfo::BIShardsHashType hash_type,
+ uint32_t num_shards, rgw::BucketHashType hash_type,
string *bucket_obj, int *shard_id);
int cls_bucket_head(const RGWBucketInfo& bucket_info,
RGWSI_Zone *zone{nullptr};
RGWSI_RADOS *rados{nullptr};
RGWSI_BILog_RADOS *bilog{nullptr};
- RGWSI_DataLog_RADOS *datalog_rados{nullptr};
+ RGWDataChangesLog *datalog_rados{nullptr};
} svc;
RGWSI_BucketIndex_RADOS(CephContext *cct);
void init(RGWSI_Zone *zone_svc,
RGWSI_RADOS *rados_svc,
RGWSI_BILog_RADOS *bilog_svc,
- RGWSI_DataLog_RADOS *datalog_rados_svc);
+ RGWDataChangesLog *datalog_rados_svc);
static int shards_max() {
return RGW_SHARDS_PRIME_1;
int open_bucket_index_shard(const RGWBucketInfo& bucket_info,
int shard_id,
+ const rgw::bucket_index_layout_generation& idx_layout,
RGWSI_RADOS::Obj *bucket_obj);
int open_bucket_index(const RGWBucketInfo& bucket_info,