sa_attr_type_t
static sa_attr_type_t *sa_attr_table = NULL;
sa_attr_type_t *lot_attrs;
lot_attrs = kmem_zalloc(sizeof (sa_attr_type_t) *
kmem_free(lot_attrs, sizeof (sa_attr_type_t) *
kmem_free(lot_attrs, sizeof (sa_attr_type_t) *
sizeof (sa_attr_type_t) * layout->lot_attr_count);
sa_build_idx_tab(void *hdr, void *attr_addr, sa_attr_type_t attr,
sa_byteswap_cb(void *hdr, void *attr_addr, sa_attr_type_t attr,
typedef void (sa_iterfunc_t)(void *hdr, void *addr, sa_attr_type_t,
sa_lookup_locked(sa_handle_t *hdl, sa_attr_type_t attr, void *buf,
static int sa_modify_attrs(sa_handle_t *hdl, sa_attr_type_t newattr,
sa_lookup(sa_handle_t *hdl, sa_attr_type_t attr, void *buf, uint32_t buflen)
sa_lookup_uio(sa_handle_t *hdl, sa_attr_type_t attr, uio_t *uio)
sa_modify_attrs(sa_handle_t *hdl, sa_attr_type_t newattr,
sa_attr_type_t attr;
sa_update(sa_handle_t *hdl, sa_attr_type_t type,
sa_update_from_cb(sa_handle_t *hdl, sa_attr_type_t attr,
sa_size(sa_handle_t *hdl, sa_attr_type_t attr, int *size)
sa_attr_type_t sa_legacy_zpl_layout[] = {
sa_remove(sa_handle_t *hdl, sa_attr_type_t attr, dmu_tx_t *tx)
sa_attr_type_t sa_dummy_zpl_layout[] = { 0 };
sa_layout_equal(sa_lot_t *tbf, sa_attr_type_t *attrs, int count)
sa_layout_info_hash(sa_attr_type_t *attrs, int attr_count)
sa_add_layout_entry(objset_t *os, sa_attr_type_t *attrs, int attr_count,
if ((size = sizeof (sa_attr_type_t) * attr_count) != 0) {
sa_find_layout(objset_t *os, uint64_t hash, sa_attr_type_t *attrs,
sa_attr_type_t *attrs, *attrs_start;
attrs_start = attrs = kmem_alloc(sizeof (sa_attr_type_t) * attr_count,
kmem_free(attrs, sizeof (sa_attr_type_t) * attr_count);
kmem_zalloc(count * sizeof (sa_attr_type_t), KM_SLEEP);
sa->sa_user_table_sz = count * sizeof (sa_attr_type_t);
sa->sa_user_table[i] = (sa_attr_type_t)sa_attr_count;
sa_attr_type_t attr_id;
kmem_free(sa->sa_user_table, count * sizeof (sa_attr_type_t));
sa_attr_type_t **user_table)
sa_attr_type_t *tb;
int sa_lookup(sa_handle_t *, sa_attr_type_t, void *buf, uint32_t buflen);
int sa_update(sa_handle_t *, sa_attr_type_t, void *buf,
int sa_remove(sa_handle_t *, sa_attr_type_t, dmu_tx_t *);
int sa_size(sa_handle_t *, sa_attr_type_t, int *);
int sa_update_from_cb(sa_handle_t *, sa_attr_type_t,
boolean_t sa_attr_would_spill(sa_handle_t *, sa_attr_type_t, int size);
int sa_setup(objset_t *, uint64_t, sa_attr_reg_t *, int, sa_attr_type_t **);
int sa_lookup_uio(sa_handle_t *, sa_attr_type_t, uio_t *);
sa_attr_type_t sa_attr; /* filled in during registration */
sa_attr_type_t sa_attr;
sa_attr_type_t *lot_attrs; /* array of attr #'s */
sa_attr_type_t *sa_user_table; /* user name->attr mapping table */
int sa_add_impl(sa_handle_t *, sa_attr_type_t,
int sa_size_locked(sa_handle_t *, sa_attr_type_t, int *);
int sa_attr_size(sa_os_t *, sa_idx_tab_t *, sa_attr_type_t,
sa_attr_type_t sa_attr;
sa_attr_type_t *z_attr_table; /* SA attr mapping->id */
zfs_sa_setup(objset_t *osp, sa_attr_type_t **sa_table)
zfs_obj_to_pobj(objset_t *osp, sa_handle_t *hdl, sa_attr_type_t *sa_table,
zfs_obj_to_stats_impl(sa_handle_t *hdl, sa_attr_type_t *sa_table,
sa_attr_type_t *sa_table, char *buf, int len)
sa_attr_type_t *sa_table;
sa_attr_type_t *sa_table;