Thread (36 messages) 36 messages, 6 authors, 2021-06-15

Re: [PATCH 07/16] rbd: use memzero_bvec

From: Ilya Dryomov <idryomov@gmail.com>
Date: 2021-06-09 09:37:51
Also in: ceph-devel, dm-devel, linux-block, linux-mips, lkml

On Tue, Jun 8, 2021 at 6:06 PM Christoph Hellwig [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Use memzero_bvec instead of reimplementing it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/block/rbd.c | 15 ++-------------
 1 file changed, 2 insertions(+), 13 deletions(-)
diff --git a/drivers/block/rbd.c b/drivers/block/rbd.c
index bbb88eb009e0..eb243fc4d108 100644
--- a/drivers/block/rbd.c
+++ b/drivers/block/rbd.c
@@ -1219,24 +1219,13 @@ static void rbd_dev_mapping_clear(struct rbd_device *rbd_dev)
        rbd_dev->mapping.size = 0;
 }

-static void zero_bvec(struct bio_vec *bv)
-{
-       void *buf;
-       unsigned long flags;
-
-       buf = bvec_kmap_irq(bv, &flags);
-       memset(buf, 0, bv->bv_len);
-       flush_dcache_page(bv->bv_page);
-       bvec_kunmap_irq(buf, &flags);
-}
-
 static void zero_bios(struct ceph_bio_iter *bio_pos, u32 off, u32 bytes)
 {
        struct ceph_bio_iter it = *bio_pos;

        ceph_bio_iter_advance(&it, off);
        ceph_bio_iter_advance_step(&it, bytes, ({
-               zero_bvec(&bv);
+               memzero_bvec(&bv);
        }));
 }
@@ -1246,7 +1235,7 @@ static void zero_bvecs(struct ceph_bvec_iter *bvec_pos, u32 off, u32 bytes)

        ceph_bvec_iter_advance(&it, off);
        ceph_bvec_iter_advance_step(&it, bytes, ({
-               zero_bvec(&bv);
+               memzero_bvec(&bv);
        }));
 }
Ira already brought up the fact that this conversion drops
flush_dcache_page() calls throughout.  Other than that:

Acked-by: Ilya Dryomov <idryomov@gmail.com>

Thanks,

                Ilya
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help