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