From: Kefu Chai Date: Mon, 26 Oct 2020 04:49:20 +0000 (+0800) Subject: osd/scheduler: rely on copy ellision to move return val X-Git-Tag: v16.1.0~731^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=755c0e7f8b8619c7d67836c9f65622cf6c18ce8c;p=ceph.git osd/scheduler: rely on copy ellision to move return val C++14 enforces copy ellision in this case. also silences warning of src/osd/scheduler/mClockScheduler.cc:122:21: warning: redundant move in return statement [-Wredundant-move] 122 | return std::move(ret); | ~~~~~~~~~^~~~~ Signed-off-by: Kefu Chai --- diff --git a/src/osd/scheduler/mClockScheduler.cc b/src/osd/scheduler/mClockScheduler.cc index c075ed7d2d30..1b7407a57b90 100644 --- a/src/osd/scheduler/mClockScheduler.cc +++ b/src/osd/scheduler/mClockScheduler.cc @@ -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());