Lines Matching refs:dm_snapshot
54 struct dm_snapshot { struct
177 struct dm_dev *dm_snap_origin(struct dm_snapshot *s) in dm_snap_origin()
183 struct dm_dev *dm_snap_cow(struct dm_snapshot *s) in dm_snap_cow()
215 struct dm_snapshot *snap;
264 static void track_chunk(struct dm_snapshot *s, struct bio *bio, chunk_t chunk) in track_chunk()
276 static void stop_tracking_chunk(struct dm_snapshot *s, struct bio *bio) in stop_tracking_chunk()
286 static int __chunk_is_tracked(struct dm_snapshot *s, chunk_t chunk) in __chunk_is_tracked()
310 static void __check_for_conflicting_io(struct dm_snapshot *s, chunk_t chunk) in __check_for_conflicting_io()
450 static int __find_snapshots_sharing_cow(struct dm_snapshot *snap, in __find_snapshots_sharing_cow()
451 struct dm_snapshot **snap_src, in __find_snapshots_sharing_cow()
452 struct dm_snapshot **snap_dest, in __find_snapshots_sharing_cow()
453 struct dm_snapshot **snap_merge) in __find_snapshots_sharing_cow()
455 struct dm_snapshot *s; in __find_snapshots_sharing_cow()
491 static int __validate_exception_handover(struct dm_snapshot *snap) in __validate_exception_handover()
493 struct dm_snapshot *snap_src = NULL, *snap_dest = NULL; in __validate_exception_handover()
494 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()
745 static struct dm_snap_pending_exception *alloc_pending_exception(struct dm_snapshot *s) in alloc_pending_exception()
758 struct dm_snapshot *s = pe->snap; in free_pending_exception()
825 struct dm_snapshot *s = context; in dm_add_exception()
848 struct dm_snapshot *snap; in __minimum_chunk_size()
875 static int init_hash_tables(struct dm_snapshot *s) in init_hash_tables()
912 static void merge_shutdown(struct dm_snapshot *s) in merge_shutdown()
919 static struct bio *__release_queued_bios_after_merge(struct dm_snapshot *s) in __release_queued_bios_after_merge()
930 static int __remove_single_exception_chunk(struct dm_snapshot *s, in __remove_single_exception_chunk()
979 static int remove_single_exception_chunk(struct dm_snapshot *s) in remove_single_exception_chunk()
1007 static int origin_write_extent(struct dm_snapshot *merging_snap,
1033 static void snapshot_merge_next_chunks(struct dm_snapshot *s) in snapshot_merge_next_chunks()
1121 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()
1417 static void __free_exceptions(struct dm_snapshot *s) in __free_exceptions()
1426 static void __handover_exceptions(struct dm_snapshot *snap_src, in __handover_exceptions()
1427 struct dm_snapshot *snap_dest) in __handover_exceptions()
1464 struct dm_snapshot *s = ti->private; in snapshot_dtr()
1465 struct dm_snapshot *snap_src = NULL, *snap_dest = NULL; in snapshot_dtr()
1513 static void account_start_copy(struct dm_snapshot *s) in account_start_copy()
1520 static void account_end_copy(struct dm_snapshot *s) in account_end_copy()
1531 static bool wait_for_in_progress(struct dm_snapshot *s, bool unlock_origins) in wait_for_in_progress()
1579 static void retry_origin_bios(struct dm_snapshot *s, struct bio *bio) in retry_origin_bios()
1609 static void __invalidate_snapshot(struct dm_snapshot *s, int err) in __invalidate_snapshot()
1627 static void invalidate_snapshot(struct dm_snapshot *s, int err) in invalidate_snapshot()
1638 struct dm_snapshot *s = pe->snap; in pending_complete()
1724 struct dm_snapshot *s = pe->snap; in complete_exception()
1738 struct dm_snapshot *s = pe->snap; in copy_callback()
1787 struct dm_snapshot *s = pe->snap; in start_copy()
1817 struct dm_snapshot *s = pe->snap; in start_full_bio()
1834 __lookup_pending_exception(struct dm_snapshot *s, chunk_t chunk) in __lookup_pending_exception()
1851 __insert_pending_exception(struct dm_snapshot *s, in __insert_pending_exception()
1884 __find_pending_exception(struct dm_snapshot *s, in __find_pending_exception()
1898 static void remap_exception(struct dm_snapshot *s, struct dm_exception *e, in remap_exception()
1911 struct dm_snapshot *s = bio->bi_private; in zero_callback()
1918 static void zero_exception(struct dm_snapshot *s, struct dm_exception *e, in zero_exception()
1933 static bool io_overlaps_chunk(struct dm_snapshot *s, struct bio *bio) in io_overlaps_chunk()
1942 struct dm_snapshot *s = ti->private; in snapshot_map()
2110 struct dm_snapshot *s = ti->private; in snapshot_merge_map()
2176 struct dm_snapshot *s = ti->private; in snapshot_end_io()
2186 struct dm_snapshot *s = ti->private; in snapshot_merge_presuspend()
2194 struct dm_snapshot *s = ti->private; in snapshot_preresume()
2195 struct dm_snapshot *snap_src = NULL, *snap_dest = NULL; in snapshot_preresume()
2217 struct dm_snapshot *s = ti->private; in snapshot_resume()
2218 struct dm_snapshot *snap_src = NULL, *snap_dest = NULL, *snap_merging = NULL; in snapshot_resume()
2291 struct dm_snapshot *s = ti->private; in snapshot_merge_resume()
2310 struct dm_snapshot *snap = ti->private; in snapshot_status()
2378 struct dm_snapshot *snap = ti->private; in snapshot_iterate_devices()
2391 struct dm_snapshot *snap = ti->private; in snapshot_io_hints()
2394 struct dm_snapshot *snap_src = NULL, *snap_dest = NULL; in snapshot_io_hints()
2429 struct dm_snapshot *snap; in __origin_write()
2557 struct dm_snapshot *s; in do_origin()
2584 static int origin_write_extent(struct dm_snapshot *merging_snap, in origin_write_extent()