Lines Matching refs:ti
29 static int linear_ctr(struct dm_target *ti, unsigned int argc, char **argv) in linear_ctr() argument
37 ti->error = "Invalid argument count"; in linear_ctr()
43 ti->error = "Cannot allocate linear context"; in linear_ctr()
49 ti->error = "Invalid device sector"; in linear_ctr()
54 ret = dm_get_device(ti, argv[0], dm_table_get_mode(ti->table), &lc->dev); in linear_ctr()
56 ti->error = "Device lookup failed"; in linear_ctr()
60 ti->num_flush_bios = 1; in linear_ctr()
61 ti->num_discard_bios = 1; in linear_ctr()
62 ti->num_secure_erase_bios = 1; in linear_ctr()
63 ti->num_write_same_bios = 1; in linear_ctr()
64 ti->num_write_zeroes_bios = 1; in linear_ctr()
65 ti->private = lc; in linear_ctr()
73 static void linear_dtr(struct dm_target *ti) in linear_dtr() argument
75 struct linear_c *lc = (struct linear_c *) ti->private; in linear_dtr()
77 dm_put_device(ti, lc->dev); in linear_dtr()
81 static sector_t linear_map_sector(struct dm_target *ti, sector_t bi_sector) in linear_map_sector() argument
83 struct linear_c *lc = ti->private; in linear_map_sector()
85 return lc->start + dm_target_offset(ti, bi_sector); in linear_map_sector()
88 static void linear_map_bio(struct dm_target *ti, struct bio *bio) in linear_map_bio() argument
90 struct linear_c *lc = ti->private; in linear_map_bio()
95 linear_map_sector(ti, bio->bi_iter.bi_sector); in linear_map_bio()
98 static int linear_map(struct dm_target *ti, struct bio *bio) in linear_map() argument
100 linear_map_bio(ti, bio); in linear_map()
106 static int linear_end_io(struct dm_target *ti, struct bio *bio, in linear_end_io() argument
109 struct linear_c *lc = ti->private; in linear_end_io()
112 dm_remap_zone_report(ti, bio, lc->start); in linear_end_io()
118 static void linear_status(struct dm_target *ti, status_type_t type, in linear_status() argument
121 struct linear_c *lc = (struct linear_c *) ti->private; in linear_status()
135 static int linear_prepare_ioctl(struct dm_target *ti, struct block_device **bdev) in linear_prepare_ioctl() argument
137 struct linear_c *lc = (struct linear_c *) ti->private; in linear_prepare_ioctl()
146 ti->len != i_size_read(dev->bdev->bd_inode) >> SECTOR_SHIFT) in linear_prepare_ioctl()
151 static int linear_iterate_devices(struct dm_target *ti, in linear_iterate_devices() argument
154 struct linear_c *lc = ti->private; in linear_iterate_devices()
156 return fn(ti, lc->dev, lc->start, ti->len, data); in linear_iterate_devices()
160 static long linear_dax_direct_access(struct dm_target *ti, pgoff_t pgoff, in linear_dax_direct_access() argument
164 struct linear_c *lc = ti->private; in linear_dax_direct_access()
169 dev_sector = linear_map_sector(ti, sector); in linear_dax_direct_access()
176 static size_t linear_dax_copy_from_iter(struct dm_target *ti, pgoff_t pgoff, in linear_dax_copy_from_iter() argument
179 struct linear_c *lc = ti->private; in linear_dax_copy_from_iter()
184 dev_sector = linear_map_sector(ti, sector); in linear_dax_copy_from_iter()
190 static size_t linear_dax_copy_to_iter(struct dm_target *ti, pgoff_t pgoff, in linear_dax_copy_to_iter() argument
193 struct linear_c *lc = ti->private; in linear_dax_copy_to_iter()
198 dev_sector = linear_map_sector(ti, sector); in linear_dax_copy_to_iter()