}
}
- if (osd->is_stopping()) {
- sdata->shard_lock.Unlock();
- return; // OSD shutdown, discard.
- }
-
list<Context *> oncommits;
if (is_smallest_thread_index && !sdata->context_queue.empty()) {
sdata->context_queue.swap(oncommits);
}
if (sdata->pqueue->empty()) {
+ if (osd->is_stopping()) {
+ sdata->shard_lock.Unlock();
+ return; // OSD shutdown, discard.
+ }
sdata->shard_lock.Unlock();
handle_oncommits(oncommits);
return;
}
OpQueueItem item = sdata->pqueue->dequeue();
+ if (osd->is_stopping()) {
+ sdata->shard_lock.Unlock();
+ return; // OSD shutdown, discard.
+ }
const auto token = item.get_ordering_token();
auto r = sdata->pg_slots.emplace(token, nullptr);