Lines Matching full:limits
235 struct queue_limits *limits = data; in device_area_is_invalid() local
239 limits->logical_block_size >> SECTOR_SHIFT; in device_area_is_invalid()
293 limits->logical_block_size, bdev); in device_area_is_invalid()
301 limits->logical_block_size, bdev); in device_area_is_invalid()
424 struct queue_limits *limits = data; in dm_set_device_limits() local
429 DMWARN("%s: Cannot set limits for nonexistent device %pg", in dm_set_device_limits()
434 if (blk_stack_limits(limits, &q->limits, in dm_set_device_limits()
440 q->limits.physical_block_size, in dm_set_device_limits()
441 q->limits.logical_block_size, in dm_set_device_limits()
442 q->limits.alignment_offset, in dm_set_device_limits()
450 queue_limits_stack_integrity_bdev(limits, bdev); in dm_set_device_limits()
598 static void dm_set_stacking_limits(struct queue_limits *limits) in dm_set_stacking_limits() argument
600 blk_set_stacking_limits(limits); in dm_set_stacking_limits()
601 limits->features |= BLK_FEAT_IO_STAT | BLK_FEAT_NOWAIT | BLK_FEAT_POLL; in dm_set_stacking_limits()
612 struct queue_limits *limits) in validate_hardware_logical_block_alignment() argument
619 limits->logical_block_size >> SECTOR_SHIFT; in validate_hardware_logical_block_alignment()
644 /* combine all target devices' limits */ in validate_hardware_logical_block_alignment()
671 limits->logical_block_size); in validate_hardware_logical_block_alignment()
1065 if (md->queue->limits.features & BLK_FEAT_POLL) in dm_table_alloc_md_mempools()
1591 struct queue_limits *limits) in dm_calculate_queue_limits() argument
1597 dm_set_stacking_limits(limits); in dm_calculate_queue_limits()
1613 /* Set I/O hints portion of queue limits */ in dm_calculate_queue_limits()
1620 * Combine queue limits of all the devices this target uses. in dm_calculate_queue_limits()
1627 * After stacking all limits, validate all devices in dm_calculate_queue_limits()
1634 /* Set I/O hints portion of queue limits */ in dm_calculate_queue_limits()
1640 * overall queue limits. in dm_calculate_queue_limits()
1648 * Merge this target's queue limits into the overall limits in dm_calculate_queue_limits()
1651 if (blk_stack_limits(limits, &ti_limits, 0) < 0) in dm_calculate_queue_limits()
1660 if (!queue_limits_stack_integrity(limits, &ti_limits)) { in dm_calculate_queue_limits()
1678 if (limits->features & BLK_FEAT_ZONED) { in dm_calculate_queue_limits()
1680 * ...IF the above limits stacking determined a zoned model in dm_calculate_queue_limits()
1683 zoned = limits->features & BLK_FEAT_ZONED; in dm_calculate_queue_limits()
1684 zone_sectors = limits->chunk_sectors; in dm_calculate_queue_limits()
1689 return validate_hardware_logical_block_alignment(t, limits); in dm_calculate_queue_limits()
1727 return !q->limits.max_write_zeroes_sectors; in device_not_write_zeroes_capable()
1836 struct queue_limits *limits) in dm_table_set_restrictions() argument
1841 limits->features &= ~BLK_FEAT_NOWAIT; in dm_table_set_restrictions()
1848 limits->features &= ~BLK_FEAT_POLL; in dm_table_set_restrictions()
1851 limits->max_hw_discard_sectors = 0; in dm_table_set_restrictions()
1852 limits->discard_granularity = 0; in dm_table_set_restrictions()
1853 limits->discard_alignment = 0; in dm_table_set_restrictions()
1857 limits->max_write_zeroes_sectors = 0; in dm_table_set_restrictions()
1860 limits->max_secure_erase_sectors = 0; in dm_table_set_restrictions()
1863 limits->features |= BLK_FEAT_WRITE_CACHE | BLK_FEAT_FUA; in dm_table_set_restrictions()
1866 limits->features |= BLK_FEAT_DAX; in dm_table_set_restrictions()
1870 limits->features &= ~BLK_FEAT_DAX; in dm_table_set_restrictions()
1877 (limits->features & BLK_FEAT_ZONED)) { in dm_table_set_restrictions()
1878 r = dm_set_zones_restrictions(t, q, limits); in dm_table_set_restrictions()
1884 limits->features |= BLK_FEAT_ATOMIC_WRITES; in dm_table_set_restrictions()
1886 r = queue_limits_set(q, limits); in dm_table_set_restrictions()
1891 * Now that the limits are set, check the zones mapped by the table in dm_table_set_restrictions()
1895 (limits->features & BLK_FEAT_ZONED)) { in dm_table_set_restrictions()