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()
391 int dm_get_device(struct dm_target *ti, const char *path, fmode_t mode, in dm_get_device() argument
397 struct dm_table *t = ti->table; in dm_get_device()
431 static int dm_set_device_limits(struct dm_target *ti, struct dm_dev *dev, in dm_set_device_limits() argument
441 dm_device_name(ti->table->md), bdevname(bdev, b)); in dm_set_device_limits()
449 dm_device_name(ti->table->md), bdevname(bdev, b), in dm_set_device_limits()
461 void dm_put_device(struct dm_target *ti, struct dm_dev *d) in dm_put_device() argument
464 struct list_head *devices = &ti->table->devices; in dm_put_device()
475 dm_device_name(ti->table->md), d->name); in dm_put_device()
479 dm_put_table_device(ti->table->md, d); in dm_put_device()
489 static int adjoin(struct dm_table *table, struct dm_target *ti) in adjoin() argument
494 return !ti->begin; in adjoin()
497 return (ti->begin == (prev->begin + prev->len)); in adjoin()
624 struct dm_target *uninitialized_var(ti); in validate_hardware_logical_block_alignment()
632 ti = dm_table_get_target(table, i++); in validate_hardware_logical_block_alignment()
637 if (ti->type->iterate_devices) in validate_hardware_logical_block_alignment()
638 ti->type->iterate_devices(ti, dm_set_device_limits, in validate_hardware_logical_block_alignment()
645 if (remaining < ti->len && in validate_hardware_logical_block_alignment()
651 (unsigned short) ((next_target_start + ti->len) & in validate_hardware_logical_block_alignment()
661 (unsigned long long) ti->begin, in validate_hardware_logical_block_alignment()
662 (unsigned long long) ti->len, in validate_hardware_logical_block_alignment()
1207 static int count_device(struct dm_target *ti, struct dm_dev *dev, in count_device() argument
1225 struct dm_target *uninitialized_var(ti); in dm_table_has_no_data_devices()
1229 ti = dm_table_get_target(table, i++); in dm_table_has_no_data_devices()
1231 if (!ti->type->iterate_devices) in dm_table_has_no_data_devices()
1234 ti->type->iterate_devices(ti, count_device, &num_devices); in dm_table_has_no_data_devices()
1248 struct dm_target *uninitialized_var(ti); in dm_calculate_queue_limits()
1257 ti = dm_table_get_target(table, i++); in dm_calculate_queue_limits()
1259 if (!ti->type->iterate_devices) in dm_calculate_queue_limits()
1265 ti->type->iterate_devices(ti, dm_set_device_limits, in dm_calculate_queue_limits()
1269 if (ti->type->io_hints) in dm_calculate_queue_limits()
1270 ti->type->io_hints(ti, &ti_limits); in dm_calculate_queue_limits()
1276 if (ti->type->iterate_devices(ti, device_area_is_invalid, in dm_calculate_queue_limits()
1290 (unsigned long long) ti->begin, in dm_calculate_queue_limits()
1291 (unsigned long long) ti->len); in dm_calculate_queue_limits()
1324 static int device_flush_capable(struct dm_target *ti, struct dm_dev *dev, in device_flush_capable() argument
1335 struct dm_target *ti; in dm_table_supports_flush() local
1345 ti = dm_table_get_target(t, i++); in dm_table_supports_flush()
1347 if (!ti->num_flush_bios) in dm_table_supports_flush()
1350 if (ti->flush_supported) in dm_table_supports_flush()
1353 if (ti->type->iterate_devices && in dm_table_supports_flush()
1354 ti->type->iterate_devices(ti, device_flush_capable, &flush)) in dm_table_supports_flush()
1363 struct dm_target *ti; in dm_table_discard_zeroes_data() local
1368 ti = dm_table_get_target(t, i++); in dm_table_discard_zeroes_data()
1370 if (ti->discard_zeroes_data_unsupported) in dm_table_discard_zeroes_data()
1377 static int device_is_nonrot(struct dm_target *ti, struct dm_dev *dev, in device_is_nonrot() argument
1385 static int device_is_not_random(struct dm_target *ti, struct dm_dev *dev, in device_is_not_random() argument
1393 static int queue_supports_sg_merge(struct dm_target *ti, struct dm_dev *dev, in queue_supports_sg_merge() argument
1404 struct dm_target *ti; in dm_table_all_devices_attribute() local
1408 ti = dm_table_get_target(t, i++); in dm_table_all_devices_attribute()
1410 if (!ti->type->iterate_devices || in dm_table_all_devices_attribute()
1411 !ti->type->iterate_devices(ti, func, NULL)) in dm_table_all_devices_attribute()
1418 static int device_not_write_same_capable(struct dm_target *ti, struct dm_dev *dev, in device_not_write_same_capable() argument
1428 struct dm_target *ti; in dm_table_supports_write_same() local
1432 ti = dm_table_get_target(t, i++); in dm_table_supports_write_same()
1434 if (!ti->num_write_same_bios) in dm_table_supports_write_same()
1437 if (!ti->type->iterate_devices || in dm_table_supports_write_same()
1438 ti->type->iterate_devices(ti, device_not_write_same_capable, NULL)) in dm_table_supports_write_same()
1445 static int device_discard_capable(struct dm_target *ti, struct dm_dev *dev, in device_discard_capable() argument
1455 struct dm_target *ti; in dm_table_supports_discards() local
1466 ti = dm_table_get_target(t, i++); in dm_table_supports_discards()
1468 if (!ti->num_discard_bios) in dm_table_supports_discards()
1471 if (ti->discards_supported) in dm_table_supports_discards()
1474 if (ti->type->iterate_devices && in dm_table_supports_discards()
1475 ti->type->iterate_devices(ti, device_discard_capable, NULL)) in dm_table_supports_discards()
1571 struct dm_target *ti = t->targets; in suspend_targets() local
1576 if (ti->type->presuspend) in suspend_targets()
1577 ti->type->presuspend(ti); in suspend_targets()
1580 if (ti->type->presuspend_undo) in suspend_targets()
1581 ti->type->presuspend_undo(ti); in suspend_targets()
1584 if (ti->type->postsuspend) in suspend_targets()
1585 ti->type->postsuspend(ti); in suspend_targets()
1588 ti++; in suspend_targets()
1621 struct dm_target *ti = t->targets + i; in dm_table_resume_targets() local
1623 if (!ti->type->preresume) in dm_table_resume_targets()
1626 r = ti->type->preresume(ti); in dm_table_resume_targets()
1629 dm_device_name(t->md), ti->type->name, r); in dm_table_resume_targets()
1635 struct dm_target *ti = t->targets + i; in dm_table_resume_targets() local
1637 if (ti->type->resume) in dm_table_resume_targets()
1638 ti->type->resume(ti); in dm_table_resume_targets()