progress_tracker->set_enable_progress_update(true);
progress_tracker->start(total_objects);
- if (total_objects == 0) {
- dout(4) << "No objects found in data pools" << dendl;
- return 0;
- }
-
for (auto ioctx : data_ios) {
- int r = forall_objects(*ioctx, false, [this, ioctx, &progress_tracker](
+ int r = forall_objects(*ioctx, false, [this, ioctx, &progress_tracker, &total_objects](
std::string const &oid,
uint64_t obj_name_ino,
uint64_t obj_name_offset) -> int
}
progress_tracker->increment();
+ uint64_t _total_objects = get_pool_objects({&data_io});
+ if (_total_objects > total_objects) {
+ progress_tracker->set_total(_total_objects);
+ total_objects = _total_objects;
+ }
progress_tracker->display_progress();
return r;
progress_tracker->set_enable_progress_update(true);
progress_tracker->start(total_objects);
- if (total_objects == 0) {
- dout(4) << "No objects found in data pool" << dendl;
- return 0;
- }
-
r = forall_objects(
data_io, true,
- [this, &progress_tracker](
+ [this, &progress_tracker, &total_objects](
std::string const& oid, uint64_t obj_name_ino,
uint64_t obj_name_offset) -> int {
int r = 0;
}
progress_tracker->increment();
+ uint64_t _total_objects = get_pool_objects({&data_io});
+ if (_total_objects > total_objects) {
+ progress_tracker->set_total(_total_objects);
+ total_objects = _total_objects;
+ }
progress_tracker->display_progress();
return r;
progress_tracker->set_enable_progress_update(true);
progress_tracker->start(total_objects);
- if (total_objects == 0) {
- dout(4) << "No objects found in data pool" << dendl;
- return 0;
- }
-
// We are looking for only zeroth object
return forall_objects(
data_io, true,
- [this, &progress_tracker](
+ [this, &progress_tracker, &total_objects](
std::string const& oid, uint64_t obj_name_ino,
uint64_t obj_name_offset) -> int {
int r = ClsCephFSClient::delete_inode_accumulate_result(data_io, oid);
}
progress_tracker->increment();
+ uint64_t _total_objects = get_pool_objects({&data_io});
+ if (_total_objects > total_objects) {
+ progress_tracker->set_total(_total_objects);
+ total_objects = _total_objects;
+ }
progress_tracker->display_progress();
return r;
auto progress_tracker = std::make_unique<ProgressTracker>(get_progress_operation_name("scan_frags"));
progress_tracker->set_enable_progress_update(true);
progress_tracker->start(total_objects);
- if (total_objects == 0) {
- dout(4) << "No objects found in metadata pool" << dendl;
- return 0;
- }
bool roots_present;
int r = driver->check_roots(&roots_present);
return -EIO;
}
- return forall_objects(metadata_io, true, [this, &progress_tracker](
+ return forall_objects(metadata_io, true, [this, &progress_tracker, &total_objects](
std::string const &oid,
uint64_t obj_name_ino,
uint64_t obj_name_offset) -> int
}
}
- progress_tracker->increment();
+ uint64_t _total_objects = get_pool_objects({&metadata_io});
+ if (_total_objects > total_objects) {
+ progress_tracker->set_total(_total_objects);
+ total_objects = _total_objects;
+ }
progress_tracker->display_progress();
return r;