• Home
  • Raw
  • Download

Lines Matching refs:ti

29 #define dm_target_is_snapshot_merge(ti) \  argument
30 ((ti)->type->name == dm_snapshot_merge_target_name)
53 struct dm_target *ti; member
363 if (dm_target_is_snapshot_merge(s->ti) && snap_merge) in __find_snapshots_sharing_cow()
398 snap->ti->error = "Snapshot cow pairing for exception " in __validate_exception_handover()
413 if (!dm_target_is_snapshot_merge(snap->ti)) in __validate_exception_handover()
420 snap->ti->error = "A snapshot is already merging."; in __validate_exception_handover()
426 snap->ti->error = "Snapshot exception store does not " in __validate_exception_handover()
1037 static int snapshot_ctr(struct dm_target *ti, unsigned int argc, char **argv) in snapshot_ctr() argument
1047 ti->error = "requires exactly 4 arguments"; in snapshot_ctr()
1052 if (dm_target_is_snapshot_merge(ti)) { in snapshot_ctr()
1059 ti->error = "Cannot allocate private snapshot structure"; in snapshot_ctr()
1068 r = dm_get_device(ti, origin_path, origin_mode, &s->origin); in snapshot_ctr()
1070 ti->error = "Cannot get origin device"; in snapshot_ctr()
1078 r = dm_get_device(ti, cow_path, dm_table_get_mode(ti->table), &s->cow); in snapshot_ctr()
1080 ti->error = "Cannot get COW device"; in snapshot_ctr()
1084 r = dm_exception_store_create(ti, argc, argv, s, &args_used, &s->store); in snapshot_ctr()
1086 ti->error = "Couldn't create exception store"; in snapshot_ctr()
1094 s->ti = ti; in snapshot_ctr()
1109 ti->error = "Unable to allocate hash table space"; in snapshot_ctr()
1117 ti->error = "Could not create kcopyd client"; in snapshot_ctr()
1123 ti->error = "Could not allocate mempool for pending exceptions"; in snapshot_ctr()
1133 ti->private = s; in snapshot_ctr()
1134 ti->num_flush_bios = num_flush_bios; in snapshot_ctr()
1135 ti->per_bio_data_size = sizeof(struct dm_snap_tracked_chunk); in snapshot_ctr()
1141 ti->error = "Snapshot origin struct allocation failed"; in snapshot_ctr()
1162 ti->error = "Failed to read snapshot metadata"; in snapshot_ctr()
1170 ti->error = "Chunk size not set"; in snapshot_ctr()
1174 r = dm_set_target_max_io_len(ti, s->store->chunk_size); in snapshot_ctr()
1197 dm_put_device(ti, s->cow); in snapshot_ctr()
1200 dm_put_device(ti, s->origin); in snapshot_ctr()
1240 snap_dest->ti->max_io_len = snap_dest->store->chunk_size; in __handover_exceptions()
1249 static void snapshot_dtr(struct dm_target *ti) in snapshot_dtr() argument
1254 struct dm_snapshot *s = ti->private; in snapshot_dtr()
1268 if (dm_target_is_snapshot_merge(ti)) in snapshot_dtr()
1294 dm_put_device(ti, s->cow); in snapshot_dtr()
1296 dm_put_device(ti, s->origin); in snapshot_dtr()
1366 dm_table_event(s->ti->table); in __invalidate_snapshot()
1573 static int snapshot_map(struct dm_target *ti, struct bio *bio) in snapshot_map() argument
1576 struct dm_snapshot *s = ti->private; in snapshot_map()
1688 static int snapshot_merge_map(struct dm_target *ti, struct bio *bio) in snapshot_merge_map() argument
1691 struct dm_snapshot *s = ti->private; in snapshot_merge_map()
1748 static int snapshot_end_io(struct dm_target *ti, struct bio *bio, int error) in snapshot_end_io() argument
1750 struct dm_snapshot *s = ti->private; in snapshot_end_io()
1758 static void snapshot_merge_presuspend(struct dm_target *ti) in snapshot_merge_presuspend() argument
1760 struct dm_snapshot *s = ti->private; in snapshot_merge_presuspend()
1765 static int snapshot_preresume(struct dm_target *ti) in snapshot_preresume() argument
1768 struct dm_snapshot *s = ti->private; in snapshot_preresume()
1779 } else if (!dm_suspended(snap_src->ti)) { in snapshot_preresume()
1791 static void snapshot_resume(struct dm_target *ti) in snapshot_resume() argument
1793 struct dm_snapshot *s = ti->private; in snapshot_resume()
1826 static void snapshot_merge_resume(struct dm_target *ti) in snapshot_merge_resume() argument
1828 struct dm_snapshot *s = ti->private; in snapshot_merge_resume()
1833 snapshot_resume(ti); in snapshot_merge_resume()
1838 ti->max_io_len = get_origin_minimum_chunksize(s->origin->bdev); in snapshot_merge_resume()
1843 static void snapshot_status(struct dm_target *ti, status_type_t type, in snapshot_status() argument
1847 struct dm_snapshot *snap = ti->private; in snapshot_status()
1892 static int snapshot_iterate_devices(struct dm_target *ti, in snapshot_iterate_devices() argument
1895 struct dm_snapshot *snap = ti->private; in snapshot_iterate_devices()
1898 r = fn(ti, snap->origin, 0, ti->len, data); in snapshot_iterate_devices()
1901 r = fn(ti, snap->cow, 0, get_dev_size(snap->cow->bdev), data); in snapshot_iterate_devices()
1938 if (dm_target_is_snapshot_merge(snap->ti)) in __origin_write()
1948 if (sector >= dm_table_get_size(snap->ti->table)) in __origin_write()
2074 for (n = 0; n < size; n += merging_snap->ti->max_io_len) in origin_write_extent()
2092 static int origin_ctr(struct dm_target *ti, unsigned int argc, char **argv) in origin_ctr() argument
2098 ti->error = "origin: incorrect number of arguments"; in origin_ctr()
2102 r = dm_get_device(ti, argv[0], dm_table_get_mode(ti->table), &dev); in origin_ctr()
2104 ti->error = "Cannot get target device"; in origin_ctr()
2108 ti->private = dev; in origin_ctr()
2109 ti->num_flush_bios = 1; in origin_ctr()
2114 static void origin_dtr(struct dm_target *ti) in origin_dtr() argument
2116 struct dm_dev *dev = ti->private; in origin_dtr()
2117 dm_put_device(ti, dev); in origin_dtr()
2120 static int origin_map(struct dm_target *ti, struct bio *bio) in origin_map() argument
2122 struct dm_dev *dev = ti->private; in origin_map()
2136 static void origin_resume(struct dm_target *ti) in origin_resume() argument
2138 struct dm_dev *dev = ti->private; in origin_resume()
2140 ti->max_io_len = get_origin_minimum_chunksize(dev->bdev); in origin_resume()
2143 static void origin_status(struct dm_target *ti, status_type_t type, in origin_status() argument
2146 struct dm_dev *dev = ti->private; in origin_status()
2159 static int origin_merge(struct dm_target *ti, struct bvec_merge_data *bvm, in origin_merge() argument
2162 struct dm_dev *dev = ti->private; in origin_merge()
2173 static int origin_iterate_devices(struct dm_target *ti, in origin_iterate_devices() argument
2176 struct dm_dev *dev = ti->private; in origin_iterate_devices()
2178 return fn(ti, dev, 0, ti->len, data); in origin_iterate_devices()