Lines Matching refs:tb
408 sa_lot_t *tb, *findtb; in sa_add_layout_entry() local
413 tb = kmem_zalloc(sizeof (sa_lot_t), KM_SLEEP); in sa_add_layout_entry()
414 tb->lot_attr_count = attr_count; in sa_add_layout_entry()
415 tb->lot_attrs = kmem_alloc(sizeof (sa_attr_type_t) * attr_count, in sa_add_layout_entry()
417 bcopy(attrs, tb->lot_attrs, sizeof (sa_attr_type_t) * attr_count); in sa_add_layout_entry()
418 tb->lot_num = lot_num; in sa_add_layout_entry()
419 tb->lot_hash = hash; in sa_add_layout_entry()
420 tb->lot_instance = 0; in sa_add_layout_entry()
437 list_create(&tb->lot_idx_tab, sizeof (sa_idx_tab_t), in sa_add_layout_entry()
441 if (sa->sa_attr_table[tb->lot_attrs[i]].sa_length == 0) in sa_add_layout_entry()
442 tb->lot_var_sizes++; in sa_add_layout_entry()
445 avl_add(&sa->sa_layout_num_tree, tb); in sa_add_layout_entry()
448 if ((findtb = avl_find(&sa->sa_layout_hash_tree, tb, &loc)) != NULL) { in sa_add_layout_entry()
451 if (findtb->lot_instance != tb->lot_instance) in sa_add_layout_entry()
453 tb->lot_instance++; in sa_add_layout_entry()
456 avl_add(&sa->sa_layout_hash_tree, tb); in sa_add_layout_entry()
457 return (tb); in sa_add_layout_entry()
464 sa_lot_t *tb, tbsearch; in sa_find_layout() local
472 tb = avl_find(&sa->sa_layout_hash_tree, &tbsearch, &loc); in sa_find_layout()
473 if (tb) { in sa_find_layout()
474 for (; tb && tb->lot_hash == hash; in sa_find_layout()
475 tb = AVL_NEXT(&sa->sa_layout_hash_tree, tb)) { in sa_find_layout()
476 if (sa_layout_equal(tb, attrs, count) == 0) { in sa_find_layout()
483 tb = sa_add_layout_entry(os, attrs, count, in sa_find_layout()
487 *lot = tb; in sa_find_layout()
835 sa_attr_table_t *tb; in sa_attr_table_setup() local
901 tb = sa->sa_attr_table = in sa_attr_table_setup()
918 tb[ATTR_NUM(value)].sa_attr = ATTR_NUM(value); in sa_attr_table_setup()
919 tb[ATTR_NUM(value)].sa_length = ATTR_LENGTH(value); in sa_attr_table_setup()
920 tb[ATTR_NUM(value)].sa_byteswap = ATTR_BSWAP(value); in sa_attr_table_setup()
921 tb[ATTR_NUM(value)].sa_registered = B_TRUE; in sa_attr_table_setup()
923 if (tb[ATTR_NUM(value)].sa_name) { in sa_attr_table_setup()
926 tb[ATTR_NUM(value)].sa_name = in sa_attr_table_setup()
928 (void) strlcpy(tb[ATTR_NUM(value)].sa_name, za.za_name, in sa_attr_table_setup()
945 if (tb[i].sa_name) in sa_attr_table_setup()
947 tb[i].sa_attr = sa_legacy_attrs[i].sa_attr; in sa_attr_table_setup()
948 tb[i].sa_length = sa_legacy_attrs[i].sa_length; in sa_attr_table_setup()
949 tb[i].sa_byteswap = sa_legacy_attrs[i].sa_byteswap; in sa_attr_table_setup()
950 tb[i].sa_registered = B_FALSE; in sa_attr_table_setup()
951 tb[i].sa_name = in sa_attr_table_setup()
954 (void) strlcpy(tb[i].sa_name, in sa_attr_table_setup()
964 if (tb[attr_id].sa_name) in sa_attr_table_setup()
967 tb[attr_id].sa_length = reg_attrs[i].sa_length; in sa_attr_table_setup()
968 tb[attr_id].sa_byteswap = reg_attrs[i].sa_byteswap; in sa_attr_table_setup()
969 tb[attr_id].sa_attr = attr_id; in sa_attr_table_setup()
970 tb[attr_id].sa_name = in sa_attr_table_setup()
972 (void) strlcpy(tb[attr_id].sa_name, reg_attrs[i].sa_name, in sa_attr_table_setup()
995 sa_attr_type_t *tb; in sa_setup() local
1002 tb = os->os_sa->sa_user_table; in sa_setup()
1004 *user_table = tb; in sa_setup()
1169 sa_lot_t *tb = tab; in sa_attr_iter() local
1179 tb = avl_find(&sa->sa_layout_num_tree, &search, &loc); in sa_attr_iter()
1180 ASSERT(tb); in sa_attr_iter()
1186 (sizeof (uint16_t) * tb->lot_var_sizes)), 8); in sa_attr_iter()
1192 for (i = 0; i != tb->lot_attr_count; i++) { in sa_attr_iter()
1196 reg_length = sa->sa_attr_table[tb->lot_attrs[i]].sa_length; in sa_attr_iter()
1205 func(hdr, data_start, tb->lot_attrs[i], attr_length, in sa_attr_iter()
1493 sa_lot_t *tb, search; in sa_find_idx_tab() local
1507 tb = avl_find(&sa->sa_layout_num_tree, &search, &loc); in sa_find_idx_tab()
1510 ASSERT(tb); in sa_find_idx_tab()
1512 SA_HDR_SIZE_MATCH_LAYOUT(hdr, tb) || !IS_SA_BONUSTYPE(bonustype) || in sa_find_idx_tab()
1519 for (idx_tab = list_head(&tb->lot_idx_tab); idx_tab; in sa_find_idx_tab()
1520 idx_tab = list_next(&tb->lot_idx_tab, idx_tab)) { in sa_find_idx_tab()
1524 if (tb->lot_var_sizes != 0 && in sa_find_idx_tab()
1526 for (i = 0; i != tb->lot_var_sizes; i++) { in sa_find_idx_tab()
1544 idx_tab->sa_layout = tb; in sa_find_idx_tab()
1546 if (tb->lot_var_sizes) in sa_find_idx_tab()
1548 tb->lot_var_sizes, KM_SLEEP); in sa_find_idx_tab()
1551 tb, idx_tab); in sa_find_idx_tab()
1554 list_insert_tail(&tb->lot_idx_tab, idx_tab); in sa_find_idx_tab()
1573 sa_attr_table_t *tb = sa->sa_attr_table; in sa_attr_register_sync() local
1591 ATTR_ENCODE(attr_value, tb[i].sa_attr, tb[i].sa_length, in sa_attr_register_sync()
1592 tb[i].sa_byteswap); in sa_attr_register_sync()
1594 tb[i].sa_name, 8, 1, &attr_value, tx)); in sa_attr_register_sync()
1595 tb[i].sa_registered = B_TRUE; in sa_attr_register_sync()