]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/scheduler: rely on copy ellision to move return val 37886/head
authorKefu Chai <kchai@redhat.com>
Mon, 26 Oct 2020 04:49:20 +0000 (12:49 +0800)
committerKefu Chai <kchai@redhat.com>
Thu, 29 Oct 2020 10:51:38 +0000 (18:51 +0800)
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 <kchai@redhat.com>
src/osd/scheduler/mClockScheduler.cc

index c075ed7d2d3095aba64dd4996d10f81da4e83c8a..1b7407a57b90743710ac38338c7a4bf4596b0437 100644 (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());