Lines Matching refs:tgt
247 struct dm_target *tgt = t->targets + i; in dm_table_destroy() local
249 if (tgt->type->dtr) in dm_table_destroy()
250 tgt->type->dtr(tgt); in dm_table_destroy()
252 dm_put_target_type(tgt->type); in dm_table_destroy()
716 struct dm_target *tgt; in dm_table_add_target() local
726 tgt = t->targets + t->num_targets; in dm_table_add_target()
727 memset(tgt, 0, sizeof(*tgt)); in dm_table_add_target()
734 tgt->type = dm_get_target_type(type); in dm_table_add_target()
735 if (!tgt->type) { in dm_table_add_target()
740 if (dm_target_needs_singleton(tgt->type)) { in dm_table_add_target()
742 tgt->error = "singleton target type must appear alone in table"; in dm_table_add_target()
748 if (dm_target_always_writeable(tgt->type) && !(t->mode & FMODE_WRITE)) { in dm_table_add_target()
749 tgt->error = "target type may not be included in a read-only table"; in dm_table_add_target()
754 if (t->immutable_target_type != tgt->type) { in dm_table_add_target()
755 tgt->error = "immutable target type cannot be mixed with other target types"; in dm_table_add_target()
758 } else if (dm_target_is_immutable(tgt->type)) { in dm_table_add_target()
760 tgt->error = "immutable target type cannot be mixed with other target types"; in dm_table_add_target()
763 t->immutable_target_type = tgt->type; in dm_table_add_target()
766 if (dm_target_has_integrity(tgt->type)) in dm_table_add_target()
769 tgt->table = t; in dm_table_add_target()
770 tgt->begin = start; in dm_table_add_target()
771 tgt->len = len; in dm_table_add_target()
772 tgt->error = "Unknown error"; in dm_table_add_target()
777 if (!adjoin(t, tgt)) { in dm_table_add_target()
778 tgt->error = "Gap in table"; in dm_table_add_target()
784 tgt->error = "couldn't split parameters (insufficient memory)"; in dm_table_add_target()
788 r = tgt->type->ctr(tgt, argc, argv); in dm_table_add_target()
793 t->highs[t->num_targets++] = tgt->begin + tgt->len - 1; in dm_table_add_target()
795 if (!tgt->num_discard_bios && tgt->discards_supported) in dm_table_add_target()
802 DMERR("%s: %s: %s", dm_device_name(t->md), type, tgt->error); in dm_table_add_target()
803 dm_put_target_type(tgt->type); in dm_table_add_target()
937 struct dm_target *tgt; in dm_table_determine_type() local
953 tgt = t->targets + i; in dm_table_determine_type()
954 if (dm_target_hybrid(tgt)) in dm_table_determine_type()
956 else if (dm_target_request_based(tgt)) in dm_table_determine_type()
989 tgt = dm_table_get_immutable_target(t); in dm_table_determine_type()
990 if (tgt && !tgt->max_io_len && dm_table_does_not_support_partial_completion(t)) { in dm_table_determine_type()
1034 tgt = dm_table_get_immutable_target(t); in dm_table_determine_type()
1035 if (!tgt) { in dm_table_determine_type()
1038 } else if (tgt->max_io_len) { in dm_table_determine_type()
1044 if (!tgt->type->iterate_devices || in dm_table_determine_type()
1045 !tgt->type->iterate_devices(tgt, device_is_rq_based, &v)) { in dm_table_determine_type()