From: Christoph Hellwig <hch@lst.de>
Date: Mon, 24 Sep 2018 09:43:53 +0200
Subject: [PATCH] block: remove bvec_to_phys
Git-commit: 6e768461c215eaf8912e6c23e40fdff1cd962aca
Patch-mainline: v4.20-rc1
References: bsc#1104967,FATE#325924
We only use it in biovec_phys_mergeable and a m68k paravirt driver,
so just opencode it there. Also remove the pointless unsigned long cast
for the offset in the opencoded instances.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Acked-by: Hannes Reinecke <hare@suse.com>
---
arch/m68k/emu/nfblock.c | 2 +-
block/blk.h | 4 ++--
include/linux/bio.h | 5 -----
3 files changed, 3 insertions(+), 8 deletions(-)
--- a/arch/m68k/emu/nfblock.c
+++ b/arch/m68k/emu/nfblock.c
@@ -73,7 +73,7 @@ static blk_qc_t nfhd_make_request(struct
len = bvec.bv_len;
len >>= 9;
nfhd_read_write(dev->id, 0, dir, sec >> shift, len >> shift,
- bvec_to_phys(&bvec));
+ page_to_phys(bvec.bv_page) + bvec.bv_offset);
sec += len;
}
bio_endio(bio);
--- a/block/blk.h
+++ b/block/blk.h
@@ -156,8 +156,8 @@ static inline bool biovec_phys_mergeable
struct bio_vec *vec1, struct bio_vec *vec2)
{
unsigned long mask = queue_segment_boundary(q);
- phys_addr_t addr1 = bvec_to_phys(vec1);
- phys_addr_t addr2 = bvec_to_phys(vec2);
+ phys_addr_t addr1 = page_to_phys(vec1->bv_page) + vec1->bv_offset;
+ phys_addr_t addr2 = page_to_phys(vec2->bv_page) + vec2->bv_offset;
if (addr1 + vec1->bv_len != addr2)
return false;
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -125,11 +125,6 @@ static inline bool bio_full(struct bio *
}
/*
- * will die
- */
-#define bvec_to_phys(bv) (page_to_phys((bv)->bv_page) + (unsigned long) (bv)->bv_offset)
-
-/*
* drivers should _never_ use the all version - the bio may have been split
* before it got to the driver and the driver won't own all of it
*/