Lines Matching full:zone

14 #define DM_MSG_PREFIX "zone"
17 * For internal zone reports bypassing the top BIO submission path.
50 * User facing dm device block device report zone operation. This calls the
66 * Zone revalidation during __bind() is in progress, but this in dm_blk_report_zones()
75 /* Zone revalidation during __bind() */ in dm_blk_report_zones()
89 static int dm_report_zones_cb(struct blk_zone *zone, unsigned int idx, in dm_report_zones_cb() argument
98 if (zone->start >= args->start + args->tgt->len) in dm_report_zones_cb()
102 * Remap the start sector and write pointer position of the zone in dm_report_zones_cb()
105 zone->start += sector_diff; in dm_report_zones_cb()
106 if (zone->type != BLK_ZONE_TYPE_CONVENTIONAL) { in dm_report_zones_cb()
107 if (zone->cond == BLK_ZONE_COND_FULL) in dm_report_zones_cb()
108 zone->wp = zone->start + zone->len; in dm_report_zones_cb()
109 else if (zone->cond == BLK_ZONE_COND_EMPTY) in dm_report_zones_cb()
110 zone->wp = zone->start; in dm_report_zones_cb()
112 zone->wp += sector_diff; in dm_report_zones_cb()
115 args->next_sector = zone->start + zone->len; in dm_report_zones_cb()
116 return args->orig_cb(zone, args->zone_idx++, args->orig_data); in dm_report_zones_cb()
128 * dm_report_zones_cb() can correctly remap zone information. in dm_report_zones()
155 * for zone append emulation. Note that we cannot simply use the block layer
170 * Do not revalidate if zone write plug resources have already in dm_revalidate_zones()
176 DMINFO("%s using %s zone append", disk->disk_name, in dm_revalidate_zones()
235 static int dm_device_count_zones_cb(struct blk_zone *zone, in dm_device_count_zones_cb() argument
240 if (zone->type != BLK_ZONE_TYPE_CONVENTIONAL) { in dm_device_count_zones_cb()
242 if (zone->start >= zc->start && in dm_device_count_zones_cb()
243 zone->start < zc->start + zc->len) in dm_device_count_zones_cb()
284 * If the target is not the whole device, the device zone resources may in device_get_zone_resource_limits()
288 * sharing may happen and the zone limits will not be reliable. in device_get_zone_resource_limits()
298 * any zone resource limits. in device_get_zone_resource_limits()
349 * Check if zone append is natively supported, and if not, set the in dm_set_zones_restrictions()
350 * mapped device queue as needing zone append emulation. If zone in dm_set_zones_restrictions()
361 * Determine the max open and max active zone limits for the mapped in dm_set_zones_restrictions()
362 * device by inspecting the zone resource limits and the zones mapped in dm_set_zones_restrictions()
379 DMERR("Could not determine %s zone resource limits", in dm_set_zones_restrictions()
402 DMWARN("%s: device has zone write plug resources. " in dm_set_zones_restrictions()
403 "Cannot change zone size", in dm_set_zones_restrictions()
409 DMWARN("%s: device has zone write plug resources. " in dm_set_zones_restrictions()
410 "New table must emulate zone append", in dm_set_zones_restrictions()
417 * partially using zone resources of the target devices as that leads to in dm_set_zones_restrictions()
419 * underlying devices, we cannot enforce zone limits to guarantee that in dm_set_zones_restrictions()
425 DMWARN("%s zone resource limits may be unreliable", in dm_set_zones_restrictions()
461 * Get the offset within the zone of the written sector in dm_zone_endio()
472 static int dm_zone_need_reset_cb(struct blk_zone *zone, unsigned int idx, in dm_zone_need_reset_cb() argument
479 switch (zone->cond) { in dm_zone_need_reset_cb()
500 DMERR("Get %s zone reset bitmap failed\n", in dm_zone_get_reset_bitmap()