Lines Matching refs:ti

55 	struct dm_target *ti;  member
161 return v->data_start + dm_target_offset(v->ti, bi_sector); in verity_map_sector()
203 struct mapped_device *md = dm_table_get_md(v->ti->table); in verity_handle_err()
351 v->ti->per_bio_data_size); in verity_verify_io()
453 struct bio *bio = dm_bio_from_per_bio_data(io, v->ti->per_bio_data_size); in verity_finish_io()
543 static int verity_map(struct dm_target *ti, struct bio *bio) in verity_map() argument
545 struct dm_verity *v = ti->private; in verity_map()
566 io = dm_per_bio_data(bio, ti->per_bio_data_size); in verity_map()
587 static void verity_status(struct dm_target *ti, status_type_t type, in verity_status() argument
590 struct dm_verity *v = ti->private; in verity_status()
634 static int verity_prepare_ioctl(struct dm_target *ti, in verity_prepare_ioctl() argument
637 struct dm_verity *v = ti->private; in verity_prepare_ioctl()
642 ti->len != i_size_read(v->data_dev->bdev->bd_inode) >> SECTOR_SHIFT) in verity_prepare_ioctl()
647 static int verity_iterate_devices(struct dm_target *ti, in verity_iterate_devices() argument
650 struct dm_verity *v = ti->private; in verity_iterate_devices()
652 return fn(ti, v->data_dev, v->data_start, ti->len, data); in verity_iterate_devices()
655 static void verity_io_hints(struct dm_target *ti, struct queue_limits *limits) in verity_io_hints() argument
657 struct dm_verity *v = ti->private; in verity_io_hints()
668 static void verity_dtr(struct dm_target *ti) in verity_dtr() argument
670 struct dm_verity *v = ti->private; in verity_dtr()
687 dm_put_device(ti, v->hash_dev); in verity_dtr()
690 dm_put_device(ti, v->data_dev); in verity_dtr()
709 static int verity_ctr(struct dm_target *ti, unsigned argc, char **argv) in verity_ctr() argument
727 ti->error = "Cannot allocate verity structure"; in verity_ctr()
730 ti->private = v; in verity_ctr()
731 v->ti = ti; in verity_ctr()
733 if ((dm_table_get_mode(ti->table) & ~FMODE_READ)) { in verity_ctr()
734 ti->error = "Device must be readonly"; in verity_ctr()
740 ti->error = "Not enough arguments"; in verity_ctr()
747 ti->error = "Invalid version"; in verity_ctr()
753 r = dm_get_device(ti, argv[1], FMODE_READ, &v->data_dev); in verity_ctr()
755 ti->error = "Data device lookup failed"; in verity_ctr()
759 r = dm_get_device(ti, argv[2], FMODE_READ, &v->hash_dev); in verity_ctr()
761 ti->error = "Data device lookup failed"; in verity_ctr()
769 ti->error = "Invalid data device block size"; in verity_ctr()
779 ti->error = "Invalid hash device block size"; in verity_ctr()
788 ti->error = "Invalid data blocks"; in verity_ctr()
794 if (ti->len > (v->data_blocks << (v->data_dev_block_bits - SECTOR_SHIFT))) { in verity_ctr()
795 ti->error = "Data device is too small"; in verity_ctr()
803 ti->error = "Invalid hash start"; in verity_ctr()
811 ti->error = "Cannot allocate algorithm name"; in verity_ctr()
818 ti->error = "Cannot initialize hash function"; in verity_ctr()
825 ti->error = "Digest size too big"; in verity_ctr()
834 ti->error = "Cannot allocate root digest"; in verity_ctr()
840 ti->error = "Invalid root digest"; in verity_ctr()
849 ti->error = "Cannot allocate salt"; in verity_ctr()
855 ti->error = "Invalid salt"; in verity_ctr()
869 r = dm_read_arg_group(_args, &as, &opt_params, &ti->error); in verity_ctr()
877 ti->error = "Not enough feature arguments"; in verity_ctr()
887 ti->error = "Invalid feature arguments"; in verity_ctr()
905 ti->error = "Too many tree levels"; in verity_ctr()
917 ti->error = "Hash device offset overflow"; in verity_ctr()
929 ti->error = "Cannot initialize dm-bufio"; in verity_ctr()
936 ti->error = "Hash device is too small"; in verity_ctr()
941ti->per_bio_data_size = roundup(sizeof(struct dm_verity_io) + v->shash_descsize + v->digest_size *… in verity_ctr()
946 ti->error = "Cannot allocate workqueue"; in verity_ctr()
954 verity_dtr(ti); in verity_ctr()