void OSDService::cancel_pending_splits_for_parent(pg_t parent)
{
Mutex::Locker l(in_progress_split_lock);
+ return _cancel_pending_splits_for_parent(parent);
+}
+
+void OSDService::_cancel_pending_splits_for_parent(pg_t parent)
+{
map<pg_t, set<pg_t> >::iterator piter = rev_pending_splits.find(parent);
if (piter == rev_pending_splits.end())
return;
assert(pending_splits.count(*i));
assert(!in_progress_splits.count(*i));
pending_splits.erase(*i);
+ _cancel_pending_splits_for_parent(*i);
}
rev_pending_splits.erase(piter);
}
void mark_split_in_progress(pg_t parent, const set<pg_t> &pgs);
void complete_split(const set<pg_t> &pgs);
void cancel_pending_splits_for_parent(pg_t parent);
+ void _cancel_pending_splits_for_parent(pg_t parent);
bool splitting(pg_t pgid);
void expand_pg_num(OSDMapRef old_map,
OSDMapRef new_map);