Skip to content

Commit 7e6021f

Browse files
committed
rgw/dedup: full object dedup continued work
Moved all control objects (EPOCH, WATCH, Tokens) to default.rgw.control pool. Add dedup_pool to RGWZoneParams to make the name unique across zones rgw.dedup pool is created on dedup start and removed when the scan is over report duplicated space after dedup because of the head-object report potential dedup for smaller objects (64KB-4MB) added tests for the new reporting facilities Signed-off-by: Gabriel BenHanokh <[email protected]>
1 parent 00e2185 commit 7e6021f

File tree

13 files changed

+1254
-802
lines changed

13 files changed

+1254
-802
lines changed

src/rgw/rgw_dedup.cc

Lines changed: 290 additions & 133 deletions
Large diffs are not rendered by default.

src/rgw/rgw_dedup.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,10 +95,10 @@ namespace rgw::dedup {
9595
STEP_REMOVE_DUPLICATES
9696
};
9797

98-
void ack_notify(uint64_t notify_id, uint64_t cookie, int status);
9998
void run();
10099
int setup(struct dedup_epoch_t*);
101100
void work_shards_barrier(work_shard_t num_work_shards);
101+
void md5_shards_barrier(md5_shard_t num_md5_shards);
102102
void handle_pause_req(const char* caller);
103103
const char* dedup_step_name(dedup_step_t step);
104104
int read_buckets();
@@ -216,7 +216,7 @@ namespace rgw::dedup {
216216
bool is_shared_manifest_src);
217217
#endif
218218
int remove_slabs(unsigned worker_id, unsigned md5_shard, uint32_t slab_count);
219-
int init_rados_access_handles();
219+
int init_rados_access_handles(bool init_pool);
220220

221221
// private data members
222222
rgw::sal::Driver* driver = nullptr;
@@ -244,7 +244,6 @@ namespace rgw::dedup {
244244

245245
std::thread d_runner;
246246
std::mutex d_cond_mutex;
247-
std::mutex d_pause_mutex;
248247
std::condition_variable d_cond;
249248
};
250249

0 commit comments

Comments
 (0)