Lines Matching defs:dzone

1701 	struct dm_zone *dzone, *bzone;
1738 dzone = dmz_get(zmd, dzone_id);
1739 if (!dzone) {
1744 set_bit(DMZ_DATA, &dzone->flags);
1745 dzone->chunk = chunk;
1746 dmz_get_zone_weight(zmd, dzone);
1748 if (dmz_is_cache(dzone))
1749 list_add_tail(&dzone->link, &zmd->map_cache_list);
1750 else if (dmz_is_rnd(dzone))
1751 list_add_tail(&dzone->link, &dzone->dev->map_rnd_list);
1753 list_add_tail(&dzone->link, &dzone->dev->map_seq_list);
1781 bzone->bzone = dzone;
1782 dzone->bzone = bzone;
1801 dzone = dmz_get(zmd, i);
1802 if (!dzone)
1804 if (dmz_is_meta(dzone))
1806 if (dmz_is_offline(dzone))
1809 if (dmz_is_cache(dzone))
1811 else if (dmz_is_rnd(dzone))
1812 dzone->dev->nr_rnd++;
1814 dzone->dev->nr_seq++;
1816 if (dmz_is_data(dzone)) {
1822 set_bit(DMZ_DATA, &dzone->flags);
1823 dzone->chunk = DMZ_MAP_UNMAPPED;
1824 if (dmz_is_cache(dzone)) {
1825 list_add_tail(&dzone->link, &zmd->unmap_cache_list);
1827 } else if (dmz_is_rnd(dzone)) {
1828 list_add_tail(&dzone->link,
1829 &dzone->dev->unmap_rnd_list);
1830 atomic_inc(&dzone->dev->unmap_nr_rnd);
1832 list_add_tail(&dzone->link, &zmd->reserved_seq_zones_list);
1833 set_bit(DMZ_RESERVED, &dzone->flags);
1835 dzone->dev->nr_seq--;
1837 list_add_tail(&dzone->link,
1838 &dzone->dev->unmap_seq_list);
1839 atomic_inc(&dzone->dev->unmap_nr_seq);
1959 struct dm_zone *dzone = NULL;
1978 dzone = zone->bzone;
1979 if (dmz_is_rnd(dzone) && dzone->dev->dev_idx != idx)
1981 if (!maxw_z || maxw_z->weight < dzone->weight)
1982 maxw_z = dzone;
1984 dzone = zone;
1985 if (dmz_lock_zone_reclaim(dzone))
1986 return dzone;
2000 dzone = zone->bzone;
2001 if (dmz_is_rnd(dzone) && dzone->dev->dev_idx != idx)
2004 dzone = zone;
2005 if (dmz_lock_zone_reclaim(dzone))
2006 return dzone;
2068 struct dm_zone *dzone = NULL;
2085 dzone = dmz_alloc_zone(zmd, 0, alloc_flags);
2086 if (!dzone) {
2088 dzone = ERR_PTR(-EIO);
2095 dmz_map_zone(zmd, dzone, chunk);
2099 dzone = dmz_get(zmd, dzone_id);
2100 if (!dzone) {
2101 dzone = ERR_PTR(-EIO);
2104 if (dzone->chunk != chunk) {
2105 dzone = ERR_PTR(-EIO);
2109 /* Repair write pointer if the sequential dzone has error */
2110 if (dmz_seq_write_err(dzone)) {
2111 ret = dmz_handle_seq_write_err(zmd, dzone);
2113 dzone = ERR_PTR(-EIO);
2116 clear_bit(DMZ_SEQ_WRITE_ERR, &dzone->flags);
2125 if (dmz_in_reclaim(dzone)) {
2126 dmz_wait_for_reclaim(zmd, dzone);
2129 dmz_activate_zone(dzone);
2130 dmz_lru_zone(zmd, dzone);
2134 return dzone;
2143 void dmz_put_chunk_mapping(struct dmz_metadata *zmd, struct dm_zone *dzone)
2149 bzone = dzone->bzone;
2162 dmz_deactivate_zone(dzone);
2163 if (dmz_is_active(dzone) || bzone || dmz_weight(dzone))
2164 dmz_lru_zone(zmd, dzone);
2167 dmz_unmap_zone(zmd, dzone);
2168 dmz_free_zone(zmd, dzone);
2179 struct dm_zone *dzone)
2186 bzone = dzone->bzone;
2202 dmz_set_chunk_mapping(zmd, dzone->chunk, dzone->id, bzone->id);
2205 bzone->chunk = dzone->chunk;
2206 bzone->bzone = dzone;
2207 dzone->bzone = bzone;
2326 void dmz_map_zone(struct dmz_metadata *zmd, struct dm_zone *dzone,
2330 dmz_set_chunk_mapping(zmd, chunk, dzone->id,
2332 dzone->chunk = chunk;
2333 if (dmz_is_cache(dzone))
2334 list_add_tail(&dzone->link, &zmd->map_cache_list);
2335 else if (dmz_is_rnd(dzone))
2336 list_add_tail(&dzone->link, &dzone->dev->map_rnd_list);
2338 list_add_tail(&dzone->link, &dzone->dev->map_seq_list);