Lines Matching defs:iodev
38 static void insert_iodev(struct snapshot *ss, struct iodev_snapshot *iodev);
98 find_parent(struct snapshot *ss, struct iodev_snapshot *iodev)
100 enum iodev_type parent_type = parent_iodev_type(iodev->is_type);
107 if (iodev->is_parent_id.id == IODEV_NO_ID &&
108 iodev->is_parent_id.tid[0] == '\0')
115 if (pos->is_id.id != iodev->is_parent_id.id)
123 pos = make_controller(iodev->is_parent_id.id);
130 if (id_match(&iodev->is_parent_id, &pos->is_id) &&
138 if (id_match(&iodev->is_parent_id, &pos2->is_id))
267 insert_into(struct iodev_snapshot **list, struct iodev_snapshot *iodev)
275 *list = iodev;
276 ix_new_list(iodev);
289 p = avl_find(l, iodev, &where);
299 if (iodev_cmp(tmp, iodev) > 0) {
300 insert_before(list, tmp, iodev);
310 insert_after(list, tmp, iodev);
327 insert_iodev(struct snapshot *ss, struct iodev_snapshot *iodev)
329 struct iodev_snapshot *parent = find_parent(ss, iodev);
340 insert_into(list, iodev);
541 struct iodev_snapshot *iodev;
561 iodev = find_iodev_by_name(ss->s_iodevs, kstat_name);
563 if (iodev == NULL)
568 if (kstat_copy(ksp, &iodev->is_errors) == -1)
576 get_ids(struct iodev_snapshot *iodev, const char *pretty)
609 if (ret == 2 && iodev->is_type == IODEV_PARTITION) {
610 iodev->is_id.id = slice;
611 iodev->is_parent_id.id = disk;
612 (void) strlcpy(iodev->is_parent_id.tid, target, KSTAT_STRLEN);
614 if (iodev->is_type == IODEV_DISK) {
615 iodev->is_id.id = disk;
616 (void) strlcpy(iodev->is_id.tid, target, KSTAT_STRLEN);
617 iodev->is_parent_id.id = ctr;
618 } else if (iodev->is_type == IODEV_IOPATH_LTI) {
619 iodev->is_parent_id.id = disk;
620 (void) strlcpy(iodev->is_parent_id.tid,
629 get_pretty_name(enum snapshot_types types, struct iodev_snapshot *iodev,
635 if (iodev->is_type == IODEV_NFS) {
639 iodev->is_pretty = lookup_nfs_name(iodev->is_name, kc);
644 dl = lookup_ks_name(iodev->is_name, (types & SNAP_IODEV_DEVID) ? 1 : 0);
653 iodev->is_dname = safe_strdup(dl->dname);
657 iodev->is_devid = safe_strdup(dl->devidstr);
659 get_ids(iodev, pretty);
665 iodev->is_pretty = pretty;
1103 free_iodev(struct iodev_snapshot *iodev)
1105 while (iodev->is_children) {
1106 struct iodev_snapshot *tmp = iodev->is_children;
1107 iodev->is_children = iodev->is_children->is_next;
1111 if (iodev->avl_list) {
1112 avl_remove(iodev->avl_list, iodev);
1113 if (avl_numnodes(iodev->avl_list) == 0) {
1114 avl_destroy(iodev->avl_list);
1115 free(iodev->avl_list);
1119 free(iodev->is_errors.ks_data);
1120 free(iodev->is_pretty);
1121 free(iodev->is_dname);
1122 free(iodev->is_devid);
1123 free(iodev);