No need to account for removing (or zeroing) backtrace,
because if item.size is 0, num is already set to 1.
Fixes: https://tracker.ceph.com/issues/47353
Signed-off-by: Yanhu Cao <gmayyyha@gmail.com>
ops_required = 1 + leaves.size();
} else {
// File, work out concurrent Filer::purge deletes
+ // Account for removing (or zeroing) backtrace
const uint64_t num = (item.size > 0) ?
Striper::get_num_objects(item.layout, item.size) : 1;
ops_required = std::min(num, g_conf()->filer_max_purge_ops);
- // Account for removing (or zeroing) backtrace
- ops_required += 1;
-
// Account for deletions for old pools
if (item.action != PurgeItem::TRUNCATE_FILE) {
ops_required += item.old_pools.size();