Lines Matching full:area

113 	void *area;  member
116 * An area of zeros used to clear the next area.
121 * An area used for header. The header can be written
128 * Used to keep track of which metadata area the data in
155 * metadata area.
176 * a single metadata area. in alloc_area()
178 ps->area = vmalloc(len); in alloc_area()
179 if (!ps->area) in alloc_area()
196 vfree(ps->area); in alloc_area()
204 vfree(ps->area); in free_area()
205 ps->area = NULL; in free_area()
229 static int chunk_io(struct pstore *ps, void *area, chunk_t chunk, blk_opf_t opf, in chunk_io() argument
240 .mem.ptr.vma = area, in chunk_io()
265 * Convert a metadata area index to a chunk index.
267 static chunk_t area_location(struct pstore *ps, chunk_t area) in area_location() argument
269 return NUM_SNAPSHOT_HDR_CHUNKS + ((ps->exceptions_per_area + 1) * area); in area_location()
281 * Read or write a metadata area. Remembering to skip the first
288 return chunk_io(ps, ps->area, chunk, opf, 0); in area_io()
293 memset(ps->area, 0, ps->store->chunk_size << SECTOR_SHIFT); in zero_memory_area()
296 static int zero_disk_area(struct pstore *ps, chunk_t area) in zero_disk_area() argument
298 return chunk_io(ps, ps->zero_area, area_location(ps, area), in zero_disk_area()
419 struct disk_exception *de = get_exception(ps, ps->area, index); in write_exception()
428 struct disk_exception *de = get_exception(ps, ps->area, index); in clear_exception()
436 * Registers the exceptions that are present in the current area.
437 * 'full' is filled in to indicate if the area has been
450 /* presume the area is full */ in insert_exceptions()
458 * the COW device, where the first metadata area in insert_exceptions()
460 * exceptions. Therefore the area is not full. in insert_exceptions()
508 * we find a partially full area. in read_exceptions()
512 void *area; in read_exceptions() local
530 area = dm_bufio_read(client, chunk, &bp); in read_exceptions()
531 if (IS_ERR(area)) { in read_exceptions()
532 r = PTR_ERR(area); in read_exceptions()
536 r = insert_exceptions(ps, area, callback, callback_context, in read_exceptions()
540 memcpy(ps->area, area, ps->store->chunk_size << SECTOR_SHIFT); in read_exceptions()
720 * filled this metadata area there's nothing more to do. in persistent_commit_exception()
727 * If we completely filled the current area, then wipe the next one. in persistent_commit_exception()
741 * Advance to the next area if this one is full. in persistent_commit_exception()
767 * When current area is empty, move back to preceding area. in persistent_prepare_merge()
783 read_exception(ps, ps->area, ps->current_committed - 1, &ce); in persistent_prepare_merge()
788 * Find number of consecutive chunks within the current area, in persistent_prepare_merge()
793 read_exception(ps, ps->area, in persistent_prepare_merge()
858 ps->area = NULL; in persistent_ctr()
861 ps->next_free = NUM_SNAPSHOT_HDR_CHUNKS + 1; /* header and 1st area */ in persistent_ctr()