Merge pull request #37886 from tchaikov/wip-osd-scheduler-move

osd/scheduler: rely on copy ellision to move return val

Reviewed-by: Samuel Just <sjust@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Sridhar Seshasayee <sseshasa@redhat.com>
This commit is contained in:
Samuel Just 2020-10-29 10:56:44 -07:00 committed by GitHub
commit 08c54e4ec2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -117,9 +117,9 @@ void mClockScheduler::enqueue_front(OpSchedulerItem&& item)
WorkItem mClockScheduler::dequeue()
{
if (!immediate.empty()) {
auto ret = std::move(immediate.back());
WorkItem work_item{std::move(immediate.back())};
immediate.pop_back();
return std::move(ret);
return work_item;
} else {
mclock_queue_t::PullReq result = scheduler.pull_request();
if (result.is_future()) {
@ -127,7 +127,7 @@ WorkItem mClockScheduler::dequeue()
} else if (result.is_none()) {
ceph_assert(
0 == "Impossible, must have checked empty() first");
return std::move(*(OpSchedulerItem*)nullptr);
return {};
} else {
ceph_assert(result.is_retn());