Lines Matching refs:limits

2428 	struct queue_limits *data_limits = &bdev_get_queue(data_bdev)->limits;  in disable_passdown_if_not_supported()
3590 static void set_discard_limits(struct pool_c *pt, struct queue_limits *limits) in set_discard_limits() argument
3595 limits->max_discard_sectors = pool->sectors_per_block; in set_discard_limits()
3601 data_limits = &bdev_get_queue(pt->data_dev->bdev)->limits; in set_discard_limits()
3602 limits->discard_granularity = max(data_limits->discard_granularity, in set_discard_limits()
3605 limits->discard_granularity = pool->sectors_per_block << SECTOR_SHIFT; in set_discard_limits()
3608 static void pool_io_hints(struct dm_target *ti, struct queue_limits *limits) in pool_io_hints() argument
3612 sector_t io_opt_sectors = limits->io_opt >> SECTOR_SHIFT; in pool_io_hints()
3623 if (limits->max_sectors < pool->sectors_per_block) { in pool_io_hints()
3624 while (!is_factor(pool->sectors_per_block, limits->max_sectors)) { in pool_io_hints()
3625 if ((limits->max_sectors & (limits->max_sectors - 1)) == 0) in pool_io_hints()
3626 limits->max_sectors--; in pool_io_hints()
3627 limits->max_sectors = rounddown_pow_of_two(limits->max_sectors); in pool_io_hints()
3637 if (is_factor(pool->sectors_per_block, limits->max_sectors)) in pool_io_hints()
3638 blk_limits_io_min(limits, limits->max_sectors << SECTOR_SHIFT); in pool_io_hints()
3640 blk_limits_io_min(limits, pool->sectors_per_block << SECTOR_SHIFT); in pool_io_hints()
3641 blk_limits_io_opt(limits, pool->sectors_per_block << SECTOR_SHIFT); in pool_io_hints()
3656 limits->discard_granularity = 0; in pool_io_hints()
3662 set_discard_limits(pt, limits); in pool_io_hints()