Lines Matching refs:dzone
1283 struct dm_zone *dzone, *bzone; in dmz_load_mapping() local
1320 dzone = dmz_get(zmd, dzone_id); in dmz_load_mapping()
1321 set_bit(DMZ_DATA, &dzone->flags); in dmz_load_mapping()
1322 dzone->chunk = chunk; in dmz_load_mapping()
1323 dmz_get_zone_weight(zmd, dzone); in dmz_load_mapping()
1325 if (dmz_is_rnd(dzone)) in dmz_load_mapping()
1326 list_add_tail(&dzone->link, &zmd->map_rnd_list); in dmz_load_mapping()
1328 list_add_tail(&dzone->link, &zmd->map_seq_list); in dmz_load_mapping()
1351 bzone->bzone = dzone; in dmz_load_mapping()
1352 dzone->bzone = bzone; in dmz_load_mapping()
1368 dzone = dmz_get(zmd, i); in dmz_load_mapping()
1369 if (dmz_is_meta(dzone)) in dmz_load_mapping()
1372 if (dmz_is_rnd(dzone)) in dmz_load_mapping()
1377 if (dmz_is_data(dzone)) { in dmz_load_mapping()
1383 set_bit(DMZ_DATA, &dzone->flags); in dmz_load_mapping()
1384 dzone->chunk = DMZ_MAP_UNMAPPED; in dmz_load_mapping()
1385 if (dmz_is_rnd(dzone)) { in dmz_load_mapping()
1386 list_add_tail(&dzone->link, &zmd->unmap_rnd_list); in dmz_load_mapping()
1389 list_add_tail(&dzone->link, &zmd->reserved_seq_zones_list); in dmz_load_mapping()
1393 list_add_tail(&dzone->link, &zmd->unmap_seq_list); in dmz_load_mapping()
1508 struct dm_zone *dzone = NULL; in dmz_get_rnd_zone_for_reclaim() local
1516 dzone = zone->bzone; in dmz_get_rnd_zone_for_reclaim()
1518 dzone = zone; in dmz_get_rnd_zone_for_reclaim()
1519 if (dmz_lock_zone_reclaim(dzone)) in dmz_get_rnd_zone_for_reclaim()
1520 return dzone; in dmz_get_rnd_zone_for_reclaim()
1607 struct dm_zone *dzone = NULL; in dmz_get_chunk_mapping() local
1623 dzone = dmz_alloc_zone(zmd, DMZ_ALLOC_RND); in dmz_get_chunk_mapping()
1624 if (!dzone) { in dmz_get_chunk_mapping()
1629 dmz_map_zone(zmd, dzone, chunk); in dmz_get_chunk_mapping()
1633 dzone = dmz_get(zmd, dzone_id); in dmz_get_chunk_mapping()
1634 if (dzone->chunk != chunk) { in dmz_get_chunk_mapping()
1635 dzone = ERR_PTR(-EIO); in dmz_get_chunk_mapping()
1640 if (dmz_seq_write_err(dzone)) { in dmz_get_chunk_mapping()
1641 ret = dmz_handle_seq_write_err(zmd, dzone); in dmz_get_chunk_mapping()
1643 dzone = ERR_PTR(-EIO); in dmz_get_chunk_mapping()
1646 clear_bit(DMZ_SEQ_WRITE_ERR, &dzone->flags); in dmz_get_chunk_mapping()
1655 if (dmz_in_reclaim(dzone)) { in dmz_get_chunk_mapping()
1656 dmz_wait_for_reclaim(zmd, dzone); in dmz_get_chunk_mapping()
1659 dmz_activate_zone(dzone); in dmz_get_chunk_mapping()
1660 dmz_lru_zone(zmd, dzone); in dmz_get_chunk_mapping()
1664 return dzone; in dmz_get_chunk_mapping()
1673 void dmz_put_chunk_mapping(struct dmz_metadata *zmd, struct dm_zone *dzone) in dmz_put_chunk_mapping() argument
1679 bzone = dzone->bzone; in dmz_put_chunk_mapping()
1692 dmz_deactivate_zone(dzone); in dmz_put_chunk_mapping()
1693 if (dmz_is_active(dzone) || bzone || dmz_weight(dzone)) in dmz_put_chunk_mapping()
1694 dmz_lru_zone(zmd, dzone); in dmz_put_chunk_mapping()
1697 dmz_unmap_zone(zmd, dzone); in dmz_put_chunk_mapping()
1698 dmz_free_zone(zmd, dzone); in dmz_put_chunk_mapping()
1709 struct dm_zone *dzone) in dmz_get_chunk_buffer() argument
1715 bzone = dzone->bzone; in dmz_get_chunk_buffer()
1727 dmz_set_chunk_mapping(zmd, dzone->chunk, dmz_id(zmd, dzone), in dmz_get_chunk_buffer()
1731 bzone->chunk = dzone->chunk; in dmz_get_chunk_buffer()
1732 bzone->bzone = dzone; in dmz_get_chunk_buffer()
1733 dzone->bzone = bzone; in dmz_get_chunk_buffer()
1818 void dmz_map_zone(struct dmz_metadata *zmd, struct dm_zone *dzone, in dmz_map_zone() argument
1822 dmz_set_chunk_mapping(zmd, chunk, dmz_id(zmd, dzone), in dmz_map_zone()
1824 dzone->chunk = chunk; in dmz_map_zone()
1825 if (dmz_is_rnd(dzone)) in dmz_map_zone()
1826 list_add_tail(&dzone->link, &zmd->map_rnd_list); in dmz_map_zone()
1828 list_add_tail(&dzone->link, &zmd->map_seq_list); in dmz_map_zone()