#define dout_prefix *_dout << "stupidalloc "
StupidAllocator::StupidAllocator()
- : lock("StupicAllocator::lock"),
- num_free(0),
+ : num_free(0),
num_uncommitted(0),
num_committing(0),
num_reserved(0),
int StupidAllocator::reserve(uint64_t need)
{
- Mutex::Locker l(lock);
+ std::lock_guard<std::mutex> l(lock);
dout(10) << __func__ << " need " << need << " num_free " << num_free
<< " num_reserved " << num_reserved << dendl;
if ((int64_t)need > num_free - num_reserved)
void StupidAllocator::unreserve(uint64_t unused)
{
- Mutex::Locker l(lock);
+ std::lock_guard<std::mutex> l(lock);
dout(10) << __func__ << " unused " << unused << " num_free " << num_free
<< " num_reserved " << num_reserved << dendl;
assert(num_reserved >= (int64_t)unused);
uint64_t need_size, uint64_t alloc_unit, int64_t hint,
uint64_t *offset, uint32_t *length)
{
- Mutex::Locker l(lock);
+ std::lock_guard<std::mutex> l(lock);
dout(10) << __func__ << " need_size " << need_size
<< " alloc_unit " << alloc_unit
<< " hint " << hint
int StupidAllocator::release(
uint64_t offset, uint64_t length)
{
- Mutex::Locker l(lock);
+ std::lock_guard<std::mutex> l(lock);
dout(10) << __func__ << " " << offset << "~" << length << dendl;
uncommitted.insert(offset, length);
num_uncommitted += length;
uint64_t StupidAllocator::get_free()
{
- Mutex::Locker l(lock);
+ std::lock_guard<std::mutex> l(lock);
return num_free;
}
void StupidAllocator::dump(ostream& out)
{
- Mutex::Locker l(lock);
+ std::lock_guard<std::mutex> l(lock);
for (unsigned bin = 0; bin < free.size(); ++bin) {
dout(30) << __func__ << " free bin " << bin << ": "
<< free[bin].num_intervals() << " extents" << dendl;
void StupidAllocator::init_add_free(uint64_t offset, uint64_t length)
{
- Mutex::Locker l(lock);
+ std::lock_guard<std::mutex> l(lock);
dout(10) << __func__ << " " << offset << "~" << length << dendl;
_insert_free(offset, length);
num_free += length;
void StupidAllocator::init_rm_free(uint64_t offset, uint64_t length)
{
- Mutex::Locker l(lock);
+ std::lock_guard<std::mutex> l(lock);
dout(10) << __func__ << " " << offset << "~" << length << dendl;
btree_interval_set<uint64_t> rm;
rm.insert(offset, length);
void StupidAllocator::commit_start()
{
- Mutex::Locker l(lock);
+ std::lock_guard<std::mutex> l(lock);
dout(10) << __func__ << " releasing " << num_uncommitted
<< " in extents " << uncommitted.num_intervals() << dendl;
assert(committing.empty());
void StupidAllocator::commit_finish()
{
- Mutex::Locker l(lock);
+ std::lock_guard<std::mutex> l(lock);
dout(10) << __func__ << " released " << num_committing
<< " in extents " << committing.num_intervals() << dendl;
for (auto p = committing.begin();