• Home
  • Raw
  • Download

Lines Matching refs:ti

94 	struct dm_target *ti;  member
178 static void free_pgpaths(struct list_head *pgpaths, struct dm_target *ti) in free_pgpaths() argument
184 dm_put_device(ti, pgpath->path.dev); in free_pgpaths()
190 struct dm_target *ti) in free_priority_group() argument
199 free_pgpaths(&pg->pgpaths, ti); in free_priority_group()
203 static struct multipath *alloc_multipath(struct dm_target *ti) in alloc_multipath() argument
217 m->ti = ti; in alloc_multipath()
218 ti->private = m; in alloc_multipath()
226 static int alloc_multipath_stage2(struct dm_target *ti, struct multipath *m) in alloc_multipath_stage2() argument
239 dm_table_set_type(ti->table, m->queue_mode); in alloc_multipath_stage2()
260 free_priority_group(pg, m->ti); in free_multipath()
470 dm_table_device_name((m)->ti->table), \
473 dm_noflush_suspending((m)->ti)); \
482 return dm_noflush_suspending(m->ti); in __must_push_back()
500 static int multipath_clone_and_map(struct dm_target *ti, struct request *rq, in multipath_clone_and_map() argument
504 struct multipath *m = ti->private; in multipath_clone_and_map()
662 static int multipath_map_bio(struct dm_target *ti, struct bio *bio) in multipath_map_bio() argument
664 struct multipath *m = ti->private; in multipath_map_bio()
674 dm_mq_kick_requeue_list(dm_table_get_md(m->ti->table)); in process_queued_io_list()
737 const char *dm_dev_name = dm_table_device_name(m->ti->table); in queue_if_no_path()
763 dm_noflush_suspending(m->ti)); in queue_if_no_path()
768 dm_table_run_md_queue_async(m->ti->table); in queue_if_no_path()
784 dm_table_device_name(m->ti->table)); in queue_if_no_path_timeout_work()
821 dm_table_event(m->ti->table); in trigger_event()
835 struct dm_target *ti) in parse_path_selector() argument
847 ti->error = "unknown path selector type"; in parse_path_selector()
851 r = dm_read_arg_group(_args, as, &ps_argc, &ti->error); in parse_path_selector()
860 ti->error = "path selector constructor failed"; in parse_path_selector()
927 struct dm_target *ti) in parse_path() argument
931 struct multipath *m = ti->private; in parse_path()
937 ti->error = "no device given"; in parse_path()
945 r = dm_get_device(ti, dm_shift_arg(as), dm_table_get_mode(ti->table), in parse_path()
948 ti->error = "error getting device"; in parse_path()
956 r = setup_scsi_dh(p->path.dev->bdev, m, &attached_handler_name, &ti->error); in parse_path()
959 dm_put_device(ti, p->path.dev); in parse_path()
964 r = ps->type->add_path(ps, &p->path, as->argc, as->argv, &ti->error); in parse_path()
966 dm_put_device(ti, p->path.dev); in parse_path()
987 struct dm_target *ti = m->ti; in parse_priority_group() local
991 ti->error = "not enough priority group arguments"; in parse_priority_group()
997 ti->error = "couldn't allocate priority group"; in parse_priority_group()
1002 r = parse_path_selector(as, pg, ti); in parse_priority_group()
1009 r = dm_read_arg(_args, as, &pg->nr_pgpaths, &ti->error); in parse_priority_group()
1013 r = dm_read_arg(_args + 1, as, &nr_selector_args, &ti->error); in parse_priority_group()
1023 ti->error = "not enough path parameters"; in parse_priority_group()
1031 pgpath = parse_path(&path_args, &pg->ps, ti); in parse_priority_group()
1045 free_priority_group(pg, ti); in parse_priority_group()
1053 struct dm_target *ti = m->ti; in parse_hw_handler() local
1059 if (dm_read_arg_group(_args, as, &hw_argc, &ti->error)) in parse_hw_handler()
1083 ti->error = "memory allocation failed"; in parse_hw_handler()
1104 struct dm_target *ti = m->ti; in parse_features() local
1113 r = dm_read_arg_group(_args, as, &argc, &ti->error); in parse_features()
1136 r = dm_read_arg(_args + 1, as, &m->pg_init_retries, &ti->error); in parse_features()
1143 r = dm_read_arg(_args + 2, as, &m->pg_init_delay_msecs, &ti->error); in parse_features()
1158 ti->error = "Unknown 'queue_mode' requested"; in parse_features()
1165 ti->error = "Unrecognised multipath feature request"; in parse_features()
1172 static int multipath_ctr(struct dm_target *ti, unsigned argc, char **argv) in multipath_ctr() argument
1190 m = alloc_multipath(ti); in multipath_ctr()
1192 ti->error = "can't allocate multipath"; in multipath_ctr()
1200 r = alloc_multipath_stage2(ti, m); in multipath_ctr()
1208 r = dm_read_arg(_args, &as, &m->nr_priority_groups, &ti->error); in multipath_ctr()
1212 r = dm_read_arg(_args + 1, &as, &next_pg_num, &ti->error); in multipath_ctr()
1218 ti->error = "invalid initial priority group"; in multipath_ctr()
1245 ti->error = "priority group count mismatch"; in multipath_ctr()
1254 ti->num_flush_bios = 1; in multipath_ctr()
1255 ti->num_discard_bios = 1; in multipath_ctr()
1256 ti->num_write_same_bios = 1; in multipath_ctr()
1257 ti->num_write_zeroes_bios = 1; in multipath_ctr()
1259 ti->per_io_data_size = multipath_per_bio_data_size(); in multipath_ctr()
1261 ti->per_io_data_size = sizeof(struct dm_mpath_io); in multipath_ctr()
1312 static void multipath_dtr(struct dm_target *ti) in multipath_dtr() argument
1314 struct multipath *m = ti->private; in multipath_dtr()
1335 dm_table_device_name(m->ti->table), in fail_path()
1347 dm_path_uevent(DM_UEVENT_PATH_FAILED, m->ti, in fail_path()
1376 dm_table_device_name(m->ti->table), in reinstate_path()
1394 dm_path_uevent(DM_UEVENT_PATH_REINSTATED, m->ti, in reinstate_path()
1402 dm_table_run_md_queue_async(m->ti->table); in reinstate_path()
1634 static int multipath_end_io(struct dm_target *ti, struct request *clone, in multipath_end_io() argument
1653 struct multipath *m = ti->private; in multipath_end_io()
1683 static int multipath_end_io_bio(struct dm_target *ti, struct bio *clone, in multipath_end_io_bio() argument
1686 struct multipath *m = ti->private; in multipath_end_io_bio()
1734 static void multipath_presuspend(struct dm_target *ti) in multipath_presuspend() argument
1736 struct multipath *m = ti->private; in multipath_presuspend()
1739 if (m->queue_mode == DM_TYPE_BIO_BASED || !dm_noflush_suspending(m->ti)) in multipath_presuspend()
1743 static void multipath_postsuspend(struct dm_target *ti) in multipath_postsuspend() argument
1745 struct multipath *m = ti->private; in multipath_postsuspend()
1755 static void multipath_resume(struct dm_target *ti) in multipath_resume() argument
1757 struct multipath *m = ti->private; in multipath_resume()
1767 dm_table_device_name(m->ti->table), __func__, in multipath_resume()
1790 static void multipath_status(struct dm_target *ti, status_type_t type, in multipath_status() argument
1795 struct multipath *m = ti->private; in multipath_status()
1911 DMEMIT_TARGET_NAME_VERSION(ti->type); in multipath_status()
1950 static int multipath_message(struct dm_target *ti, unsigned argc, char **argv, in multipath_message() argument
1955 struct multipath *m = ti->private; in multipath_message()
1961 if (dm_suspended(ti)) { in multipath_message()
2003 r = dm_get_device(ti, argv[1], dm_table_get_mode(ti->table), &dev); in multipath_message()
2012 dm_put_device(ti, dev); in multipath_message()
2019 static int multipath_prepare_ioctl(struct dm_target *ti, in multipath_prepare_ioctl() argument
2022 struct multipath *m = ti->private; in multipath_prepare_ioctl()
2057 dm_table_run_md_queue_async(m->ti->table); in multipath_prepare_ioctl()
2064 if (!r && ti->len != i_size_read((*bdev)->bd_inode) >> SECTOR_SHIFT) in multipath_prepare_ioctl()
2069 static int multipath_iterate_devices(struct dm_target *ti, in multipath_iterate_devices() argument
2072 struct multipath *m = ti->private; in multipath_iterate_devices()
2079 ret = fn(ti, p->path.dev, ti->begin, ti->len, data); in multipath_iterate_devices()
2104 static int multipath_busy(struct dm_target *ti) in multipath_busy() argument
2107 struct multipath *m = ti->private; in multipath_busy()