Lines Matching defs:limits
2027 struct queue_limits *dest_limits = &bdev_get_queue(dest_dev)->limits;
2045 static void set_discard_limits(struct clone *clone, struct queue_limits *limits)
2048 struct queue_limits *dest_limits = &bdev_get_queue(dest_bdev)->limits;
2051 /* No passdown is done so we set our own virtual limits */
2052 limits->discard_granularity = clone->region_size << SECTOR_SHIFT;
2053 limits->max_discard_sectors = round_down(UINT_MAX >> SECTOR_SHIFT, clone->region_size);
2059 * device limits but discards aren't passed to the source device, so
2060 * inherit destination's limits.
2062 limits->max_discard_sectors = dest_limits->max_discard_sectors;
2063 limits->max_hw_discard_sectors = dest_limits->max_hw_discard_sectors;
2064 limits->discard_granularity = dest_limits->discard_granularity;
2065 limits->discard_alignment = dest_limits->discard_alignment;
2066 limits->discard_misaligned = dest_limits->discard_misaligned;
2067 limits->max_discard_segments = dest_limits->max_discard_segments;
2070 static void clone_io_hints(struct dm_target *ti, struct queue_limits *limits)
2073 u64 io_opt_sectors = limits->io_opt >> SECTOR_SHIFT;
2076 * If the system-determined stacked limits are compatible with
2081 blk_limits_io_min(limits, clone->region_size << SECTOR_SHIFT);
2082 blk_limits_io_opt(limits, clone->region_size << SECTOR_SHIFT);
2086 set_discard_limits(clone, limits);