[Devel] [PATCH RHEL8 COMMIT] ploop: Rename pio::action
Konstantin Khorenko
khorenko at virtuozzo.com
Mon May 17 19:05:05 MSK 2021
The commit is pushed to "branch-rh8-4.18.0-240.1.1.vz8.5.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git
after rh8-4.18.0-240.1.1.vz8.5.30
------>
commit 5f466c0faa8a93f8843d069466ff8d95a94c9849
Author: Kirill Tkhai <ktkhai at virtuozzo.com>
Date: Mon May 17 19:05:05 2021 +0300
ploop: Rename pio::action
Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>
=====================
Patchset description:
dm-ploop: Kill loop
Intermediate patches can't be base for bisect.
In scope of https://jira.sw.ru/browse/PSBM-123654
Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>
---
drivers/md/dm-ploop-map.c | 18 +++++-------------
drivers/md/dm-ploop.h | 4 +---
2 files changed, 6 insertions(+), 16 deletions(-)
diff --git a/drivers/md/dm-ploop-map.c b/drivers/md/dm-ploop-map.c
index c471b621e1b5..36d7b5a5643d 100644
--- a/drivers/md/dm-ploop-map.c
+++ b/drivers/md/dm-ploop-map.c
@@ -90,7 +90,7 @@ static void init_pio(struct ploop *ploop, unsigned int bi_op, struct pio *pio)
{
pio->ploop = ploop;
pio->bi_op = bi_op;
- pio->action = PLOOP_END_IO_NONE;
+ pio->wants_discard_index_cleanup = false;
pio->is_data_alloc = false;
pio->ref_index = PLOOP_REF_INDEX_INVALID;
pio->bi_status = BLK_STS_OK;
@@ -521,7 +521,7 @@ static void handle_discard_pio(struct ploop *ploop, struct pio *pio,
ret = punch_hole(top_delta(ploop)->file, pos, pio->bi_iter.bi_size);
if (ret) {
pio->bi_status = errno_to_blk_status(ret);
- pio->action = PLOOP_END_IO_DISCARD_INDEX_BIO;
+ pio->wants_discard_index_cleanup = true;
pio_endio(pio);
return;
}
@@ -883,11 +883,6 @@ static bool ploop_data_pio_end(struct pio *pio)
static bool ploop_attach_end_action(struct pio *h, struct ploop_index_wb *piwb)
{
- if (WARN_ON_ONCE(h->action != PLOOP_END_IO_NONE)) {
- h->action = PLOOP_END_IO_NONE;
- return false;
- }
-
/* Currently this can't fail. */
if (!atomic_inc_not_zero(&piwb->count))
return false;
@@ -1461,7 +1456,7 @@ static int process_one_discard_pio(struct ploop *ploop, struct pio *pio,
goto out;
}
- pio->action = PLOOP_END_IO_DISCARD_INDEX_BIO;
+ pio->wants_discard_index_cleanup = true;
/* Cluster index related to the page[page_nr] start */
cluster -= piwb->page_nr * PAGE_SIZE / sizeof(map_index_t) - PLOOP_MAP_OFFSET;
@@ -1497,10 +1492,7 @@ static void do_discard_cleanup(struct ploop *ploop)
}
/*
- * This processes discard bios waiting index writeback after REQ_DISCARD
- * to backing device has finished (PLOOP_END_IO_DISCARD_INDEX_BIO stage).
- *
- * Also this switches the device back in !force_link_inflight_bios mode
+ * This switches the device back in !force_link_inflight_bios mode
* after cleanup timeout has expired.
*/
static void process_discard_pios(struct ploop *ploop, struct list_head *pios,
@@ -1761,7 +1753,7 @@ static void ploop_endio(struct ploop *ploop, struct pio *pio)
* processing, and that we are going to call bi_end_io
* directly later again.
*/
- if (pio->action == PLOOP_END_IO_DISCARD_INDEX_BIO)
+ if (pio->wants_discard_index_cleanup)
ploop_discard_index_pio_end(ploop, pio);
maybe_unlink_completed_pio(ploop, pio);
diff --git a/drivers/md/dm-ploop.h b/drivers/md/dm-ploop.h
index 0b28fa8b453e..e1924744757a 100644
--- a/drivers/md/dm-ploop.h
+++ b/drivers/md/dm-ploop.h
@@ -256,10 +256,8 @@ struct pio {
unsigned int cluster;
-#define PLOOP_END_IO_NONE 0
-#define PLOOP_END_IO_DISCARD_INDEX_BIO 3
- unsigned int action:2;
bool is_data_alloc:1;
+ bool wants_discard_index_cleanup:1;
/*
* 0 and 1 are related to inflight_bios_ref[],
* 2 means index is not assigned.
More information about the Devel
mailing list