The commit is pushed to "branch-rh9-5.14.0-427.92.1.vz9.88.x-ovz" and will 
appear at [email protected]:openvz/vzkernel.git
after rh9-5.14.0-427.92.1.vz9.88.7
------>
commit 8bca997057bb5c2dfdd8c9e63720da2437467e88
Author: Pavel Tikhomirov <[email protected]>
Date:   Tue Nov 11 16:05:35 2025 +0800

    Revert "dm-ploop: issue sync from proper context"
    
    This reverts commit b86d9f7bbdee5c90f1f85601e206c36de199403c.
    
    We don't have REQ_FUA in dm-ploop anymore after commit 4e659676652fa
    ("md: mark dm-ploop and dm-qcow2 targets non-fua") so we can revert all
    our REQ_FUA specific handling.
    
    https://virtuozzo.atlassian.net/browse/VSTOR-119063
    Signed-off-by: Pavel Tikhomirov <[email protected]>
    
    Feature: dm-ploop: ploop target driver
---
 drivers/md/dm-ploop-map.c | 40 ++++------------------------------------
 drivers/md/dm-ploop.h     |  3 +--
 2 files changed, 5 insertions(+), 38 deletions(-)

diff --git a/drivers/md/dm-ploop-map.c b/drivers/md/dm-ploop-map.c
index e26e12381e980..1a5803e7d1ba9 100644
--- a/drivers/md/dm-ploop-map.c
+++ b/drivers/md/dm-ploop-map.c
@@ -21,7 +21,6 @@
 #include "dm-rq.h"
 
 static inline int ploop_runners_add_work(struct ploop *ploop, struct pio *pio);
-static inline int ploop_runners_add_work_offload(struct ploop *ploop, struct 
pio *pio);
 static void ploop_bat_write_complete(struct pio *pio, void *piwb_ptr,
                                     blk_status_t bi_status);
 
@@ -216,23 +215,6 @@ static void ploop_prq_endio(struct pio *pio, void *prq_ptr,
 
 static void ploop_dec_nr_inflight(struct ploop *ploop, struct pio *pio);
 
-static void ploop_wrkr_pio_endio(struct pio *pio)
-{
-       ploop_endio_t endio_cb = pio->endio_cb;
-       void *endio_cb_data = pio->endio_cb_data;
-       bool free_on_endio = pio->free_on_endio;
-       struct file *file;
-
-       file = ploop_top_delta(pio->ploop)->file;
-       vfs_fsync(file, 1);
-
-       ploop_dec_nr_inflight(pio->ploop, pio);
-       endio_cb(pio, endio_cb_data, pio->bi_status);
-       if (free_on_endio) {
-               ploop_free_pio(pio->ploop, pio);
-       }
-}
-
 static void ploop_do_pio_endio(struct pio *pio)
 {
        ploop_endio_t endio_cb = pio->endio_cb;
@@ -244,9 +226,10 @@ static void ploop_do_pio_endio(struct pio *pio)
 
        /* REQ_FUA requires us to flush all before pio is completed */
        if (pio->bi_op & REQ_FUA) {
-               pio->queue_list_id = PLOOP_LIST_ENDPIO;
-               ploop_runners_add_work_offload(pio->ploop, pio);
-               return;
+               struct file *file;
+
+               file = ploop_top_delta(pio->ploop)->file;
+               vfs_fsync(file, 1);
        }
 
        ploop_dec_nr_inflight(pio->ploop, pio);
@@ -2252,18 +2235,6 @@ static inline int ploop_runners_add_work(struct ploop 
*ploop, struct pio *pio)
        return 0;
 }
 
-static inline int ploop_runners_add_work_offload(struct ploop *ploop, struct 
pio *pio)
-{
-       struct ploop_worker *wrkr;
-
-       wrkr = READ_ONCE(ploop->last_used_runner)->next;
-       WRITE_ONCE(ploop->last_used_runner, wrkr);
-       llist_add((struct llist_node *)(&pio->list), &wrkr->work_llist);
-       wake_up_process(wrkr->task);
-
-       return 0;
-}
-
 static inline int ploop_runners_add_work_list(struct ploop *ploop, struct 
llist_node *list)
 {
        struct llist_node *pos, *t;
@@ -2481,9 +2452,6 @@ int ploop_pio_runner(void *data)
                        case PLOOP_LIST_WRITEBACK: /* Write back pio */
                                ploop_submit_rw_mapped(ploop, pio);
                                break;
-                       case PLOOP_LIST_ENDPIO:
-                               ploop_wrkr_pio_endio(pio);
-                               continue;
                        default:
                                WARN_ON_ONCE(1);
                        }
diff --git a/drivers/md/dm-ploop.h b/drivers/md/dm-ploop.h
index fc12efeb0cd93..23662943d56aa 100644
--- a/drivers/md/dm-ploop.h
+++ b/drivers/md/dm-ploop.h
@@ -145,7 +145,6 @@ enum {
        /* Following to be used as a list id only */
        PLOOP_LIST_WRITEBACK,
        PLOOP_LIST_FLUSHPIO,
-       PLOOP_LIST_ENDPIO,
 };
 
 struct ploop_worker {
@@ -315,7 +314,7 @@ struct pio {
 #define PLOOP_REF_INDEX_INVALID        2
        unsigned int ref_index:2;
 
-       u8 queue_list_id; /* id in ploop->pios */
+       u8 queue_list_id:3; /* id in ploop->pios */
 
        struct ploop_index_wb *piwb;
 
_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to