dzone 1352 drivers/md/dm-zoned-metadata.c struct dm_zone *dzone, *bzone; dzone 1389 drivers/md/dm-zoned-metadata.c dzone = dmz_get(zmd, dzone_id); dzone 1390 drivers/md/dm-zoned-metadata.c set_bit(DMZ_DATA, &dzone->flags); dzone 1391 drivers/md/dm-zoned-metadata.c dzone->chunk = chunk; dzone 1392 drivers/md/dm-zoned-metadata.c dmz_get_zone_weight(zmd, dzone); dzone 1394 drivers/md/dm-zoned-metadata.c if (dmz_is_rnd(dzone)) dzone 1395 drivers/md/dm-zoned-metadata.c list_add_tail(&dzone->link, &zmd->map_rnd_list); dzone 1397 drivers/md/dm-zoned-metadata.c list_add_tail(&dzone->link, &zmd->map_seq_list); dzone 1420 drivers/md/dm-zoned-metadata.c bzone->bzone = dzone; dzone 1421 drivers/md/dm-zoned-metadata.c dzone->bzone = bzone; dzone 1437 drivers/md/dm-zoned-metadata.c dzone = dmz_get(zmd, i); dzone 1438 drivers/md/dm-zoned-metadata.c if (dmz_is_meta(dzone)) dzone 1441 drivers/md/dm-zoned-metadata.c if (dmz_is_rnd(dzone)) dzone 1446 drivers/md/dm-zoned-metadata.c if (dmz_is_data(dzone)) { dzone 1452 drivers/md/dm-zoned-metadata.c set_bit(DMZ_DATA, &dzone->flags); dzone 1453 drivers/md/dm-zoned-metadata.c dzone->chunk = DMZ_MAP_UNMAPPED; dzone 1454 drivers/md/dm-zoned-metadata.c if (dmz_is_rnd(dzone)) { dzone 1455 drivers/md/dm-zoned-metadata.c list_add_tail(&dzone->link, &zmd->unmap_rnd_list); dzone 1458 drivers/md/dm-zoned-metadata.c list_add_tail(&dzone->link, &zmd->reserved_seq_zones_list); dzone 1462 drivers/md/dm-zoned-metadata.c list_add_tail(&dzone->link, &zmd->unmap_seq_list); dzone 1577 drivers/md/dm-zoned-metadata.c struct dm_zone *dzone = NULL; dzone 1585 drivers/md/dm-zoned-metadata.c dzone = zone->bzone; dzone 1587 drivers/md/dm-zoned-metadata.c dzone = zone; dzone 1588 drivers/md/dm-zoned-metadata.c if (dmz_lock_zone_reclaim(dzone)) dzone 1589 drivers/md/dm-zoned-metadata.c return dzone; dzone 1652 drivers/md/dm-zoned-metadata.c struct dm_zone *dzone = NULL; dzone 1668 drivers/md/dm-zoned-metadata.c dzone = dmz_alloc_zone(zmd, DMZ_ALLOC_RND); dzone 1669 drivers/md/dm-zoned-metadata.c if (!dzone) { dzone 1671 drivers/md/dm-zoned-metadata.c dzone = ERR_PTR(-EIO); dzone 1678 drivers/md/dm-zoned-metadata.c dmz_map_zone(zmd, dzone, chunk); dzone 1682 drivers/md/dm-zoned-metadata.c dzone = dmz_get(zmd, dzone_id); dzone 1683 drivers/md/dm-zoned-metadata.c if (dzone->chunk != chunk) { dzone 1684 drivers/md/dm-zoned-metadata.c dzone = ERR_PTR(-EIO); dzone 1689 drivers/md/dm-zoned-metadata.c if (dmz_seq_write_err(dzone)) { dzone 1690 drivers/md/dm-zoned-metadata.c ret = dmz_handle_seq_write_err(zmd, dzone); dzone 1692 drivers/md/dm-zoned-metadata.c dzone = ERR_PTR(-EIO); dzone 1695 drivers/md/dm-zoned-metadata.c clear_bit(DMZ_SEQ_WRITE_ERR, &dzone->flags); dzone 1704 drivers/md/dm-zoned-metadata.c if (dmz_in_reclaim(dzone)) { dzone 1705 drivers/md/dm-zoned-metadata.c dmz_wait_for_reclaim(zmd, dzone); dzone 1708 drivers/md/dm-zoned-metadata.c dmz_activate_zone(dzone); dzone 1709 drivers/md/dm-zoned-metadata.c dmz_lru_zone(zmd, dzone); dzone 1713 drivers/md/dm-zoned-metadata.c return dzone; dzone 1722 drivers/md/dm-zoned-metadata.c void dmz_put_chunk_mapping(struct dmz_metadata *zmd, struct dm_zone *dzone) dzone 1728 drivers/md/dm-zoned-metadata.c bzone = dzone->bzone; dzone 1741 drivers/md/dm-zoned-metadata.c dmz_deactivate_zone(dzone); dzone 1742 drivers/md/dm-zoned-metadata.c if (dmz_is_active(dzone) || bzone || dmz_weight(dzone)) dzone 1743 drivers/md/dm-zoned-metadata.c dmz_lru_zone(zmd, dzone); dzone 1746 drivers/md/dm-zoned-metadata.c dmz_unmap_zone(zmd, dzone); dzone 1747 drivers/md/dm-zoned-metadata.c dmz_free_zone(zmd, dzone); dzone 1758 drivers/md/dm-zoned-metadata.c struct dm_zone *dzone) dzone 1764 drivers/md/dm-zoned-metadata.c bzone = dzone->bzone; dzone 1780 drivers/md/dm-zoned-metadata.c dmz_set_chunk_mapping(zmd, dzone->chunk, dmz_id(zmd, dzone), dzone 1784 drivers/md/dm-zoned-metadata.c bzone->chunk = dzone->chunk; dzone 1785 drivers/md/dm-zoned-metadata.c bzone->bzone = dzone; dzone 1786 drivers/md/dm-zoned-metadata.c dzone->bzone = bzone; dzone 1871 drivers/md/dm-zoned-metadata.c void dmz_map_zone(struct dmz_metadata *zmd, struct dm_zone *dzone, dzone 1875 drivers/md/dm-zoned-metadata.c dmz_set_chunk_mapping(zmd, chunk, dmz_id(zmd, dzone), dzone 1877 drivers/md/dm-zoned-metadata.c dzone->chunk = chunk; dzone 1878 drivers/md/dm-zoned-metadata.c if (dmz_is_rnd(dzone)) dzone 1879 drivers/md/dm-zoned-metadata.c list_add_tail(&dzone->link, &zmd->map_rnd_list); dzone 1881 drivers/md/dm-zoned-metadata.c list_add_tail(&dzone->link, &zmd->map_seq_list); dzone 190 drivers/md/dm-zoned-reclaim.c static int dmz_reclaim_buf(struct dmz_reclaim *zrc, struct dm_zone *dzone) dzone 192 drivers/md/dm-zoned-reclaim.c struct dm_zone *bzone = dzone->bzone; dzone 193 drivers/md/dm-zoned-reclaim.c sector_t chunk_block = dzone->wp_block; dzone 199 drivers/md/dm-zoned-reclaim.c dzone->chunk, dmz_id(zmd, bzone), dmz_weight(bzone), dzone 200 drivers/md/dm-zoned-reclaim.c dmz_id(zmd, dzone), dmz_weight(dzone)); dzone 203 drivers/md/dm-zoned-reclaim.c ret = dmz_reclaim_copy(zrc, bzone, dzone); dzone 210 drivers/md/dm-zoned-reclaim.c ret = dmz_merge_valid_blocks(zmd, bzone, dzone, chunk_block); dzone 216 drivers/md/dm-zoned-reclaim.c dmz_unlock_zone_reclaim(dzone); dzone 229 drivers/md/dm-zoned-reclaim.c static int dmz_reclaim_seq_data(struct dmz_reclaim *zrc, struct dm_zone *dzone) dzone 231 drivers/md/dm-zoned-reclaim.c unsigned int chunk = dzone->chunk; dzone 232 drivers/md/dm-zoned-reclaim.c struct dm_zone *bzone = dzone->bzone; dzone 238 drivers/md/dm-zoned-reclaim.c chunk, dmz_id(zmd, dzone), dmz_weight(dzone), dzone 242 drivers/md/dm-zoned-reclaim.c ret = dmz_reclaim_copy(zrc, dzone, bzone); dzone 249 drivers/md/dm-zoned-reclaim.c ret = dmz_merge_valid_blocks(zmd, dzone, bzone, 0); dzone 255 drivers/md/dm-zoned-reclaim.c dmz_invalidate_blocks(zmd, dzone, 0, zrc->dev->zone_nr_blocks); dzone 258 drivers/md/dm-zoned-reclaim.c dmz_unmap_zone(zmd, dzone); dzone 259 drivers/md/dm-zoned-reclaim.c dmz_unlock_zone_reclaim(dzone); dzone 260 drivers/md/dm-zoned-reclaim.c dmz_free_zone(zmd, dzone); dzone 274 drivers/md/dm-zoned-reclaim.c static int dmz_reclaim_rnd_data(struct dmz_reclaim *zrc, struct dm_zone *dzone) dzone 276 drivers/md/dm-zoned-reclaim.c unsigned int chunk = dzone->chunk; dzone 290 drivers/md/dm-zoned-reclaim.c chunk, dmz_id(zmd, dzone), dmz_weight(dzone), dzone 294 drivers/md/dm-zoned-reclaim.c ret = dmz_reclaim_copy(zrc, dzone, szone); dzone 300 drivers/md/dm-zoned-reclaim.c ret = dmz_copy_valid_blocks(zmd, dzone, szone); dzone 309 drivers/md/dm-zoned-reclaim.c dmz_invalidate_blocks(zmd, dzone, 0, zrc->dev->zone_nr_blocks); dzone 311 drivers/md/dm-zoned-reclaim.c dmz_unmap_zone(zmd, dzone); dzone 312 drivers/md/dm-zoned-reclaim.c dmz_unlock_zone_reclaim(dzone); dzone 313 drivers/md/dm-zoned-reclaim.c dmz_free_zone(zmd, dzone); dzone 326 drivers/md/dm-zoned-reclaim.c static void dmz_reclaim_empty(struct dmz_reclaim *zrc, struct dm_zone *dzone) dzone 332 drivers/md/dm-zoned-reclaim.c dmz_unmap_zone(zmd, dzone); dzone 333 drivers/md/dm-zoned-reclaim.c dmz_unlock_zone_reclaim(dzone); dzone 334 drivers/md/dm-zoned-reclaim.c dmz_free_zone(zmd, dzone); dzone 345 drivers/md/dm-zoned-reclaim.c struct dm_zone *dzone; dzone 351 drivers/md/dm-zoned-reclaim.c dzone = dmz_get_zone_for_reclaim(zmd); dzone 352 drivers/md/dm-zoned-reclaim.c if (IS_ERR(dzone)) dzone 353 drivers/md/dm-zoned-reclaim.c return PTR_ERR(dzone); dzone 357 drivers/md/dm-zoned-reclaim.c if (dmz_is_rnd(dzone)) { dzone 358 drivers/md/dm-zoned-reclaim.c if (!dmz_weight(dzone)) { dzone 360 drivers/md/dm-zoned-reclaim.c dmz_reclaim_empty(zrc, dzone); dzone 367 drivers/md/dm-zoned-reclaim.c ret = dmz_reclaim_rnd_data(zrc, dzone); dzone 369 drivers/md/dm-zoned-reclaim.c rzone = dzone; dzone 372 drivers/md/dm-zoned-reclaim.c struct dm_zone *bzone = dzone->bzone; dzone 379 drivers/md/dm-zoned-reclaim.c if (ret == 0 || chunk_block >= dzone->wp_block) { dzone 384 drivers/md/dm-zoned-reclaim.c ret = dmz_reclaim_buf(zrc, dzone); dzone 392 drivers/md/dm-zoned-reclaim.c ret = dmz_reclaim_seq_data(zrc, dzone); dzone 393 drivers/md/dm-zoned-reclaim.c rzone = dzone; dzone 398 drivers/md/dm-zoned-reclaim.c dmz_unlock_zone_reclaim(dzone); dzone 229 drivers/md/dm-zoned.h struct dm_zone *dzone);