Lines Matching refs:idx_tab

136 static void sa_idx_tab_hold(objset_t *os, sa_idx_tab_t *idx_tab);
1167 sa_idx_tab_t *idx_tab = userp; in sa_build_idx_tab() local
1170 ASSERT(idx_tab->sa_variable_lengths); in sa_build_idx_tab()
1171 idx_tab->sa_variable_lengths[length_idx] = length; in sa_build_idx_tab()
1173 TOC_ATTR_ENCODE(idx_tab->sa_idx_tab[attr], length_idx, in sa_build_idx_tab()
1286 sa_idx_tab_t *idx_tab; in sa_build_index() local
1307 idx_tab = sa_find_idx_tab(hdl->sa_os, bonustype, sa_hdr_phys); in sa_build_index()
1310 hdl->sa_bonus_tab = idx_tab; in sa_build_index()
1312 hdl->sa_spill_tab = idx_tab; in sa_build_index()
1329 sa_idx_tab_t *idx_tab = arg; in sa_idx_tab_rele() local
1331 if (idx_tab == NULL) in sa_idx_tab_rele()
1335 if (zfs_refcount_remove(&idx_tab->sa_refcount, NULL) == 0) { in sa_idx_tab_rele()
1336 list_remove(&idx_tab->sa_layout->lot_idx_tab, idx_tab); in sa_idx_tab_rele()
1337 if (idx_tab->sa_variable_lengths) in sa_idx_tab_rele()
1338 kmem_free(idx_tab->sa_variable_lengths, in sa_idx_tab_rele()
1340 idx_tab->sa_layout->lot_var_sizes); in sa_idx_tab_rele()
1341 zfs_refcount_destroy(&idx_tab->sa_refcount); in sa_idx_tab_rele()
1342 kmem_free(idx_tab->sa_idx_tab, in sa_idx_tab_rele()
1344 kmem_free(idx_tab, sizeof (sa_idx_tab_t)); in sa_idx_tab_rele()
1350 sa_idx_tab_hold(objset_t *os, sa_idx_tab_t *idx_tab) in sa_idx_tab_hold() argument
1355 (void) zfs_refcount_add(&idx_tab->sa_refcount, NULL); in sa_idx_tab_hold()
1759 sa_idx_tab_t *idx_tab; in sa_find_idx_tab() local
1787 for (idx_tab = list_head(&tb->lot_idx_tab); idx_tab; in sa_find_idx_tab()
1788 idx_tab = list_next(&tb->lot_idx_tab, idx_tab)) { in sa_find_idx_tab()
1793 idx_tab->sa_variable_lengths != NULL) { in sa_find_idx_tab()
1796 idx_tab->sa_variable_lengths[i]) { in sa_find_idx_tab()
1803 sa_idx_tab_hold(os, idx_tab); in sa_find_idx_tab()
1804 return (idx_tab); in sa_find_idx_tab()
1809 idx_tab = kmem_zalloc(sizeof (sa_idx_tab_t), KM_SLEEP); in sa_find_idx_tab()
1810 idx_tab->sa_idx_tab = in sa_find_idx_tab()
1812 idx_tab->sa_layout = tb; in sa_find_idx_tab()
1813 zfs_refcount_create(&idx_tab->sa_refcount); in sa_find_idx_tab()
1815 idx_tab->sa_variable_lengths = kmem_alloc(sizeof (uint16_t) * in sa_find_idx_tab()
1819 tb, idx_tab); in sa_find_idx_tab()
1820 sa_idx_tab_hold(os, idx_tab); /* one hold for consumer */ in sa_find_idx_tab()
1821 sa_idx_tab_hold(os, idx_tab); /* one for layout */ in sa_find_idx_tab()
1822 list_insert_tail(&tb->lot_idx_tab, idx_tab); in sa_find_idx_tab()
1823 return (idx_tab); in sa_find_idx_tab()
1926 sa_idx_tab_t *idx_tab; in sa_modify_attrs() local
1980 idx_tab = SA_IDX_TAB_GET(hdl, SA_BONUS); in sa_modify_attrs()
1990 attr = idx_tab->sa_layout->lot_attrs[i]; in sa_modify_attrs()
2023 (TOC_OFF(idx_tab->sa_idx_tab[attr]) + in sa_modify_attrs()
2029 idx_tab = SA_IDX_TAB_GET(hdl, SA_SPILL); in sa_modify_attrs()