dm: open code blk_max_size_offset in max_io_len

max_io_len always passes an explicitly non-zero chunk_sectors into
blk_max_size_offset.  That means much of blk_max_size_offset is not
needed and can be open coded to simplify the code.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Mike Snitzer <snitzer@kernel.org>
Link: https://lore.kernel.org/r/20220614090934.570632-3-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Christoph Hellwig 2022-06-14 11:09:30 +02:00 committed by Jens Axboe
parent 8689461be3
commit c39493222e
1 changed files with 6 additions and 11 deletions

View File

@ -1086,23 +1086,18 @@ static sector_t max_io_len(struct dm_target *ti, sector_t sector)
{ {
sector_t target_offset = dm_target_offset(ti, sector); sector_t target_offset = dm_target_offset(ti, sector);
sector_t len = max_io_len_target_boundary(ti, target_offset); sector_t len = max_io_len_target_boundary(ti, target_offset);
sector_t max_len;
/* /*
* Does the target need to split IO even further? * Does the target need to split IO even further?
* - varied (per target) IO splitting is a tenet of DM; this * - varied (per target) IO splitting is a tenet of DM; this
* explains why stacked chunk_sectors based splitting via * explains why stacked chunk_sectors based splitting via
* blk_max_size_offset() isn't possible here. So pass in * blk_queue_split() isn't possible here.
* ti->max_io_len to override stacked chunk_sectors.
*/ */
if (ti->max_io_len) { if (!ti->max_io_len)
max_len = blk_max_size_offset(ti->table->md->queue, return len;
target_offset, ti->max_io_len); return min_t(sector_t, len,
if (len > max_len) min(queue_max_sectors(ti->table->md->queue),
len = max_len; blk_chunk_sectors_left(target_offset, ti->max_io_len)));
}
return len;
} }
int dm_set_target_max_io_len(struct dm_target *ti, sector_t len) int dm_set_target_max_io_len(struct dm_target *ti, sector_t len)