: cct(cct),
bdev(MAX_BDEV),
ioc(MAX_BDEV),
- block_all(MAX_BDEV),
- block_total(MAX_BDEV, 0)
+ block_all(MAX_BDEV)
{
}
logger->set(l_bluefs_log_bytes, log_writer->file->fnode.size);
if (alloc[BDEV_WAL]) {
- logger->set(l_bluefs_wal_total_bytes, block_total[BDEV_WAL]);
+ logger->set(l_bluefs_wal_total_bytes, block_all[BDEV_WAL].size());
logger->set(l_bluefs_wal_used_bytes,
- block_total[BDEV_WAL] - alloc[BDEV_WAL]->get_free());
+ block_all[BDEV_WAL].size() - alloc[BDEV_WAL]->get_free());
}
if (alloc[BDEV_DB]) {
- logger->set(l_bluefs_db_total_bytes, block_total[BDEV_DB]);
+ logger->set(l_bluefs_db_total_bytes, block_all[BDEV_DB].size());
logger->set(l_bluefs_db_used_bytes,
- block_total[BDEV_DB] - alloc[BDEV_DB]->get_free());
+ block_all[BDEV_DB].size() - alloc[BDEV_DB]->get_free());
}
if (alloc[BDEV_SLOW]) {
- logger->set(l_bluefs_slow_total_bytes, block_total[BDEV_SLOW]);
+ logger->set(l_bluefs_slow_total_bytes, block_all[BDEV_SLOW].size());
logger->set(l_bluefs_slow_used_bytes,
- block_total[BDEV_SLOW] - alloc[BDEV_SLOW]->get_free());
+ block_all[BDEV_SLOW].size() - alloc[BDEV_SLOW]->get_free());
}
}
assert(bdev[id]);
assert(bdev[id]->get_size() >= offset + length);
block_all[id].insert(offset, length);
- block_total[id] += length;
if (id < alloc.size() && alloc[id]) {
log_t.op_alloc_add(id, offset, length);
for (auto& p : *extents) {
block_all[id].erase(p.offset, p.length);
- block_total[id] -= p.length;
log_t.op_alloc_rm(id, p.offset, p.length);
}
{
std::lock_guard<std::mutex> l(lock);
assert(id < block_all.size());
- return block_total[id];
+ return block_all[id].size();
}
uint64_t BlueFS::get_free(unsigned id)
continue;
}
(*usage)[id].first = alloc[id]->get_free();
- (*usage)[id].second = block_total[id];
+ (*usage)[id].second = block_all[id].size();
uint64_t used =
- (block_total[id] - (*usage)[id].first) * 100 / block_total[id];
+ (block_all[id].size() - (*usage)[id].first) * 100 / block_all[id].size();
dout(10) << __func__ << " bdev " << id
<< " free " << (*usage)[id].first
<< " (" << pretty_si_t((*usage)[id].first) << "B)"
_close_writer(log_writer);
log_writer = NULL;
block_all.clear();
- block_total.clear();
_stop_alloc();
_shutdown_logger();
block_all.clear();
block_all.resize(MAX_BDEV);
- block_total.clear();
- block_total.resize(MAX_BDEV, 0);
_init_alloc();
r = _replay(false);
<< dendl;
if (!noop) {
block_all[id].insert(offset, length);
- block_total[id] += length;
alloc[id]->init_add_free(offset, length);
}
}
<< dendl;
if (!noop) {
block_all[id].erase(offset, length);
- block_total[id] -= length;
alloc[id]->init_rm_free(offset, length);
}
}