Lines Matching defs:limits
3371 struct queue_limits *origin_limits = &bdev_get_queue(origin_bdev)->limits;
3390 static void set_discard_limits(struct cache *cache, struct queue_limits *limits)
3393 struct queue_limits *origin_limits = &bdev_get_queue(origin_bdev)->limits;
3396 /* No passdown is done so setting own virtual limits */
3397 limits->max_discard_sectors = min_t(sector_t, cache->discard_block_size * 1024,
3399 limits->discard_granularity = cache->discard_block_size << SECTOR_SHIFT;
3404 * cache_iterate_devices() is stacking both origin and fast device limits
3405 * but discards aren't passed to fast device, so inherit origin's limits.
3407 limits->max_discard_sectors = origin_limits->max_discard_sectors;
3408 limits->max_hw_discard_sectors = origin_limits->max_hw_discard_sectors;
3409 limits->discard_granularity = origin_limits->discard_granularity;
3410 limits->discard_alignment = origin_limits->discard_alignment;
3411 limits->discard_misaligned = origin_limits->discard_misaligned;
3414 static void cache_io_hints(struct dm_target *ti, struct queue_limits *limits)
3417 uint64_t io_opt_sectors = limits->io_opt >> SECTOR_SHIFT;
3420 * If the system-determined stacked limits are compatible with the
3425 blk_limits_io_min(limits, cache->sectors_per_block << SECTOR_SHIFT);
3426 blk_limits_io_opt(limits, cache->sectors_per_block << SECTOR_SHIFT);
3430 set_discard_limits(cache, limits);