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, int op, in chunk_io() argument
241 .mem.ptr.vma = area, in chunk_io()
266 * Convert a metadata area index to a chunk index.
268 static chunk_t area_location(struct pstore *ps, chunk_t area) in area_location() argument
270 return NUM_SNAPSHOT_HDR_CHUNKS + ((ps->exceptions_per_area + 1) * area); in area_location()
282 * Read or write a metadata area. Remembering to skip the first
292 r = chunk_io(ps, ps->area, chunk, op, op_flags, 0); in area_io()
301 memset(ps->area, 0, ps->store->chunk_size << SECTOR_SHIFT); in zero_memory_area()
304 static int zero_disk_area(struct pstore *ps, chunk_t area) in zero_disk_area() argument
306 return chunk_io(ps, ps->zero_area, area_location(ps, area), in zero_disk_area()
427 struct disk_exception *de = get_exception(ps, ps->area, index); in write_exception()
436 struct disk_exception *de = get_exception(ps, ps->area, index); in clear_exception()
444 * Registers the exceptions that are present in the current area.
445 * 'full' is filled in to indicate if the area has been
458 /* presume the area is full */ in insert_exceptions()
466 * the COW device, where the first metadata area in insert_exceptions()
468 * exceptions. Therefore the area is not full. in insert_exceptions()
516 * we find a partially full area. in read_exceptions()
520 void *area; in read_exceptions() local
538 area = dm_bufio_read(client, chunk, &bp); in read_exceptions()
539 if (IS_ERR(area)) { in read_exceptions()
540 r = PTR_ERR(area); in read_exceptions()
544 r = insert_exceptions(ps, area, callback, callback_context, in read_exceptions()
548 memcpy(ps->area, area, ps->store->chunk_size << SECTOR_SHIFT); in read_exceptions()
728 * filled this metadata area there's nothing more to do. in persistent_commit_exception()
735 * If we completely filled the current area, then wipe the next one. in persistent_commit_exception()
749 * Advance to the next area if this one is full. in persistent_commit_exception()
775 * When current area is empty, move back to preceding area. in persistent_prepare_merge()
791 read_exception(ps, ps->area, ps->current_committed - 1, &ce); in persistent_prepare_merge()
796 * Find number of consecutive chunks within the current area, in persistent_prepare_merge()
801 read_exception(ps, ps->area, in persistent_prepare_merge()
866 ps->area = NULL; in persistent_ctr()
869 ps->next_free = NUM_SNAPSHOT_HDR_CHUNKS + 1; /* header and 1st area */ in persistent_ctr()