Lines Matching full:zone

57  * Align a sequential zone write pointer to chunk_block.
59 static int dmz_reclaim_align_wp(struct dmz_reclaim *zrc, struct dm_zone *zone, in dmz_reclaim_align_wp() argument
63 struct dmz_dev *dev = zone->dev; in dmz_reclaim_align_wp()
64 sector_t wp_block = zone->wp_block; in dmz_reclaim_align_wp()
80 dmz_start_sect(zmd, zone) + dmz_blk2sect(wp_block), in dmz_reclaim_align_wp()
84 "Align zone %u wp %llu to %llu (wp+%u) blocks failed %d", in dmz_reclaim_align_wp()
85 zone->id, (unsigned long long)wp_block, in dmz_reclaim_align_wp()
91 zone->wp_block = block; in dmz_reclaim_align_wp()
148 /* Get a valid region from the source zone */ in dmz_reclaim_copy()
155 * If we are writing in a sequential zone, we must make sure in dmz_reclaim_copy()
193 * Move valid blocks of dzone buffer zone into dzone (after its write pointer)
194 * and free the buffer zone.
203 DMDEBUG("(%s/%u): Chunk %u, move buf zone %u (weight %u) to data zone %u (weight %u)", in dmz_reclaim_buf()
208 /* Flush data zone into the buffer zone */ in dmz_reclaim_buf()
218 /* Free the buffer zone */ in dmz_reclaim_buf()
233 * Merge valid blocks of dzone into its buffer zone and free dzone.
242 DMDEBUG("(%s/%u): Chunk %u, move data zone %u (weight %u) to buf zone %u (weight %u)", in dmz_reclaim_seq_data()
247 /* Flush data zone into the buffer zone */ in dmz_reclaim_seq_data()
258 * Free the data zone and remap the chunk to in dmz_reclaim_seq_data()
259 * the buffer zone. in dmz_reclaim_seq_data()
277 * Move valid blocks of the random data zone dzone into a free sequential zone.
278 * Once blocks are moved, remap the zone chunk to the sequential zone.
288 /* Get a free random or sequential zone */ in dmz_reclaim_rnd_data()
301 DMDEBUG("(%s/%u): Chunk %u, move %s zone %u (weight %u) to %s zone %u", in dmz_reclaim_rnd_data()
307 /* Flush the random data zone into the sequential zone */ in dmz_reclaim_rnd_data()
317 /* Free the sequential zone */ in dmz_reclaim_rnd_data()
322 /* Free the data zone and remap the chunk */ in dmz_reclaim_rnd_data()
338 * Reclaim an empty zone.
362 * Find a candidate zone for reclaim and process it.
372 /* Get a data zone */ in dmz_do_reclaim()
376 DMDEBUG("(%s/%u): No zone found to reclaim", in dmz_do_reclaim()
385 /* Empty zone */ in dmz_do_reclaim()
390 * Reclaim the random data zone by moving its in dmz_do_reclaim()
391 * valid data blocks to a free sequential zone. in dmz_do_reclaim()
405 * The buffer zone is empty or its valid blocks are in dmz_do_reclaim()
406 * after the data zone write pointer. in dmz_do_reclaim()
412 * Reclaim the data zone by merging it into the in dmz_do_reclaim()
413 * buffer zone so that the buffer zone itself can in dmz_do_reclaim()
422 DMDEBUG("(%s/%u): reclaim zone %u interrupted", in dmz_do_reclaim()
426 DMDEBUG("(%s/%u): Failed to reclaim zone %u, err %d", in dmz_do_reclaim()
435 DMDEBUG("(%s/%u): Metadata flush for zone %u failed, err %d", in dmz_do_reclaim()
440 DMDEBUG("(%s/%u): Reclaimed zone %u in %u ms", in dmz_do_reclaim()
519 * We need to start reclaiming random zones: set up zone copy in dmz_reclaim_work()
528 /* Busy but we still have some random zone: throttle */ in dmz_reclaim_work()