Lines Matching refs:dm_snapshot

49 struct dm_snapshot {  struct
172 struct dm_dev *dm_snap_origin(struct dm_snapshot *s) in dm_snap_origin()
178 struct dm_dev *dm_snap_cow(struct dm_snapshot *s) in dm_snap_cow()
210 struct dm_snapshot *snap;
259 static void track_chunk(struct dm_snapshot *s, struct bio *bio, chunk_t chunk) in track_chunk()
271 static void stop_tracking_chunk(struct dm_snapshot *s, struct bio *bio) in stop_tracking_chunk()
281 static int __chunk_is_tracked(struct dm_snapshot *s, chunk_t chunk) in __chunk_is_tracked()
305 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()
532 static void __insert_snapshot(struct origin *o, struct dm_snapshot *s) in __insert_snapshot()
534 struct dm_snapshot *l; in __insert_snapshot()
551 static int register_snapshot(struct dm_snapshot *snap) in register_snapshot()
594 static void reregister_snapshot(struct dm_snapshot *s) in reregister_snapshot()
606 static void unregister_snapshot(struct dm_snapshot *s) in unregister_snapshot()
635 static void dm_exception_table_lock_init(struct dm_snapshot *s, chunk_t chunk, in dm_exception_table_lock_init()
742 static struct dm_snap_pending_exception *alloc_pending_exception(struct dm_snapshot *s) in alloc_pending_exception()
755 struct dm_snapshot *s = pe->snap; in free_pending_exception()
824 struct dm_snapshot *s = context; in dm_add_exception()
857 struct dm_snapshot *snap; in __minimum_chunk_size()
884 static int init_hash_tables(struct dm_snapshot *s) in init_hash_tables()
921 static void merge_shutdown(struct dm_snapshot *s) in merge_shutdown()
928 static struct bio *__release_queued_bios_after_merge(struct dm_snapshot *s) in __release_queued_bios_after_merge()
939 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 struct dm_snapshot *s = context; in merge_callback()
1169 static void start_merge(struct dm_snapshot *s) in start_merge()
1178 static void stop_merge(struct dm_snapshot *s) in stop_merge()
1185 static int parse_snapshot_features(struct dm_arg_set *as, struct dm_snapshot *s, in parse_snapshot_features()
1241 struct dm_snapshot *s; in snapshot_ctr()
1426 static void __free_exceptions(struct dm_snapshot *s) in __free_exceptions()
1435 static void __handover_exceptions(struct dm_snapshot *snap_src, in __handover_exceptions()
1436 struct dm_snapshot *snap_dest) in __handover_exceptions()
1473 struct dm_snapshot *s = ti->private; in snapshot_dtr()
1474 struct dm_snapshot *snap_src = NULL, *snap_dest = NULL; in snapshot_dtr()
1522 static void account_start_copy(struct dm_snapshot *s) in account_start_copy()
1529 static void account_end_copy(struct dm_snapshot *s) in account_end_copy()
1540 static bool wait_for_in_progress(struct dm_snapshot *s, bool unlock_origins) in wait_for_in_progress()
1588 static void retry_origin_bios(struct dm_snapshot *s, struct bio *bio) in retry_origin_bios()
1618 static void __invalidate_snapshot(struct dm_snapshot *s, int err) in __invalidate_snapshot()
1636 static void invalidate_snapshot(struct dm_snapshot *s, int err) in invalidate_snapshot()
1647 struct dm_snapshot *s = pe->snap; in pending_complete()
1733 struct dm_snapshot *s = pe->snap; in complete_exception()
1747 struct dm_snapshot *s = pe->snap; in copy_callback()
1796 struct dm_snapshot *s = pe->snap; in start_copy()
1826 struct dm_snapshot *s = pe->snap; in start_full_bio()
1843 __lookup_pending_exception(struct dm_snapshot *s, chunk_t chunk) in __lookup_pending_exception()
1860 __insert_pending_exception(struct dm_snapshot *s, in __insert_pending_exception()
1893 __find_pending_exception(struct dm_snapshot *s, in __find_pending_exception()
1907 static void remap_exception(struct dm_snapshot *s, struct dm_exception *e, in remap_exception()
1920 struct dm_snapshot *s = bio->bi_private; in zero_callback()
1927 static void zero_exception(struct dm_snapshot *s, struct dm_exception *e, in zero_exception()
1942 static bool io_overlaps_chunk(struct dm_snapshot *s, struct bio *bio) in io_overlaps_chunk()
1951 struct dm_snapshot *s = ti->private; in snapshot_map()
2119 struct dm_snapshot *s = ti->private; in snapshot_merge_map()
2185 struct dm_snapshot *s = ti->private; in snapshot_end_io()
2195 struct dm_snapshot *s = ti->private; in snapshot_merge_presuspend()
2203 struct dm_snapshot *s = ti->private; in snapshot_preresume()
2204 struct dm_snapshot *snap_src = NULL, *snap_dest = NULL; in snapshot_preresume()
2226 struct dm_snapshot *s = ti->private; in snapshot_resume()
2227 struct dm_snapshot *snap_src = NULL, *snap_dest = NULL, *snap_merging = NULL; in snapshot_resume()
2300 struct dm_snapshot *s = ti->private; in snapshot_merge_resume()
2319 struct dm_snapshot *snap = ti->private; in snapshot_status()
2387 struct dm_snapshot *snap = ti->private; in snapshot_iterate_devices()
2400 struct dm_snapshot *snap = ti->private; in snapshot_io_hints()
2403 struct dm_snapshot *snap_src = NULL, *snap_dest = NULL; in snapshot_io_hints()
2438 struct dm_snapshot *snap; in __origin_write()
2566 struct dm_snapshot *s; in do_origin()
2593 static int origin_write_extent(struct dm_snapshot *merging_snap, in origin_write_extent()