Lines Matching defs:limits
2023 struct queue_limits *dest_limits = &bdev_get_queue(dest_dev)->limits;
2041 static void set_discard_limits(struct clone *clone, struct queue_limits *limits)
2044 struct queue_limits *dest_limits = &bdev_get_queue(dest_bdev)->limits;
2047 /* No passdown is done so we set our own virtual limits */
2048 limits->discard_granularity = clone->region_size << SECTOR_SHIFT;
2049 limits->max_discard_sectors = round_down(UINT_MAX >> SECTOR_SHIFT, clone->region_size);
2055 * device limits but discards aren't passed to the source device, so
2056 * inherit destination's limits.
2058 limits->max_discard_sectors = dest_limits->max_discard_sectors;
2059 limits->max_hw_discard_sectors = dest_limits->max_hw_discard_sectors;
2060 limits->discard_granularity = dest_limits->discard_granularity;
2061 limits->discard_alignment = dest_limits->discard_alignment;
2062 limits->discard_misaligned = dest_limits->discard_misaligned;
2063 limits->max_discard_segments = dest_limits->max_discard_segments;
2066 static void clone_io_hints(struct dm_target *ti, struct queue_limits *limits)
2069 u64 io_opt_sectors = limits->io_opt >> SECTOR_SHIFT;
2072 * If the system-determined stacked limits are compatible with
2077 blk_limits_io_min(limits, clone->region_size << SECTOR_SHIFT);
2078 blk_limits_io_opt(limits, clone->region_size << SECTOR_SHIFT);
2082 set_discard_limits(clone, limits);