Lines Matching refs:ti

30 static int linear_ctr(struct dm_target *ti, unsigned int argc, char **argv)
38 ti->error = "Invalid argument count";
44 ti->error = "Cannot allocate linear context";
50 ti->error = "Invalid device sector";
55 ret = dm_get_device(ti, argv[0], dm_table_get_mode(ti->table), &lc->dev);
57 ti->error = "Device lookup failed";
61 ti->num_flush_bios = 1;
62 ti->num_discard_bios = 1;
63 ti->num_secure_erase_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 = 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 int linear_map(struct dm_target *ti, struct bio *bio)
90 struct linear_c *lc = ti->private;
93 bio->bi_iter.bi_sector = linear_map_sector(ti, bio->bi_iter.bi_sector);
98 static void linear_status(struct dm_target *ti, status_type_t type,
101 struct linear_c *lc = ti->private;
114 DMEMIT_TARGET_NAME_VERSION(ti->type);
121 static int linear_prepare_ioctl(struct dm_target *ti, struct block_device **bdev)
123 struct linear_c *lc = ti->private;
131 if (lc->start || ti->len != bdev_nr_sectors(dev->bdev))
137 static int linear_report_zones(struct dm_target *ti,
140 struct linear_c *lc = ti->private;
143 linear_map_sector(ti, args->next_sector),
150 static int linear_iterate_devices(struct dm_target *ti,
153 struct linear_c *lc = ti->private;
155 return fn(ti, lc->dev, lc->start, ti->len, data);
159 static struct dax_device *linear_dax_pgoff(struct dm_target *ti, pgoff_t *pgoff)
161 struct linear_c *lc = ti->private;
162 sector_t sector = linear_map_sector(ti, *pgoff << PAGE_SECTORS_SHIFT);
168 static long linear_dax_direct_access(struct dm_target *ti, pgoff_t pgoff,
172 struct dax_device *dax_dev = linear_dax_pgoff(ti, &pgoff);
177 static int linear_dax_zero_page_range(struct dm_target *ti, pgoff_t pgoff,
180 struct dax_device *dax_dev = linear_dax_pgoff(ti, &pgoff);
185 static size_t linear_dax_recovery_write(struct dm_target *ti, pgoff_t pgoff,
188 struct dax_device *dax_dev = linear_dax_pgoff(ti, &pgoff);