https://virtuozzo.atlassian.net/browse/VSTOR-91820
Signed-off-by: Alexander Atanasov <alexander.atana...@virtuozzo.com>
---
 drivers/md/dm-ploop-cmd.c | 14 ++------------
 drivers/md/dm-ploop-map.c | 13 ++-----------
 drivers/md/dm-ploop.h     |  2 +-
 3 files changed, 5 insertions(+), 24 deletions(-)

diff --git a/drivers/md/dm-ploop-cmd.c b/drivers/md/dm-ploop-cmd.c
index a37202be47b4..115efdf092d3 100644
--- a/drivers/md/dm-ploop-cmd.c
+++ b/drivers/md/dm-ploop-cmd.c
@@ -123,7 +123,6 @@ ALLOW_ERROR_INJECTION(ploop_inflight_bios_ref_switch, 
ERRNO);
 
 static void ploop_resume_submitting_pios(struct ploop *ploop)
 {
-       LIST_HEAD(list);
        struct llist_node *suspended_pending;
 
        spin_lock_irq(&ploop->deferred_lock);
@@ -132,17 +131,8 @@ static void ploop_resume_submitting_pios(struct ploop 
*ploop)
        spin_unlock_irq(&ploop->deferred_lock);
 
        suspended_pending = llist_del_all(&ploop->llsuspended_pios);
-       if (suspended_pending) {
-               struct llist_node *pos, *t;
-
-               suspended_pending = llist_reverse_order(suspended_pending);
-               llist_for_each_safe(pos, t, suspended_pending) {
-                       struct pio *pio = list_entry((struct list_head *)pos, 
typeof(*pio), list);
-
-                       list_add(&pio->list, &list);
-               }
-               ploop_submit_embedded_pios(ploop, &list);
-       }
+       if (suspended_pending)
+               ploop_submit_embedded_pios(ploop, 
llist_reverse_order(suspended_pending));
 }
 
 static int ploop_suspend_submitting_pios(struct ploop *ploop)
diff --git a/drivers/md/dm-ploop-map.c b/drivers/md/dm-ploop-map.c
index 28bced7684e5..8d165bd4fa9d 100644
--- a/drivers/md/dm-ploop-map.c
+++ b/drivers/md/dm-ploop-map.c
@@ -144,19 +144,10 @@ static void ploop_init_prq_and_embedded_pio(struct ploop 
*ploop,
 void ploop_enospc_timer(struct timer_list *timer)
 {
        struct ploop *ploop = from_timer(ploop, timer, enospc_timer);
-       LIST_HEAD(list);
-       struct llist_node *pos, *t;
        struct llist_node *enospc_pending = llist_del_all(&ploop->enospc_pios);
 
-       if (enospc_pending) {
-               enospc_pending = llist_reverse_order(enospc_pending);
-               llist_for_each_safe(pos, t, enospc_pending) {
-                       struct pio *pio = list_entry((struct list_head *)pos, 
typeof(*pio), list);
-
-                       list_add(&pio->list, &list);
-               }
-               ploop_submit_embedded_pios(ploop, &list);
-       }
+       if (enospc_pending)
+               ploop_submit_embedded_pios(ploop, 
llist_reverse_order(enospc_pending));
 }
 
 void do_ploop_event_work(struct work_struct *ws)
diff --git a/drivers/md/dm-ploop.h b/drivers/md/dm-ploop.h
index f4d3dce02d6c..3147bd71a314 100644
--- a/drivers/md/dm-ploop.h
+++ b/drivers/md/dm-ploop.h
@@ -571,7 +571,7 @@ extern int ploop_add_delta(struct ploop *ploop, u32 level,
 extern int ploop_check_delta_length(struct ploop *ploop, struct file *file,
                                    loff_t *file_size);
 extern void ploop_submit_embedded_pios(struct ploop *ploop,
-                                      struct list_head *list);
+                                      struct llist_node *list);
 extern void ploop_dispatch_pios(struct ploop *ploop, struct pio *pio,
                                struct list_head *pio_list);
 extern void do_ploop_work(struct work_struct *ws);
-- 
2.43.0

_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to