]> www.infradead.org Git - users/hch/block.git/commitdiff
block: fold blk_max_size_offset into get_max_io_size
authorChristoph Hellwig <hch@lst.de>
Tue, 28 Sep 2021 05:44:24 +0000 (07:44 +0200)
committerChristoph Hellwig <hch@lst.de>
Tue, 28 Sep 2021 05:44:24 +0000 (07:44 +0200)
Fold blk_max_size_offset into the only remaining user.

Signed-off-by: Christoph Hellwig <hch@lst.de>
block/blk-merge.c
include/linux/blkdev.h

index bf977f45219e49124c90823d71b080189242fb09..e3ed935e37cf8a49a949d43f279c64afe4e30617 100644 (file)
@@ -145,14 +145,18 @@ static struct bio *blk_bio_write_same_split(struct request_queue *q,
 static inline unsigned get_max_io_size(struct request_queue *q,
                                       struct bio *bio)
 {
-       unsigned sectors = blk_max_size_offset(q, bio->bi_iter.bi_sector, 0);
-       unsigned max_sectors = sectors;
        unsigned pbs = queue_physical_block_size(q) >> SECTOR_SHIFT;
        unsigned lbs = queue_logical_block_size(q) >> SECTOR_SHIFT;
-       unsigned start_offset = bio->bi_iter.bi_sector & (pbs - 1);
+       sector_t sector = bio->bi_iter.bi_sector;
+       unsigned start_offset = sector & (pbs - 1);
+       unsigned sectors = q->limits.max_sectors;
+       unsigned max_sectors;
 
-       max_sectors += start_offset;
-       max_sectors &= ~(pbs - 1);
+       if (q->limits.chunk_sectors)
+               sectors = min(chunk_size_left(sector, q->limits.chunk_sectors),
+                             sectors);
+
+       max_sectors = (sectors + start_offset) & ~(pbs - 1);
        if (max_sectors > start_offset)
                return max_sectors - start_offset;
 
index bd1fd3f759da819694d502089a55ac05c7ece6b2..f222e51d3b32cf6dfdbb02979edae61a201dba87 100644 (file)
@@ -635,25 +635,6 @@ static inline unsigned int chunk_size_left(sector_t offset,
        return chunk_sectors - (offset & (chunk_sectors - 1));
 }
 
-/*
- * Return maximum size of a request at given offset. Only valid for
- * file system requests.
- */
-static inline unsigned int blk_max_size_offset(struct request_queue *q,
-                                              sector_t offset,
-                                              unsigned int chunk_sectors)
-{
-       if (!chunk_sectors) {
-               if (q->limits.chunk_sectors)
-                       chunk_sectors = q->limits.chunk_sectors;
-               else
-                       return q->limits.max_sectors;
-       }
-
-       return min(q->limits.max_sectors,
-                       chunk_size_left(offset, chunk_sectors));
-}
-
 /*
  * Access functions for manipulating queue properties
  */