Browse Source

block: remove bvec_to_phys

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>
Christoph Hellwig 6 years ago
parent
commit
6e768461c2
3 changed files with 3 additions and 8 deletions
  1. 1 1
      arch/m68k/emu/nfblock.c
  2. 2 2
      block/blk.h
  3. 0 5
      include/linux/bio.h

+ 1 - 1
arch/m68k/emu/nfblock.c

@@ -73,7 +73,7 @@ static blk_qc_t nfhd_make_request(struct request_queue *queue, struct bio *bio)
 		len = bvec.bv_len;
 		len = bvec.bv_len;
 		len >>= 9;
 		len >>= 9;
 		nfhd_read_write(dev->id, 0, dir, sec >> shift, len >> shift,
 		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;
 		sec += len;
 	}
 	}
 	bio_endio(bio);
 	bio_endio(bio);

+ 2 - 2
block/blk.h

@@ -157,8 +157,8 @@ static inline bool biovec_phys_mergeable(struct request_queue *q,
 		struct bio_vec *vec1, struct bio_vec *vec2)
 		struct bio_vec *vec1, struct bio_vec *vec2)
 {
 {
 	unsigned long mask = queue_segment_boundary(q);
 	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)
 	if (addr1 + vec1->bv_len != addr2)
 		return false;
 		return false;

+ 0 - 5
include/linux/bio.h

@@ -132,11 +132,6 @@ static inline bool bio_full(struct bio *bio)
 	return bio->bi_vcnt >= bio->bi_max_vecs;
 	return bio->bi_vcnt >= bio->bi_max_vecs;
 }
 }
 
 
-/*
- * 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
  * 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
  * before it got to the driver and the driver won't own all of it