Lines Matching defs:limits
2042 struct queue_limits *dest_limits = &bdev_get_queue(dest_dev)->limits;
2061 static void set_discard_limits(struct clone *clone, struct queue_limits *limits)
2064 struct queue_limits *dest_limits = &bdev_get_queue(dest_bdev)->limits;
2067 /* No passdown is done so we set our own virtual limits */
2068 limits->discard_granularity = clone->region_size << SECTOR_SHIFT;
2069 limits->max_discard_sectors = round_down(UINT_MAX >> SECTOR_SHIFT, clone->region_size);
2075 * device limits but discards aren't passed to the source device, so
2076 * inherit destination's limits.
2078 limits->max_discard_sectors = dest_limits->max_discard_sectors;
2079 limits->max_hw_discard_sectors = dest_limits->max_hw_discard_sectors;
2080 limits->discard_granularity = dest_limits->discard_granularity;
2081 limits->discard_alignment = dest_limits->discard_alignment;
2082 limits->discard_misaligned = dest_limits->discard_misaligned;
2083 limits->max_discard_segments = dest_limits->max_discard_segments;
2086 static void clone_io_hints(struct dm_target *ti, struct queue_limits *limits)
2089 u64 io_opt_sectors = limits->io_opt >> SECTOR_SHIFT;
2092 * If the system-determined stacked limits are compatible with
2097 blk_limits_io_min(limits, clone->region_size << SECTOR_SHIFT);
2098 blk_limits_io_opt(limits, clone->region_size << SECTOR_SHIFT);
2102 set_discard_limits(clone, limits);