Lines Matching refs:ti
63 struct dm_target *ti; member
147 static struct raid_set *context_alloc(struct dm_target *ti, struct raid_type *raid_type, unsigned r… in context_alloc() argument
153 ti->error = "Insufficient number of devices"; in context_alloc()
159 ti->error = "Cannot allocate raid context"; in context_alloc()
165 rs->ti = ti; in context_alloc()
196 dm_put_device(rs->ti, rs->dev[i].meta_dev); in context_free()
199 dm_put_device(rs->ti, rs->dev[i].data_dev); in context_free()
242 ret = dm_get_device(rs->ti, argv[0], in dev_parms()
243 dm_table_get_mode(rs->ti->table), in dev_parms()
245 rs->ti->error = "RAID metadata device lookup failure"; in dev_parms()
257 rs->ti->error = "Drive designated for rebuild not specified"; in dev_parms()
261 rs->ti->error = "No data device supplied with metadata device"; in dev_parms()
268 ret = dm_get_device(rs->ti, argv[1], in dev_parms()
269 dm_table_get_mode(rs->ti->table), in dev_parms()
272 rs->ti->error = "RAID device lookup failure"; in dev_parms()
303 rs->ti->error = "RAID device lookup failure"; in dev_parms()
322 unsigned long min_region_size = rs->ti->len / (1 << 21); in validate_region_size()
341 if (region_size > rs->ti->len) { in validate_region_size()
342 rs->ti->error = "Supplied region size is too large"; in validate_region_size()
349 rs->ti->error = "Supplied region size is too small"; in validate_region_size()
354 rs->ti->error = "Region size is not a power of 2"; in validate_region_size()
359 rs->ti->error = "Region size is smaller than the chunk size"; in validate_region_size()
502 sector_t sectors_per_dev = rs->ti->len; in parse_raid_params()
511 rs->ti->error = "Bad chunk size"; in parse_raid_params()
518 rs->ti->error = "Chunk size must be a power of 2"; in parse_raid_params()
521 rs->ti->error = "Chunk size value is too small"; in parse_raid_params()
568 rs->ti->error = "Wrong number of raid parameters given"; in parse_raid_params()
577 rs->ti->error = "'raid10_format' is an invalid parameter for this RAID type"; in parse_raid_params()
583 rs->ti->error = "Invalid 'raid10_format' value given"; in parse_raid_params()
592 rs->ti->error = "Bad numerical argument given in raid params"; in parse_raid_params()
599 rs->ti->error = "Invalid rebuild index given"; in parse_raid_params()
607 rs->ti->error = "write_mostly option is only valid for RAID1"; in parse_raid_params()
611 rs->ti->error = "Invalid write_mostly drive index given"; in parse_raid_params()
617 rs->ti->error = "max_write_behind option is only valid for RAID1"; in parse_raid_params()
628 rs->ti->error = "Max write-behind limit out of range"; in parse_raid_params()
635 rs->ti->error = "daemon sleep period out of range"; in parse_raid_params()
650 rs->ti->error = "Inappropriate argument: stripe_cache"; in parse_raid_params()
654 rs->ti->error = "Bad stripe_cache size"; in parse_raid_params()
660 rs->ti->error = "min_recovery_rate out of range"; in parse_raid_params()
667 rs->ti->error = "max_recovery_rate out of range"; in parse_raid_params()
677 rs->ti->error = "Bad value for 'raid10_copies'"; in parse_raid_params()
684 rs->ti->error = "Unable to parse RAID parameters"; in parse_raid_params()
697 if (dm_set_target_max_io_len(rs->ti, max_io_len)) in parse_raid_params()
702 rs->ti->error = "Not enough devices to satisfy specification"; in parse_raid_params()
711 rs->ti->error = "Too many copies for given RAID10 format."; in parse_raid_params()
716 sectors_per_dev = rs->ti->len * raid10_copies; in parse_raid_params()
725 rs->ti->error = "Target length not divisible by number of data devices"; in parse_raid_params()
741 dm_table_event(rs->ti->table); in do_table_event()
1008 rs->ti->error = "Cannot change device " in super_init_validation()
1065 static int analyse_superblocks(struct dm_target *ti, struct raid_set *rs) in analyse_superblocks() argument
1101 dm_put_device(ti, dev->meta_dev); in analyse_superblocks()
1120 dm_put_device(ti, dev->data_dev); in analyse_superblocks()
1133 rs->ti->error = "Insufficient redundancy to activate array"; in analyse_superblocks()
1141 ti->error = "Unable to assemble array: Invalid superblocks"; in analyse_superblocks()
1156 static void configure_discard_support(struct dm_target *ti, struct raid_set *rs) in configure_discard_support() argument
1162 ti->discards_supported = false; in configure_discard_support()
1189 ti->discards_supported = true; in configure_discard_support()
1195 ti->split_discard_bios = !!(rs->md.level == 1 || rs->md.level == 10); in configure_discard_support()
1196 ti->num_discard_bios = 1; in configure_discard_support()
1208 static int raid_ctr(struct dm_target *ti, unsigned argc, char **argv) in raid_ctr() argument
1217 ti->error = "Too few arguments"; in raid_ctr()
1224 ti->error = "Unrecognised raid_type"; in raid_ctr()
1232 ti->error = "Cannot understand number of RAID parameters"; in raid_ctr()
1240 ti->error = "Arguments do not agree with counts given"; in raid_ctr()
1246 ti->error = "Cannot understand number of raid devices"; in raid_ctr()
1252 ti->error = "Supplied RAID devices does not match the count given"; in raid_ctr()
1256 rs = context_alloc(ti, rt, (unsigned)num_raid_devs); in raid_ctr()
1271 ret = analyse_superblocks(ti, rs); in raid_ctr()
1276 ti->private = rs; in raid_ctr()
1277 ti->num_flush_bios = 1; in raid_ctr()
1282 configure_discard_support(ti, rs); in raid_ctr()
1290 ti->error = "Fail to run raid array"; in raid_ctr()
1294 if (ti->len != rs->md.array_sectors) { in raid_ctr()
1295 ti->error = "Array size does not match requested target length"; in raid_ctr()
1300 dm_table_add_target_callbacks(ti->table, &rs->callbacks); in raid_ctr()
1313 static void raid_dtr(struct dm_target *ti) in raid_dtr() argument
1315 struct raid_set *rs = ti->private; in raid_dtr()
1322 static int raid_map(struct dm_target *ti, struct bio *bio) in raid_map() argument
1324 struct raid_set *rs = ti->private; in raid_map()
1357 static void raid_status(struct dm_target *ti, status_type_t type, in raid_status() argument
1360 struct raid_set *rs = ti->private; in raid_status()
1530 static int raid_message(struct dm_target *ti, unsigned argc, char **argv) in raid_message() argument
1532 struct raid_set *rs = ti->private; in raid_message()
1584 static int raid_iterate_devices(struct dm_target *ti, in raid_iterate_devices() argument
1587 struct raid_set *rs = ti->private; in raid_iterate_devices()
1593 ret = fn(ti, in raid_iterate_devices()
1602 static void raid_io_hints(struct dm_target *ti, struct queue_limits *limits) in raid_io_hints() argument
1604 struct raid_set *rs = ti->private; in raid_io_hints()
1612 static void raid_presuspend(struct dm_target *ti) in raid_presuspend() argument
1614 struct raid_set *rs = ti->private; in raid_presuspend()
1619 static void raid_postsuspend(struct dm_target *ti) in raid_postsuspend() argument
1621 struct raid_set *rs = ti->private; in raid_postsuspend()
1682 static void raid_resume(struct dm_target *ti) in raid_resume() argument
1684 struct raid_set *rs = ti->private; in raid_resume()