Future patches will need to do more work every time we remove preq from
pending/reported tree. So, it's useful to have one function to add that
(future) functionality.

Signed-off-by: Maxim Patlasov <[email protected]>
---
 drivers/block/ploop/push_backup.c |   18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/drivers/block/ploop/push_backup.c 
b/drivers/block/ploop/push_backup.c
index 413c357..05dccfa 100644
--- a/drivers/block/ploop/push_backup.c
+++ b/drivers/block/ploop/push_backup.c
@@ -406,6 +406,13 @@ static void ploop_pb_add_req_to_reported(struct 
ploop_pushbackup_desc *pbd,
        ploop_pb_add_req_to_tree(preq, &pbd->reported_set);
 }
 
+static void remove_req_from_pbs(struct pb_set *pbs,
+                                        struct ploop_request *preq)
+{
+       rb_erase(&preq->reloc_link, &pbs->tree);
+}
+
+
 static inline bool preq_match(struct ploop_request *preq, cluster_t clu,
                              cluster_t len)
 {
@@ -437,7 +444,7 @@ static struct ploop_request 
*ploop_pb_get_req_from_tree(struct pb_set *pbs,
                        if (n)
                                *npreq = rb_entry(n, struct ploop_request,
                                                  reloc_link);
-                       rb_erase(&p->reloc_link, tree);
+                       remove_req_from_pbs(pbs, p);
                        return p;
                }
        }
@@ -453,7 +460,7 @@ static struct ploop_request 
*ploop_pb_get_req_from_tree(struct pb_set *pbs,
                n = rb_next(&p->reloc_link);
                if (n)
                        *npreq = rb_entry(n, struct ploop_request, reloc_link);
-               rb_erase(&p->reloc_link, tree);
+               remove_req_from_pbs(pbs, p);
                return p;
        }
 
@@ -481,7 +488,7 @@ ploop_pb_get_first_req_from_tree(struct pb_set *pbs,
        }
 
        p = rb_entry(n, struct ploop_request, reloc_link);
-       rb_erase(&p->reloc_link, tree);
+       remove_req_from_pbs(pbs, p);
        return p;
 }
 
@@ -641,7 +648,7 @@ int ploop_pb_get_pending(struct ploop_pushbackup_desc *pbd,
                else
                        npreq = NULL;
 
-               rb_erase(&preq->reloc_link, &pbd->pending_set.tree);
+               remove_req_from_pbs(&pbd->pending_set, preq);
                ploop_pb_add_req_to_reported(pbd, preq);
 
                (*len_p)++;
@@ -730,7 +737,6 @@ static void ploop_pb_process_extent(struct pb_set *pbs, 
cluster_t clu,
                                    cluster_t len, struct list_head *ready_list,
                                    int *n_found)
 {
-       struct rb_root *tree = &pbs->tree;
        struct ploop_request *preq, *npreq;
 
        preq = ploop_pb_get_req_from_tree(pbs, clu, len, &npreq);
@@ -753,7 +759,7 @@ static void ploop_pb_process_extent(struct pb_set *pbs, 
cluster_t clu,
                        npreq = rb_entry(n, struct ploop_request, reloc_link);
                else
                        npreq = NULL;
-               rb_erase(&preq->reloc_link, tree);
+               remove_req_from_pbs(pbs, preq);
        }
 }
 

_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to