Lines Matching defs:limits
3410 struct queue_limits *origin_limits = &bdev_get_queue(origin_bdev)->limits;
3430 static void set_discard_limits(struct cache *cache, struct queue_limits *limits)
3433 struct queue_limits *origin_limits = &bdev_get_queue(origin_bdev)->limits;
3436 /* No passdown is done so setting own virtual limits */
3437 limits->max_discard_sectors = min_t(sector_t, cache->discard_block_size * 1024,
3439 limits->discard_granularity = cache->discard_block_size << SECTOR_SHIFT;
3444 * cache_iterate_devices() is stacking both origin and fast device limits
3445 * but discards aren't passed to fast device, so inherit origin's limits.
3447 limits->max_discard_sectors = origin_limits->max_discard_sectors;
3448 limits->max_hw_discard_sectors = origin_limits->max_hw_discard_sectors;
3449 limits->discard_granularity = origin_limits->discard_granularity;
3450 limits->discard_alignment = origin_limits->discard_alignment;
3451 limits->discard_misaligned = origin_limits->discard_misaligned;
3454 static void cache_io_hints(struct dm_target *ti, struct queue_limits *limits)
3457 uint64_t io_opt_sectors = limits->io_opt >> SECTOR_SHIFT;
3460 * If the system-determined stacked limits are compatible with the
3465 blk_limits_io_min(limits, cache->sectors_per_block << SECTOR_SHIFT);
3466 blk_limits_io_opt(limits, cache->sectors_per_block << SECTOR_SHIFT);
3470 set_discard_limits(cache, limits);