[Devel] [PATCH RHEL8 COMMIT] ploop: Rename page_nr
Konstantin Khorenko
khorenko at virtuozzo.com
Tue Jun 29 16:08:17 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.50
------>
commit a1d3f72b7796667c662c3cf864e107d5330c9097
Author: Kirill Tkhai <ktkhai at virtuozzo.com>
Date: Tue Jun 29 16:08:17 2021 +0300
ploop: Rename page_nr
Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>
==========================
Preparation for #PSBM-124550 (part 2)
Kirill Tkhai (14):
ploop: Kill "get_delta_name" alias
ploop: Use initial pio for COW
ploop: Rename cluster_pio into aux_pio
ploop: Shorten variable names
ploop: Rename in submit_cluster_write()
ploop: Use defer_pios() instead of manual code
ploop: Use array of pios instead of separate lists
ploop: Generalize dispatch_pios usage
ploop: Unify process_delta_wb()
ploop: Remove unused struct member
ploop: Rename page_nr
ploop: Return md page from ploop_bat_entries()
ploop: Kill dead check in ploop_attach_end_action()
ploop: Delay bio if md page is BUSY
---
drivers/md/dm-ploop-map.c | 72 +++++++++++++++++++++++------------------------
drivers/md/dm-ploop.h | 4 +--
2 files changed, 38 insertions(+), 38 deletions(-)
diff --git a/drivers/md/dm-ploop-map.c b/drivers/md/dm-ploop-map.c
index 5ae981f64ece..0469147586d3 100644
--- a/drivers/md/dm-ploop-map.c
+++ b/drivers/md/dm-ploop-map.c
@@ -67,7 +67,7 @@ void ploop_index_wb_init(struct ploop_index_wb *piwb, struct ploop *ploop)
/* For ploop_bat_write_complete() */
atomic_set(&piwb->count, 1);
piwb->completed = false;
- piwb->page_nr = PAGE_NR_NONE;
+ piwb->page_id = PAGE_NR_NONE;
piwb->type = PIWB_TYPE_ALLOC;
}
@@ -646,7 +646,7 @@ static void ploop_advance_local_after_bat_wb(struct ploop *ploop,
struct ploop_index_wb *piwb,
bool success)
{
- struct md_page *md = md_page_find(ploop, piwb->page_nr);
+ struct md_page *md = md_page_find(ploop, piwb->page_id);
unsigned int i, last, *bat_entries;
map_index_t *dst_clu, off;
unsigned long flags;
@@ -655,7 +655,7 @@ static void ploop_advance_local_after_bat_wb(struct ploop *ploop,
bat_entries = kmap_atomic(md->page);
/* Absolute number of first index in page (negative for page#0) */
- off = piwb->page_nr * PAGE_SIZE / sizeof(map_index_t);
+ off = piwb->page_id * PAGE_SIZE / sizeof(map_index_t);
off -= PLOOP_MAP_OFFSET;
/* Last and first index in copied page */
@@ -663,7 +663,7 @@ static void ploop_advance_local_after_bat_wb(struct ploop *ploop,
if (last > PAGE_SIZE / sizeof(map_index_t))
last = PAGE_SIZE / sizeof(map_index_t);
i = 0;
- if (!piwb->page_nr)
+ if (!piwb->page_id)
i = PLOOP_MAP_OFFSET;
dst_clu = kmap_atomic(piwb->bat_page);
@@ -766,7 +766,7 @@ static void ploop_bat_write_complete(struct ploop_index_wb *piwb,
put_piwb(piwb);
}
-static int ploop_prepare_bat_update(struct ploop *ploop, unsigned int page_nr,
+static int ploop_prepare_bat_update(struct ploop *ploop, unsigned int page_id,
struct ploop_index_wb *piwb)
{
unsigned int i, off, last, *bat_entries;
@@ -779,16 +779,16 @@ static int ploop_prepare_bat_update(struct ploop *ploop, unsigned int page_nr,
if (!page)
return -ENOMEM;
- md = md_page_find(ploop, page_nr);
+ md = md_page_find(ploop, page_id);
BUG_ON(!md);
bat_entries = kmap_atomic(md->page);
- piwb->page_nr = page_nr;
+ piwb->page_id = page_id;
to = kmap_atomic(page);
memcpy((void *)to, bat_entries, PAGE_SIZE);
/* Absolute number of first index in page (negative for page#0) */
- off = page_nr * PAGE_SIZE / sizeof(map_index_t);
+ off = page_id * PAGE_SIZE / sizeof(map_index_t);
off -= PLOOP_MAP_OFFSET;
/* Last and first index in copied page */
@@ -798,7 +798,7 @@ static int ploop_prepare_bat_update(struct ploop *ploop, unsigned int page_nr,
is_last_page = false;
}
i = 0;
- if (!page_nr)
+ if (!page_id)
i = PLOOP_MAP_OFFSET;
/* Copy BAT (BAT goes right after hdr, see .ctr) */
@@ -832,7 +832,7 @@ static void ploop_bat_page_zero_cluster(struct ploop *ploop,
{
map_index_t *to;
- /* Cluster index related to the page[page_nr] start */
+ /* Cluster index related to the page[page_id] start */
clu = bat_clu_idx_in_page(clu);
to = kmap_atomic(piwb->bat_page);
@@ -943,8 +943,8 @@ static int ploop_alloc_cluster(struct ploop *ploop, struct ploop_index_wb *piwb,
map_index_t *to;
int ret = 0;
- /* Cluster index related to the page[page_nr] start */
- clu -= piwb->page_nr * PAGE_SIZE / sizeof(map_index_t) - PLOOP_MAP_OFFSET;
+ /* Cluster index related to the page[page_id] start */
+ clu -= piwb->page_id * PAGE_SIZE / sizeof(map_index_t) - PLOOP_MAP_OFFSET;
to = kmap_atomic(page);
if (to[clu]) {
@@ -1233,25 +1233,25 @@ static void submit_cow_index_wb(struct ploop_cow *cow,
struct pio *cow_pio = cow->cow_pio;
unsigned int clu = cow_pio->clu;
struct ploop *ploop = cow->ploop;
- unsigned int page_nr;
+ unsigned int page_id;
map_index_t *to;
- page_nr = bat_clu_to_page_nr(clu);
+ page_id = bat_clu_to_page_nr(clu);
- if (piwb->page_nr == PAGE_NR_NONE) {
+ if (piwb->page_id == PAGE_NR_NONE) {
/* No index wb in process. Prepare a new one */
- if (ploop_prepare_bat_update(ploop, page_nr, piwb) < 0)
+ if (ploop_prepare_bat_update(ploop, page_id, piwb) < 0)
goto err_resource;
}
- if (piwb->page_nr != page_nr || piwb->type != PIWB_TYPE_ALLOC) {
+ if (piwb->page_id != page_id || piwb->type != PIWB_TYPE_ALLOC) {
/* Another BAT page wb is in process */
cow->aux_pio->queue_list_id = PLOOP_LIST_COW;
dispatch_pios(ploop, cow->aux_pio, NULL);
goto out;
}
- clu -= page_nr * PAGE_SIZE / sizeof(map_index_t) - PLOOP_MAP_OFFSET;
+ clu -= page_id * PAGE_SIZE / sizeof(map_index_t) - PLOOP_MAP_OFFSET;
to = kmap_atomic(piwb->bat_page);
WARN_ON(to[clu]);
@@ -1323,20 +1323,20 @@ static bool locate_new_cluster_and_attach_pio(struct ploop *ploop,
{
bool bat_update_prepared = false;
bool attached = false;
- unsigned int page_nr;
+ unsigned int page_id;
- page_nr = bat_clu_to_page_nr(clu);
+ page_id = bat_clu_to_page_nr(clu);
- if (piwb->page_nr == PAGE_NR_NONE) {
+ if (piwb->page_id == PAGE_NR_NONE) {
/* No index wb in process. Prepare a new one */
- if (ploop_prepare_bat_update(ploop, page_nr, piwb) < 0) {
+ if (ploop_prepare_bat_update(ploop, page_id, piwb) < 0) {
pio->bi_status = BLK_STS_RESOURCE;
goto error;
}
bat_update_prepared = true;
}
- if (piwb->page_nr != page_nr || piwb->type != PIWB_TYPE_ALLOC) {
+ if (piwb->page_id != page_id || piwb->type != PIWB_TYPE_ALLOC) {
/* Another BAT page wb is in process */
dispatch_pios(ploop, pio, NULL);
goto out;
@@ -1440,11 +1440,11 @@ void ploop_submit_index_wb_sync(struct ploop *ploop,
/* track_bio() will be called in ploop_bat_write_complete() */
ret = ploop_rw_page_sync(WRITE, top_delta(ploop)->file,
- piwb->page_nr, piwb->bat_page);
+ piwb->page_id, piwb->bat_page);
if (ret)
status = errno_to_blk_status(ret);
- dst_clu = ((u64)piwb->page_nr << PAGE_SHIFT) / CLU_SIZE(ploop);
+ dst_clu = ((u64)piwb->page_id << PAGE_SHIFT) / CLU_SIZE(ploop);
track_dst_cluster(ploop, dst_clu);
ploop_bat_write_complete(piwb, status);
@@ -1463,19 +1463,19 @@ static void process_deferred_pios(struct ploop *ploop, struct list_head *pios,
static int process_one_discard_pio(struct ploop *ploop, struct pio *pio,
struct ploop_index_wb *piwb)
{
- unsigned int page_nr, clu;
+ unsigned int page_id, clu;
bool bat_update_prepared;
map_index_t *to;
WARN_ON(ploop->nr_deltas != 1);
clu = pio->clu;
- page_nr = bat_clu_to_page_nr(clu);
+ page_id = bat_clu_to_page_nr(clu);
bat_update_prepared = false;
- if (piwb->page_nr == PAGE_NR_NONE) {
+ if (piwb->page_id == PAGE_NR_NONE) {
/* No index wb in process. Prepare a new one */
- if (ploop_prepare_bat_update(ploop, page_nr, piwb) < 0) {
+ if (ploop_prepare_bat_update(ploop, page_id, piwb) < 0) {
pio->bi_status = BLK_STS_RESOURCE;
pio_endio(pio);
goto out;
@@ -1484,13 +1484,13 @@ static int process_one_discard_pio(struct ploop *ploop, struct pio *pio,
bat_update_prepared = true;
}
- if (piwb->page_nr != page_nr || piwb->type != PIWB_TYPE_DISCARD) {
+ if (piwb->page_id != page_id || piwb->type != PIWB_TYPE_DISCARD) {
queue_discard_index_wb(ploop, pio);
goto out;
}
- /* Cluster index related to the page[page_nr] start */
- clu -= piwb->page_nr * PAGE_SIZE / sizeof(map_index_t) - PLOOP_MAP_OFFSET;
+ /* Cluster index related to the page[page_id] start */
+ clu -= piwb->page_id * PAGE_SIZE / sizeof(map_index_t) - PLOOP_MAP_OFFSET;
to = kmap_atomic(piwb->bat_page);
if (WARN_ON_ONCE(!to[clu])) {
@@ -1557,7 +1557,7 @@ void do_ploop_work(struct work_struct *ws)
process_discard_pios(ploop, &discard_pios, &piwb);
process_delta_wb(ploop, &cow_pios, &piwb);
- if (piwb.page_nr != PAGE_NR_NONE) {
+ if (piwb.page_id != PAGE_NR_NONE) {
/* Index wb was prepared -- submit and wait it */
ploop_submit_index_wb_sync(ploop, &piwb);
ploop_reset_bat_update(&piwb);
@@ -1760,10 +1760,10 @@ int ploop_prepare_reloc_index_wb(struct ploop *ploop,
unsigned int clu,
unsigned int *dst_clu)
{
- unsigned int page_nr = bat_clu_to_page_nr(clu);
+ unsigned int page_id = bat_clu_to_page_nr(clu);
- if (piwb->page_nr != PAGE_NR_NONE ||
- ploop_prepare_bat_update(ploop, page_nr, piwb))
+ if (piwb->page_id != PAGE_NR_NONE ||
+ ploop_prepare_bat_update(ploop, page_id, piwb))
goto out_eio;
if (dst_clu) {
/*
diff --git a/drivers/md/dm-ploop.h b/drivers/md/dm-ploop.h
index e499c602e9f2..30bff7fd582e 100644
--- a/drivers/md/dm-ploop.h
+++ b/drivers/md/dm-ploop.h
@@ -102,7 +102,7 @@ struct ploop_index_wb {
atomic_t count;
bool completed;
int bi_status;
- unsigned int page_nr;
+ unsigned int page_id;
};
/* Metadata page */
@@ -395,7 +395,7 @@ static inline unsigned int ploop_bat_entries(struct ploop *ploop,
md = md_page_find(ploop, id);
BUG_ON(!md);
- /* Cluster index related to the page[page_nr] start */
+ /* Cluster index related to the page[page_id] start */
clu = bat_clu_idx_in_page(clu);
if (bat_level)
More information about the Devel
mailing list