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 5ea2a11765acd1888ca72f4c8369f4e931f2a94b
Author: Kirill Tkhai <[email protected]>
Date:   Mon May 17 19:04:47 2021 +0300

    ploop: Convert remap_to_cluster()
    
    Signed-off-by: Kirill Tkhai <[email protected]>
    
    =====================
    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 <[email protected]>
---
 drivers/md/dm-ploop-map.c | 10 +++++-----
 drivers/md/dm-ploop.h     |  9 ++++++++-
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/drivers/md/dm-ploop-map.c b/drivers/md/dm-ploop-map.c
index 75bed1721aa0..914e298305a8 100644
--- a/drivers/md/dm-ploop-map.c
+++ b/drivers/md/dm-ploop-map.c
@@ -494,9 +494,9 @@ static void handle_discard_bio(struct ploop *ploop, struct 
bio *bio,
        atomic_inc(&ploop->nr_discard_bios);
 
        remap_to_origin(ploop, bio);
-       remap_to_cluster(ploop, bio, dst_cluster);
+       remap_to_cluster(ploop, h, dst_cluster);
 
-       pos = to_bytes(bio->bi_iter.bi_sector);
+       pos = to_bytes(h->bi_iter.bi_sector);
        ret = punch_hole(top_delta(ploop)->file, pos, h->bi_iter.bi_size);
        if (ret)
                h->bi_status = errno_to_blk_status(ret);
@@ -940,7 +940,7 @@ static void submit_delta_read(struct ploop *ploop, unsigned 
int level,
        atomic_set(&piocb->count, 2);
        piocb->bio = bio;
 
-       remap_to_cluster(ploop, bio, dst_cluster);
+       remap_to_cluster_bio(ploop, bio, dst_cluster);
 
        bvec = __bvec_iter_bvec(bio->bi_io_vec, bio->bi_iter);
        offset = bio->bi_iter.bi_bvec_done;
@@ -1320,8 +1320,8 @@ static void submit_rw_mapped(struct ploop *ploop, loff_t 
clu_pos, struct pio *pi
        iter.iov_offset = pio->bi_iter.bi_bvec_done;
 
        remap_to_origin(ploop, bio);
-       remap_to_cluster(ploop, bio, clu_pos);
-       pos = to_bytes(bio->bi_iter.bi_sector);
+       remap_to_cluster(ploop, pio, clu_pos);
+       pos = to_bytes(pio->bi_iter.bi_sector);
 
        call_rw_iter(top_delta(ploop)->file, pos, rw, &iter, bio);
 }
diff --git a/drivers/md/dm-ploop.h b/drivers/md/dm-ploop.h
index 61332b83eea8..6abe21d0ad0f 100644
--- a/drivers/md/dm-ploop.h
+++ b/drivers/md/dm-ploop.h
@@ -308,8 +308,15 @@ static inline void remap_to_origin(struct ploop *ploop, 
struct bio *bio)
        bio_set_dev(bio, ploop->origin_dev->bdev);
 }
 
-static inline void remap_to_cluster(struct ploop *ploop, struct bio *bio,
+static inline void remap_to_cluster(struct ploop *ploop, struct pio *pio,
                                    unsigned int cluster)
+{
+       pio->bi_iter.bi_sector &= ((1 << ploop->cluster_log) - 1);
+       pio->bi_iter.bi_sector |= (cluster << ploop->cluster_log);
+}
+
+static inline void remap_to_cluster_bio(struct ploop *ploop, struct bio *bio,
+                                       unsigned int cluster)
 {
        bio->bi_iter.bi_sector &= ((1 << ploop->cluster_log) - 1);
        bio->bi_iter.bi_sector |= (cluster << ploop->cluster_log);
_______________________________________________
Devel mailing list
[email protected]
https://lists.openvz.org/mailman/listinfo/devel

Reply via email to