Lines Matching refs:ti

277 static int device_area_is_invalid(struct dm_target *ti, struct dm_dev *dev,  in device_area_is_invalid()  argument
298 dm_device_name(ti->table->md), bdevname(bdev, b), in device_area_is_invalid()
311 dm_device_name(ti->table->md), bdevname(bdev, b), in device_area_is_invalid()
324 dm_device_name(ti->table->md), in device_area_is_invalid()
333 dm_device_name(ti->table->md), in device_area_is_invalid()
371 int dm_get_device(struct dm_target *ti, const char *path, fmode_t mode, in dm_get_device() argument
377 struct dm_table *t = ti->table; in dm_get_device()
419 static int dm_set_device_limits(struct dm_target *ti, struct dm_dev *dev, in dm_set_device_limits() argument
429 dm_device_name(ti->table->md), bdevname(bdev, b)); in dm_set_device_limits()
437 dm_device_name(ti->table->md), bdevname(bdev, b), in dm_set_device_limits()
448 if (dm_queue_merge_is_compulsory(q) && !ti->type->merge) in dm_set_device_limits()
457 void dm_put_device(struct dm_target *ti, struct dm_dev *d) in dm_put_device() argument
460 struct list_head *devices = &ti->table->devices; in dm_put_device()
471 dm_device_name(ti->table->md), d->name); in dm_put_device()
475 dm_put_table_device(ti->table->md, d); in dm_put_device()
485 static int adjoin(struct dm_table *table, struct dm_target *ti) in adjoin() argument
490 return !ti->begin; in adjoin()
493 return (ti->begin == (prev->begin + prev->len)); in adjoin()
620 struct dm_target *uninitialized_var(ti); in validate_hardware_logical_block_alignment()
628 ti = dm_table_get_target(table, i++); in validate_hardware_logical_block_alignment()
633 if (ti->type->iterate_devices) in validate_hardware_logical_block_alignment()
634 ti->type->iterate_devices(ti, dm_set_device_limits, in validate_hardware_logical_block_alignment()
641 if (remaining < ti->len && in validate_hardware_logical_block_alignment()
647 (unsigned short) ((next_target_start + ti->len) & in validate_hardware_logical_block_alignment()
657 (unsigned long long) ti->begin, in validate_hardware_logical_block_alignment()
658 (unsigned long long) ti->len, in validate_hardware_logical_block_alignment()
1198 static int count_device(struct dm_target *ti, struct dm_dev *dev, in count_device() argument
1216 struct dm_target *uninitialized_var(ti); in dm_table_has_no_data_devices()
1220 ti = dm_table_get_target(table, i++); in dm_table_has_no_data_devices()
1222 if (!ti->type->iterate_devices) in dm_table_has_no_data_devices()
1225 ti->type->iterate_devices(ti, count_device, &num_devices); in dm_table_has_no_data_devices()
1239 struct dm_target *uninitialized_var(ti); in dm_calculate_queue_limits()
1248 ti = dm_table_get_target(table, i++); in dm_calculate_queue_limits()
1250 if (!ti->type->iterate_devices) in dm_calculate_queue_limits()
1256 ti->type->iterate_devices(ti, dm_set_device_limits, in dm_calculate_queue_limits()
1260 if (ti->type->io_hints) in dm_calculate_queue_limits()
1261 ti->type->io_hints(ti, &ti_limits); in dm_calculate_queue_limits()
1267 if (ti->type->iterate_devices(ti, device_area_is_invalid, in dm_calculate_queue_limits()
1281 (unsigned long long) ti->begin, in dm_calculate_queue_limits()
1282 (unsigned long long) ti->len); in dm_calculate_queue_limits()
1314 static int device_flush_capable(struct dm_target *ti, struct dm_dev *dev, in device_flush_capable() argument
1325 struct dm_target *ti; in dm_table_supports_flush() local
1335 ti = dm_table_get_target(t, i++); in dm_table_supports_flush()
1337 if (!ti->num_flush_bios) in dm_table_supports_flush()
1340 if (ti->flush_supported) in dm_table_supports_flush()
1343 if (ti->type->iterate_devices && in dm_table_supports_flush()
1344 ti->type->iterate_devices(ti, device_flush_capable, &flush)) in dm_table_supports_flush()
1353 struct dm_target *ti; in dm_table_discard_zeroes_data() local
1358 ti = dm_table_get_target(t, i++); in dm_table_discard_zeroes_data()
1360 if (ti->discard_zeroes_data_unsupported) in dm_table_discard_zeroes_data()
1367 static int device_is_nonrot(struct dm_target *ti, struct dm_dev *dev, in device_is_nonrot() argument
1375 static int device_is_not_random(struct dm_target *ti, struct dm_dev *dev, in device_is_not_random() argument
1383 static int queue_supports_sg_merge(struct dm_target *ti, struct dm_dev *dev, in queue_supports_sg_merge() argument
1391 static int queue_supports_sg_gaps(struct dm_target *ti, struct dm_dev *dev, in queue_supports_sg_gaps() argument
1402 struct dm_target *ti; in dm_table_all_devices_attribute() local
1406 ti = dm_table_get_target(t, i++); in dm_table_all_devices_attribute()
1408 if (!ti->type->iterate_devices || in dm_table_all_devices_attribute()
1409 !ti->type->iterate_devices(ti, func, NULL)) in dm_table_all_devices_attribute()
1416 static int device_not_write_same_capable(struct dm_target *ti, struct dm_dev *dev, in device_not_write_same_capable() argument
1426 struct dm_target *ti; in dm_table_supports_write_same() local
1430 ti = dm_table_get_target(t, i++); in dm_table_supports_write_same()
1432 if (!ti->num_write_same_bios) in dm_table_supports_write_same()
1435 if (!ti->type->iterate_devices || in dm_table_supports_write_same()
1436 ti->type->iterate_devices(ti, device_not_write_same_capable, NULL)) in dm_table_supports_write_same()
1443 static int device_discard_capable(struct dm_target *ti, struct dm_dev *dev, in device_discard_capable() argument
1453 struct dm_target *ti; in dm_table_supports_discards() local
1464 ti = dm_table_get_target(t, i++); in dm_table_supports_discards()
1466 if (!ti->num_discard_bios) in dm_table_supports_discards()
1469 if (ti->discards_supported) in dm_table_supports_discards()
1472 if (ti->type->iterate_devices && in dm_table_supports_discards()
1473 ti->type->iterate_devices(ti, device_discard_capable, NULL)) in dm_table_supports_discards()
1574 struct dm_target *ti = t->targets; in suspend_targets() local
1579 if (ti->type->presuspend) in suspend_targets()
1580 ti->type->presuspend(ti); in suspend_targets()
1583 if (ti->type->presuspend_undo) in suspend_targets()
1584 ti->type->presuspend_undo(ti); in suspend_targets()
1587 if (ti->type->postsuspend) in suspend_targets()
1588 ti->type->postsuspend(ti); in suspend_targets()
1591 ti++; in suspend_targets()
1624 struct dm_target *ti = t->targets + i; in dm_table_resume_targets() local
1626 if (!ti->type->preresume) in dm_table_resume_targets()
1629 r = ti->type->preresume(ti); in dm_table_resume_targets()
1632 dm_device_name(t->md), ti->type->name, r); in dm_table_resume_targets()
1638 struct dm_target *ti = t->targets + i; in dm_table_resume_targets() local
1640 if (ti->type->resume) in dm_table_resume_targets()
1641 ti->type->resume(ti); in dm_table_resume_targets()