Lines Matching full:scratch
53 * Size of each GC scratch pad. This is also the upper bound for each
109 struct xfs_zone_scratch *scratch; member
145 struct xfs_zone_scratch scratch[XFS_ZONE_GC_NR_SCRATCH]; member
222 data->scratch[i].folio = in xfs_zone_gc_data_alloc()
224 if (!data->scratch[i].folio) in xfs_zone_gc_data_alloc()
235 folio_put(data->scratch[i].folio); in xfs_zone_gc_data_alloc()
251 folio_put(data->scratch[i].folio); in xfs_zone_gc_data_free()
592 return XFS_GC_CHUNK_SIZE - data->scratch[data->scratch_idx].offset; in xfs_zone_gc_scratch_available()
703 chunk->scratch = &data->scratch[data->scratch_idx]; in xfs_zone_gc_start_chunk()
709 bio_add_folio_nofail(bio, chunk->scratch->folio, chunk->len, in xfs_zone_gc_start_chunk()
710 chunk->scratch->offset); in xfs_zone_gc_start_chunk()
711 chunk->scratch->offset += chunk->len; in xfs_zone_gc_start_chunk()
712 if (chunk->scratch->offset == XFS_GC_CHUNK_SIZE) { in xfs_zone_gc_start_chunk()
780 split_chunk->scratch = chunk->scratch; in xfs_zone_gc_split_write()
819 bio_add_folio_nofail(&chunk->bio, chunk->scratch->folio, chunk->len, in xfs_zone_gc_write_chunk()
820 offset_in_folio(chunk->scratch->folio, bvec_paddr)); in xfs_zone_gc_write_chunk()
843 chunk->scratch->freed += chunk->len; in xfs_zone_gc_finish_chunk()
844 if (chunk->scratch->freed == chunk->scratch->offset) { in xfs_zone_gc_finish_chunk()
845 chunk->scratch->offset = 0; in xfs_zone_gc_finish_chunk()
846 chunk->scratch->freed = 0; in xfs_zone_gc_finish_chunk()