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