Re: [PATCH 07/16] rbd: use memzero_bvec
From: Ilya Dryomov
Date: Wed Jun 09 2021 - 05:37:56 EST
On Tue, Jun 8, 2021 at 6:06 PM Christoph Hellwig <hch@xxxxxx> wrote:
>
> Use memzero_bvec instead of reimplementing it.
>
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> ---
> 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@xxxxxxxxx>
Thanks,
Ilya