Lines Matching refs:dm_snapshot
48 struct dm_snapshot { struct
171 struct dm_dev *dm_snap_origin(struct dm_snapshot *s) in dm_snap_origin()
177 struct dm_dev *dm_snap_cow(struct dm_snapshot *s) in dm_snap_cow()
209 struct dm_snapshot *snap;
256 static void track_chunk(struct dm_snapshot *s, struct bio *bio, chunk_t chunk) in track_chunk()
268 static void stop_tracking_chunk(struct dm_snapshot *s, struct bio *bio) in stop_tracking_chunk()
278 static int __chunk_is_tracked(struct dm_snapshot *s, chunk_t chunk) in __chunk_is_tracked()
302 static void __check_for_conflicting_io(struct dm_snapshot *s, chunk_t chunk) in __check_for_conflicting_io()
443 static int __find_snapshots_sharing_cow(struct dm_snapshot *snap, in __find_snapshots_sharing_cow()
444 struct dm_snapshot **snap_src, in __find_snapshots_sharing_cow()
445 struct dm_snapshot **snap_dest, in __find_snapshots_sharing_cow()
446 struct dm_snapshot **snap_merge) in __find_snapshots_sharing_cow()
448 struct dm_snapshot *s; in __find_snapshots_sharing_cow()
484 static int __validate_exception_handover(struct dm_snapshot *snap) in __validate_exception_handover()
486 struct dm_snapshot *snap_src = NULL, *snap_dest = NULL; in __validate_exception_handover()
487 struct dm_snapshot *snap_merge = NULL; in __validate_exception_handover()
529 static void __insert_snapshot(struct origin *o, struct dm_snapshot *s) in __insert_snapshot()
531 struct dm_snapshot *l; in __insert_snapshot()
548 static int register_snapshot(struct dm_snapshot *snap) in register_snapshot()
591 static void reregister_snapshot(struct dm_snapshot *s) in reregister_snapshot()
603 static void unregister_snapshot(struct dm_snapshot *s) in unregister_snapshot()
632 static void dm_exception_table_lock_init(struct dm_snapshot *s, chunk_t chunk, in dm_exception_table_lock_init()
736 static struct dm_snap_pending_exception *alloc_pending_exception(struct dm_snapshot *s) in alloc_pending_exception()
749 struct dm_snapshot *s = pe->snap; in free_pending_exception()
818 struct dm_snapshot *s = context; in dm_add_exception()
851 struct dm_snapshot *snap; in __minimum_chunk_size()
877 static int init_hash_tables(struct dm_snapshot *s) in init_hash_tables()
914 static void merge_shutdown(struct dm_snapshot *s) in merge_shutdown()
921 static struct bio *__release_queued_bios_after_merge(struct dm_snapshot *s) in __release_queued_bios_after_merge()
932 static int __remove_single_exception_chunk(struct dm_snapshot *s, in __remove_single_exception_chunk()
983 static int remove_single_exception_chunk(struct dm_snapshot *s) in remove_single_exception_chunk()
1011 static int origin_write_extent(struct dm_snapshot *merging_snap,
1037 static void snapshot_merge_next_chunks(struct dm_snapshot *s) in snapshot_merge_next_chunks()
1126 struct dm_snapshot *s = context; in merge_callback()
1160 static void start_merge(struct dm_snapshot *s) in start_merge()
1169 static void stop_merge(struct dm_snapshot *s) in stop_merge()
1176 static int parse_snapshot_features(struct dm_arg_set *as, struct dm_snapshot *s, in parse_snapshot_features()
1232 struct dm_snapshot *s; in snapshot_ctr()
1420 static void __free_exceptions(struct dm_snapshot *s) in __free_exceptions()
1429 static void __handover_exceptions(struct dm_snapshot *snap_src, in __handover_exceptions()
1430 struct dm_snapshot *snap_dest) in __handover_exceptions()
1467 struct dm_snapshot *s = ti->private; in snapshot_dtr()
1468 struct dm_snapshot *snap_src = NULL, *snap_dest = NULL; in snapshot_dtr()
1516 static void account_start_copy(struct dm_snapshot *s) in account_start_copy()
1523 static void account_end_copy(struct dm_snapshot *s) in account_end_copy()
1534 static bool wait_for_in_progress(struct dm_snapshot *s, bool unlock_origins) in wait_for_in_progress()
1581 static void retry_origin_bios(struct dm_snapshot *s, struct bio *bio) in retry_origin_bios()
1611 static void __invalidate_snapshot(struct dm_snapshot *s, int err) in __invalidate_snapshot()
1629 static void invalidate_snapshot(struct dm_snapshot *s, int err) in invalidate_snapshot()
1640 struct dm_snapshot *s = pe->snap; in pending_complete()
1726 struct dm_snapshot *s = pe->snap; in complete_exception()
1740 struct dm_snapshot *s = pe->snap; in copy_callback()
1789 struct dm_snapshot *s = pe->snap; in start_copy()
1819 struct dm_snapshot *s = pe->snap; in start_full_bio()
1836 __lookup_pending_exception(struct dm_snapshot *s, chunk_t chunk) in __lookup_pending_exception()
1853 __insert_pending_exception(struct dm_snapshot *s, in __insert_pending_exception()
1886 __find_pending_exception(struct dm_snapshot *s, in __find_pending_exception()
1900 static void remap_exception(struct dm_snapshot *s, struct dm_exception *e, in remap_exception()
1913 struct dm_snapshot *s = bio->bi_private; in zero_callback()
1920 static void zero_exception(struct dm_snapshot *s, struct dm_exception *e, in zero_exception()
1935 static bool io_overlaps_chunk(struct dm_snapshot *s, struct bio *bio) in io_overlaps_chunk()
1944 struct dm_snapshot *s = ti->private; in snapshot_map()
2112 struct dm_snapshot *s = ti->private; in snapshot_merge_map()
2178 struct dm_snapshot *s = ti->private; in snapshot_end_io()
2188 struct dm_snapshot *s = ti->private; in snapshot_merge_presuspend()
2196 struct dm_snapshot *s = ti->private; in snapshot_preresume()
2197 struct dm_snapshot *snap_src = NULL, *snap_dest = NULL; in snapshot_preresume()
2221 struct dm_snapshot *s = ti->private; in snapshot_resume()
2222 struct dm_snapshot *snap_src = NULL, *snap_dest = NULL, *snap_merging = NULL; in snapshot_resume()
2295 struct dm_snapshot *s = ti->private; in snapshot_merge_resume()
2314 struct dm_snapshot *snap = ti->private; in snapshot_status()
2373 struct dm_snapshot *snap = ti->private; in snapshot_iterate_devices()
2386 struct dm_snapshot *snap = ti->private; in snapshot_io_hints()
2389 struct dm_snapshot *snap_src = NULL, *snap_dest = NULL; in snapshot_io_hints()
2423 struct dm_snapshot *snap; in __origin_write()
2551 struct dm_snapshot *s; in do_origin()
2577 static int origin_write_extent(struct dm_snapshot *merging_snap, in origin_write_extent()