Lines Matching refs:ti
121 static void delay_dtr(struct dm_target *ti)
123 struct delay_c *dc = ti->private;
129 dm_put_device(ti, dc->read.dev);
131 dm_put_device(ti, dc->write.dev);
133 dm_put_device(ti, dc->flush.dev);
140 static int delay_class_ctr(struct dm_target *ti, struct delay_class *c, char **argv)
147 ti->error = "Invalid device sector";
153 ti->error = "Invalid delay";
157 ret = dm_get_device(ti, argv[0], dm_table_get_mode(ti->table), &c->dev);
159 ti->error = "Device lookup failed";
174 static int delay_ctr(struct dm_target *ti, unsigned int argc, char **argv)
180 ti->error = "Requires exactly 3, 6 or 9 arguments";
186 ti->error = "Cannot allocate context";
190 ti->private = dc;
198 ret = delay_class_ctr(ti, &dc->read, argv);
203 ret = delay_class_ctr(ti, &dc->write, argv);
206 ret = delay_class_ctr(ti, &dc->flush, argv);
212 ret = delay_class_ctr(ti, &dc->write, argv + 3);
216 ret = delay_class_ctr(ti, &dc->flush, argv + 3);
222 ret = delay_class_ctr(ti, &dc->flush, argv + 6);
234 ti->num_flush_bios = 1;
235 ti->num_discard_bios = 1;
236 ti->accounts_remapped_io = true;
237 ti->per_io_data_size = sizeof(struct dm_delay_info);
241 delay_dtr(ti);
272 static void delay_presuspend(struct dm_target *ti)
274 struct delay_c *dc = ti->private;
284 static void delay_resume(struct dm_target *ti)
286 struct delay_c *dc = ti->private;
291 static int delay_map(struct dm_target *ti, struct bio *bio)
293 struct delay_c *dc = ti->private;
307 bio->bi_iter.bi_sector = c->start + dm_target_offset(ti, bio->bi_iter.bi_sector);
315 static void delay_status(struct dm_target *ti, status_type_t type,
318 struct delay_c *dc = ti->private;
344 static int delay_iterate_devices(struct dm_target *ti,
347 struct delay_c *dc = ti->private;
350 ret = fn(ti, dc->read.dev, dc->read.start, ti->len, data);
353 ret = fn(ti, dc->write.dev, dc->write.start, ti->len, data);
356 ret = fn(ti, dc->flush.dev, dc->flush.start, ti->len, data);