Lines Matching defs:limits
1784 DMERR_LIMIT("Discard doesn't respect bio prison limits");
2847 struct queue_limits *data_limits = &bdev_get_queue(data_bdev)->limits;
3404 * stacking of discard limits (this keeps the pool and
3405 * thin devices' discard limits consistent).
4054 static void pool_io_hints(struct dm_target *ti, struct queue_limits *limits)
4058 sector_t io_opt_sectors = limits->io_opt >> SECTOR_SHIFT;
4069 if (limits->max_sectors < pool->sectors_per_block) {
4070 while (!is_factor(pool->sectors_per_block, limits->max_sectors)) {
4071 if ((limits->max_sectors & (limits->max_sectors - 1)) == 0)
4072 limits->max_sectors--;
4073 limits->max_sectors = rounddown_pow_of_two(limits->max_sectors);
4078 * If the system-determined stacked limits are compatible with the
4083 if (is_factor(pool->sectors_per_block, limits->max_sectors))
4084 blk_limits_io_min(limits, limits->max_sectors << SECTOR_SHIFT);
4086 blk_limits_io_min(limits, pool->sectors_per_block << SECTOR_SHIFT);
4087 blk_limits_io_opt(limits, pool->sectors_per_block << SECTOR_SHIFT);
4099 limits->max_discard_sectors = 0;
4101 * The pool uses the same discard limits as the underlying data
4106 * Must explicitly disallow stacking discard limits otherwise the
4109 limits->discard_granularity = 0;
4489 static void thin_io_hints(struct dm_target *ti, struct queue_limits *limits)
4495 limits->discard_granularity = pool->sectors_per_block << SECTOR_SHIFT;
4496 limits->max_discard_sectors = pool->sectors_per_block * BIO_PRISON_MAX_RANGE;