Finisher *f;
unsigned max_allowed;
unsigned min_priority;
- Mutex lock;
+ ceph::mutex lock = ceph::make_mutex("AsyncReserver::lock");
struct Reservation {
T item;
: cct(cct),
f(f),
max_allowed(max_allowed),
- min_priority(min_priority),
- lock("AsyncReserver::lock") {}
+ min_priority(min_priority) {}
void set_max(unsigned max) {
- std::lock_guard<Mutex> l(lock);
+ std::lock_guard l(lock);
max_allowed = max;
do_queues();
}
void set_min_priority(unsigned min) {
- std::lock_guard<Mutex> l(lock);
+ std::lock_guard l(lock);
min_priority = min;
do_queues();
}
void dump(Formatter *f) {
- std::lock_guard<Mutex> l(lock);
+ std::lock_guard l(lock);
_dump(f);
}
void _dump(Formatter *f) {
unsigned prio, ///< [in] priority
Context *on_preempt = 0 ///< [in] callback to be called if we are preempted (optional)
) {
- std::lock_guard<Mutex> l(lock);
+ std::lock_guard l(lock);
Reservation r(item, prio, on_reserved, on_preempt);
rdout(10) << __func__ << " queue " << r << dendl;
ceph_assert(!queue_pointers.count(item) &&
void cancel_reservation(
T item ///< [in] key for reservation to cancel
) {
- std::lock_guard<Mutex> l(lock);
+ std::lock_guard l(lock);
auto i = queue_pointers.find(item);
if (i != queue_pointers.end()) {
unsigned prio = i->second.first;
* Return true if there are reservations in progress
*/
bool has_reservation() {
- std::lock_guard<Mutex> l(lock);
+ std::lock_guard l(lock);
return !in_progress.empty();
}
static const unsigned MAX_PRIORITY = (unsigned)-1;