chunk_t
static inline chunk_t dm_chunk_number(chunk_t chunk)
return chunk & (chunk_t)((1ULL << DM_CHUNK_NUMBER_BITS) - 1ULL);
static inline chunk_t sector_to_chunk(struct dm_exception_store *store,
chunk_t old_chunk;
chunk_t new_chunk;
chunk_t old, chunk_t new),
chunk_t *last_old_chunk, chunk_t *last_new_chunk);
chunk_t current_area;
chunk_t next_free;
static int chunk_io(struct pstore *ps, void *area, chunk_t chunk, blk_opf_t opf,
static chunk_t area_location(struct pstore *ps, chunk_t area)
chunk_t next_free = ps->next_free;
chunk_t chunk = area_location(ps, ps->current_area);
static int zero_disk_area(struct pstore *ps, chunk_t area)
chunk_t old, chunk_t new),
int (*callback)(void *callback_context, chunk_t old,
chunk_t new),
chunk_t prefetch_area = 0;
chunk_t chunk;
chunk_t pf_chunk = area_location(ps, prefetch_area);
chunk_t old, chunk_t new),
chunk_t *last_old_chunk,
chunk_t *last_new_chunk)
chunk_t old, chunk_t new),
chunk_t old_chunk, new_chunk;
chunk_t first_merging_chunk;
__lookup_pending_exception(struct dm_snapshot *s, chunk_t chunk)
struct dm_snap_pending_exception *pe, chunk_t chunk)
struct dm_snap_pending_exception *pe, chunk_t chunk)
struct bio *bio, chunk_t chunk)
chunk_t chunk)
struct bio *bio, chunk_t chunk)
chunk_t chunk;
chunk_t chunk;
chunk_t chunk;
chunk_t chunk;
static void track_chunk(struct dm_snapshot *s, struct bio *bio, chunk_t chunk)
static int __chunk_is_tracked(struct dm_snapshot *s, chunk_t chunk)
static void __check_for_conflicting_io(struct dm_snapshot *s, chunk_t chunk)
static uint32_t exception_hash(struct dm_exception_table *et, chunk_t chunk);
static void dm_exception_table_lock_init(struct dm_snapshot *s, chunk_t chunk,
static uint32_t exception_hash(struct dm_exception_table *et, chunk_t chunk)
chunk_t chunk)
static int dm_add_exception(void *context, chunk_t old, chunk_t new)
chunk_t old_chunk)
chunk_t old_chunk = s->first_merging_chunk + s->num_merging_chunks - 1;