Lines Matching refs:zone
76 static int dm_report_zones_cb(struct blk_zone *zone, unsigned int idx, in dm_report_zones_cb() argument
85 if (zone->start >= args->start + args->tgt->len) in dm_report_zones_cb()
92 zone->start += sector_diff; in dm_report_zones_cb()
93 if (zone->type != BLK_ZONE_TYPE_CONVENTIONAL) { in dm_report_zones_cb()
94 if (zone->cond == BLK_ZONE_COND_FULL) in dm_report_zones_cb()
95 zone->wp = zone->start + zone->len; in dm_report_zones_cb()
96 else if (zone->cond == BLK_ZONE_COND_EMPTY) in dm_report_zones_cb()
97 zone->wp = zone->start; in dm_report_zones_cb()
99 zone->wp += sector_diff; in dm_report_zones_cb()
102 args->next_sector = zone->start + zone->len; in dm_report_zones_cb()
103 return args->orig_cb(zone, args->zone_idx++, args->orig_data); in dm_report_zones_cb()
157 static unsigned int dm_get_zone_wp_offset(struct blk_zone *zone) in dm_get_zone_wp_offset() argument
159 switch (zone->cond) { in dm_get_zone_wp_offset()
163 return zone->wp - zone->start; in dm_get_zone_wp_offset()
165 return zone->len; in dm_get_zone_wp_offset()
179 static int dm_zone_revalidate_cb(struct blk_zone *zone, unsigned int idx, in dm_zone_revalidate_cb() argument
185 switch (zone->type) { in dm_zone_revalidate_cb()
212 md->zwp_offset[idx] = dm_get_zone_wp_offset(zone); in dm_zone_revalidate_cb()
217 (int)zone->type, zone->start); in dm_zone_revalidate_cb()
325 static int dm_update_zone_wp_offset_cb(struct blk_zone *zone, unsigned int idx, in dm_update_zone_wp_offset_cb() argument
330 *wp_offset = dm_get_zone_wp_offset(zone); in dm_update_zone_wp_offset_cb()