}
obj_version objv;
cls_version_read(store->gc_pool_ctx, obj_names[*index], &objv);
- if (ret == -ENOENT) {
+ if (ret == -ENOENT || entries.size() == 0) {
if (objv.ver == 0) {
continue;
} else {
marker = next_marker;
if (*index == max_objs - 1) {
+ if (queue_entries.size() > 0 && *truncated) {
+ processing_queue = true;
+ } else {
+ processing_queue = false;
+ }
/* we cut short here, truncated will hold the correct value */
return 0;
}
index << " ret=" << ret << dendl;
return ret;
}
+ if (perfcounter) {
+ /* log the count of tags retired for rate estimation */
+ perfcounter->inc(l_rgw_gc_retire, num_entries);
+ }
return 0;
}
}; // class RGWGCIOManger
if (non_expired_entries.size() == 0) {
transitioned_objects_cache[index] = true;
marker.clear();
- ldpp_dout(this, 20) << "RGWGC::process cls_rgw_gc_list returned ENOENT for non expired entries, so setting cache entry to TRUE" << dendl;
+ ldpp_dout(this, 20) << "RGWGC::process cls_rgw_gc_list returned NO non expired entries, so setting cache entry to TRUE" << dendl;
} else {
ret = 0;
goto done;
}
}
- if ((objv.ver == 0) && (ret == -ENOENT)) {
+ if ((objv.ver == 0) && (ret == -ENOENT || entries.size() == 0)) {
ret = 0;
goto done;
}