Lines Matching refs:ti
28 static int linear_ctr(struct dm_target *ti, unsigned int argc, char **argv) in linear_ctr() argument
35 ti->error = "Invalid argument count"; in linear_ctr()
41 ti->error = "dm-linear: Cannot allocate linear context"; in linear_ctr()
46 ti->error = "dm-linear: Invalid device sector"; in linear_ctr()
51 if (dm_get_device(ti, argv[0], dm_table_get_mode(ti->table), &lc->dev)) { in linear_ctr()
52 ti->error = "dm-linear: Device lookup failed"; in linear_ctr()
56 ti->num_flush_bios = 1; in linear_ctr()
57 ti->num_discard_bios = 1; in linear_ctr()
58 ti->num_write_same_bios = 1; in linear_ctr()
59 ti->private = lc; in linear_ctr()
67 static void linear_dtr(struct dm_target *ti) in linear_dtr() argument
69 struct linear_c *lc = (struct linear_c *) ti->private; in linear_dtr()
71 dm_put_device(ti, lc->dev); in linear_dtr()
75 static sector_t linear_map_sector(struct dm_target *ti, sector_t bi_sector) in linear_map_sector() argument
77 struct linear_c *lc = ti->private; in linear_map_sector()
79 return lc->start + dm_target_offset(ti, bi_sector); in linear_map_sector()
82 static void linear_map_bio(struct dm_target *ti, struct bio *bio) in linear_map_bio() argument
84 struct linear_c *lc = ti->private; in linear_map_bio()
89 linear_map_sector(ti, bio->bi_iter.bi_sector); in linear_map_bio()
92 static int linear_map(struct dm_target *ti, struct bio *bio) in linear_map() argument
94 linear_map_bio(ti, bio); in linear_map()
99 static void linear_status(struct dm_target *ti, status_type_t type, in linear_status() argument
102 struct linear_c *lc = (struct linear_c *) ti->private; in linear_status()
116 static int linear_ioctl(struct dm_target *ti, unsigned int cmd, in linear_ioctl() argument
119 struct linear_c *lc = (struct linear_c *) ti->private; in linear_ioctl()
127 ti->len != i_size_read(dev->bdev->bd_inode) >> SECTOR_SHIFT) in linear_ioctl()
133 static int linear_merge(struct dm_target *ti, struct bvec_merge_data *bvm, in linear_merge() argument
136 struct linear_c *lc = ti->private; in linear_merge()
143 bvm->bi_sector = linear_map_sector(ti, bvm->bi_sector); in linear_merge()
148 static int linear_iterate_devices(struct dm_target *ti, in linear_iterate_devices() argument
151 struct linear_c *lc = ti->private; in linear_iterate_devices()
153 return fn(ti, lc->dev, lc->start, ti->len, data); in linear_iterate_devices()