Lines Matching refs:dm_snapshot
48 struct dm_snapshot { struct
176 struct dm_dev *dm_snap_origin(struct dm_snapshot *s) in dm_snap_origin()
182 struct dm_dev *dm_snap_cow(struct dm_snapshot *s) in dm_snap_cow()
214 struct dm_snapshot *snap;
261 static void track_chunk(struct dm_snapshot *s, struct bio *bio, chunk_t chunk) in track_chunk()
273 static void stop_tracking_chunk(struct dm_snapshot *s, struct bio *bio) in stop_tracking_chunk()
283 static int __chunk_is_tracked(struct dm_snapshot *s, chunk_t chunk) in __chunk_is_tracked()
307 static void __check_for_conflicting_io(struct dm_snapshot *s, chunk_t chunk) in __check_for_conflicting_io()
448 static int __find_snapshots_sharing_cow(struct dm_snapshot *snap, in __find_snapshots_sharing_cow()
449 struct dm_snapshot **snap_src, in __find_snapshots_sharing_cow()
450 struct dm_snapshot **snap_dest, in __find_snapshots_sharing_cow()
451 struct dm_snapshot **snap_merge) in __find_snapshots_sharing_cow()
453 struct dm_snapshot *s; in __find_snapshots_sharing_cow()
489 static int __validate_exception_handover(struct dm_snapshot *snap) in __validate_exception_handover()
491 struct dm_snapshot *snap_src = NULL, *snap_dest = NULL; in __validate_exception_handover()
492 struct dm_snapshot *snap_merge = NULL; in __validate_exception_handover()
534 static void __insert_snapshot(struct origin *o, struct dm_snapshot *s) in __insert_snapshot()
536 struct dm_snapshot *l; in __insert_snapshot()
553 static int register_snapshot(struct dm_snapshot *snap) in register_snapshot()
596 static void reregister_snapshot(struct dm_snapshot *s) in reregister_snapshot()
608 static void unregister_snapshot(struct dm_snapshot *s) in unregister_snapshot()
637 static void dm_exception_table_lock_init(struct dm_snapshot *s, chunk_t chunk, in dm_exception_table_lock_init()
741 static struct dm_snap_pending_exception *alloc_pending_exception(struct dm_snapshot *s) in alloc_pending_exception()
754 struct dm_snapshot *s = pe->snap; in free_pending_exception()
823 struct dm_snapshot *s = context; in dm_add_exception()
856 struct dm_snapshot *snap; in __minimum_chunk_size()
882 static int init_hash_tables(struct dm_snapshot *s) in init_hash_tables()
919 static void merge_shutdown(struct dm_snapshot *s) in merge_shutdown()
926 static struct bio *__release_queued_bios_after_merge(struct dm_snapshot *s) in __release_queued_bios_after_merge()
937 static int __remove_single_exception_chunk(struct dm_snapshot *s, in __remove_single_exception_chunk()
988 static int remove_single_exception_chunk(struct dm_snapshot *s) in remove_single_exception_chunk()
1016 static int origin_write_extent(struct dm_snapshot *merging_snap,
1042 static void snapshot_merge_next_chunks(struct dm_snapshot *s) in snapshot_merge_next_chunks()
1130 static int flush_data(struct dm_snapshot *s) in flush_data()
1143 struct dm_snapshot *s = context; in merge_callback()
1182 static void start_merge(struct dm_snapshot *s) in start_merge()
1191 static void stop_merge(struct dm_snapshot *s) in stop_merge()
1198 static int parse_snapshot_features(struct dm_arg_set *as, struct dm_snapshot *s, in parse_snapshot_features()
1254 struct dm_snapshot *s; in snapshot_ctr()
1444 static void __free_exceptions(struct dm_snapshot *s) in __free_exceptions()
1453 static void __handover_exceptions(struct dm_snapshot *snap_src, in __handover_exceptions()
1454 struct dm_snapshot *snap_dest) in __handover_exceptions()
1491 struct dm_snapshot *s = ti->private; in snapshot_dtr()
1492 struct dm_snapshot *snap_src = NULL, *snap_dest = NULL; in snapshot_dtr()
1542 static void account_start_copy(struct dm_snapshot *s) in account_start_copy()
1549 static void account_end_copy(struct dm_snapshot *s) in account_end_copy()
1560 static bool wait_for_in_progress(struct dm_snapshot *s, bool unlock_origins) in wait_for_in_progress()
1607 static void retry_origin_bios(struct dm_snapshot *s, struct bio *bio) in retry_origin_bios()
1637 static void __invalidate_snapshot(struct dm_snapshot *s, int err) in __invalidate_snapshot()
1655 static void invalidate_snapshot(struct dm_snapshot *s, int err) in invalidate_snapshot()
1666 struct dm_snapshot *s = pe->snap; in pending_complete()
1752 struct dm_snapshot *s = pe->snap; in complete_exception()
1766 struct dm_snapshot *s = pe->snap; in copy_callback()
1815 struct dm_snapshot *s = pe->snap; in start_copy()
1845 struct dm_snapshot *s = pe->snap; in start_full_bio()
1862 __lookup_pending_exception(struct dm_snapshot *s, chunk_t chunk) in __lookup_pending_exception()
1879 __insert_pending_exception(struct dm_snapshot *s, in __insert_pending_exception()
1912 __find_pending_exception(struct dm_snapshot *s, in __find_pending_exception()
1926 static void remap_exception(struct dm_snapshot *s, struct dm_exception *e, in remap_exception()
1939 struct dm_snapshot *s = bio->bi_private; in zero_callback()
1946 static void zero_exception(struct dm_snapshot *s, struct dm_exception *e, in zero_exception()
1961 static bool io_overlaps_chunk(struct dm_snapshot *s, struct bio *bio) in io_overlaps_chunk()
1970 struct dm_snapshot *s = ti->private; in snapshot_map()
2138 struct dm_snapshot *s = ti->private; in snapshot_merge_map()
2204 struct dm_snapshot *s = ti->private; in snapshot_end_io()
2214 struct dm_snapshot *s = ti->private; in snapshot_merge_presuspend()
2222 struct dm_snapshot *s = ti->private; in snapshot_preresume()
2223 struct dm_snapshot *snap_src = NULL, *snap_dest = NULL; in snapshot_preresume()
2247 struct dm_snapshot *s = ti->private; in snapshot_resume()
2248 struct dm_snapshot *snap_src = NULL, *snap_dest = NULL, *snap_merging = NULL; in snapshot_resume()
2321 struct dm_snapshot *s = ti->private; in snapshot_merge_resume()
2340 struct dm_snapshot *snap = ti->private; in snapshot_status()
2399 struct dm_snapshot *snap = ti->private; in snapshot_iterate_devices()
2412 struct dm_snapshot *snap = ti->private; in snapshot_io_hints()
2415 struct dm_snapshot *snap_src = NULL, *snap_dest = NULL; in snapshot_io_hints()
2449 struct dm_snapshot *snap; in __origin_write()
2577 struct dm_snapshot *s; in do_origin()
2603 static int origin_write_extent(struct dm_snapshot *merging_snap, in origin_write_extent()