]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
common: update mClockPriorityQueue use of remove_by 20992/head
authorCasey Bodley <cbodley@redhat.com>
Wed, 21 Mar 2018 18:32:53 +0000 (14:32 -0400)
committerCasey Bodley <cbodley@redhat.com>
Wed, 21 Mar 2018 18:32:56 +0000 (14:32 -0400)
Signed-off-by: Casey Bodley <cbodley@redhat.com>
src/common/mClockPriorityQueue.h

index 0871b9d7ee025d70b42d4aaa1a50160a54c8c434..124273b398b62e86f4182c2d11df395668977ed5 100644 (file)
@@ -244,7 +244,9 @@ namespace ceph {
     // to the list so items end up on list in front-to-back priority
     // order
     void remove_by_filter(std::function<bool (T&&)> filter_accum) {
-      queue.remove_by_req_filter(filter_accum, true);
+      queue.remove_by_req_filter([&] (std::unique_ptr<T>&& r) {
+          return filter_accum(std::move(*r));
+        }, true);
 
       for (auto i = queue_front.rbegin(); i != queue_front.rend(); /* no-inc */) {
        if (filter_accum(std::move(i->second))) {
@@ -270,8 +272,8 @@ namespace ceph {
       if (out) {
        queue.remove_by_client(k,
                               true,
-                              [&out] (T&& t) {
-                                out->push_front(std::move(t));
+                              [&out] (std::unique_ptr<T>&& t) {
+                                out->push_front(std::move(*t));
                               });
       } else {
        queue.remove_by_client(k, true);