116
117 int sa_handle_get(objset_t *, uint64_t, void *userp,
118 sa_handle_type_t, sa_handle_t **);
119 int sa_handle_get_from_db(objset_t *, dmu_buf_t *, void *userp,
120 sa_handle_type_t, sa_handle_t **);
121 void sa_handle_destroy(sa_handle_t *);
122 int sa_buf_hold(objset_t *, uint64_t, void *, dmu_buf_t **);
123 void sa_buf_rele(dmu_buf_t *, void *);
124 int sa_lookup(sa_handle_t *, sa_attr_type_t, void *buf, uint32_t buflen);
125 int sa_update(sa_handle_t *, sa_attr_type_t, void *buf,
126 uint32_t buflen, dmu_tx_t *);
127 int sa_remove(sa_handle_t *, sa_attr_type_t, dmu_tx_t *);
128 int sa_bulk_lookup(sa_handle_t *, sa_bulk_attr_t *, int count);
129 int sa_bulk_lookup_locked(sa_handle_t *, sa_bulk_attr_t *, int count);
130 int sa_bulk_update(sa_handle_t *, sa_bulk_attr_t *, int count, dmu_tx_t *);
131 int sa_size(sa_handle_t *, sa_attr_type_t, int *);
132 int sa_update_from_cb(sa_handle_t *, sa_attr_type_t,
133 uint32_t buflen, sa_data_locator_t *, void *userdata, dmu_tx_t *);
134 void sa_object_info(sa_handle_t *, dmu_object_info_t *);
135 void sa_object_size(sa_handle_t *, uint32_t *, u_longlong_t *);
136 void sa_update_user(sa_handle_t *, sa_handle_t *);
137 void *sa_get_userdata(sa_handle_t *);
138 void sa_set_userp(sa_handle_t *, void *);
139 dmu_buf_t *sa_get_db(sa_handle_t *);
140 uint64_t sa_handle_object(sa_handle_t *);
141 boolean_t sa_attr_would_spill(sa_handle_t *, sa_attr_type_t, int size);
142 void sa_register_update_callback(objset_t *, sa_update_cb_t *);
143 int sa_setup(objset_t *, uint64_t, sa_attr_reg_t *, int, sa_attr_type_t **);
144 void sa_tear_down(objset_t *);
145 int sa_replace_all_by_template(sa_handle_t *, sa_bulk_attr_t *,
146 int, dmu_tx_t *);
147 int sa_replace_all_by_template_locked(sa_handle_t *, sa_bulk_attr_t *,
148 int, dmu_tx_t *);
149 boolean_t sa_enabled(objset_t *);
150 void sa_cache_init();
151 void sa_cache_fini();
152 int sa_set_sa_object(objset_t *, uint64_t);
153 int sa_hdrsize(void *);
154 void sa_handle_lock(sa_handle_t *);
155 void sa_handle_unlock(sa_handle_t *);
156
|
116
117 int sa_handle_get(objset_t *, uint64_t, void *userp,
118 sa_handle_type_t, sa_handle_t **);
119 int sa_handle_get_from_db(objset_t *, dmu_buf_t *, void *userp,
120 sa_handle_type_t, sa_handle_t **);
121 void sa_handle_destroy(sa_handle_t *);
122 int sa_buf_hold(objset_t *, uint64_t, void *, dmu_buf_t **);
123 void sa_buf_rele(dmu_buf_t *, void *);
124 int sa_lookup(sa_handle_t *, sa_attr_type_t, void *buf, uint32_t buflen);
125 int sa_update(sa_handle_t *, sa_attr_type_t, void *buf,
126 uint32_t buflen, dmu_tx_t *);
127 int sa_remove(sa_handle_t *, sa_attr_type_t, dmu_tx_t *);
128 int sa_bulk_lookup(sa_handle_t *, sa_bulk_attr_t *, int count);
129 int sa_bulk_lookup_locked(sa_handle_t *, sa_bulk_attr_t *, int count);
130 int sa_bulk_update(sa_handle_t *, sa_bulk_attr_t *, int count, dmu_tx_t *);
131 int sa_size(sa_handle_t *, sa_attr_type_t, int *);
132 int sa_update_from_cb(sa_handle_t *, sa_attr_type_t,
133 uint32_t buflen, sa_data_locator_t *, void *userdata, dmu_tx_t *);
134 void sa_object_info(sa_handle_t *, dmu_object_info_t *);
135 void sa_object_size(sa_handle_t *, uint32_t *, u_longlong_t *);
136 void *sa_get_userdata(sa_handle_t *);
137 void sa_set_userp(sa_handle_t *, void *);
138 dmu_buf_t *sa_get_db(sa_handle_t *);
139 uint64_t sa_handle_object(sa_handle_t *);
140 boolean_t sa_attr_would_spill(sa_handle_t *, sa_attr_type_t, int size);
141 void sa_register_update_callback(objset_t *, sa_update_cb_t *);
142 int sa_setup(objset_t *, uint64_t, sa_attr_reg_t *, int, sa_attr_type_t **);
143 void sa_tear_down(objset_t *);
144 int sa_replace_all_by_template(sa_handle_t *, sa_bulk_attr_t *,
145 int, dmu_tx_t *);
146 int sa_replace_all_by_template_locked(sa_handle_t *, sa_bulk_attr_t *,
147 int, dmu_tx_t *);
148 boolean_t sa_enabled(objset_t *);
149 void sa_cache_init();
150 void sa_cache_fini();
151 int sa_set_sa_object(objset_t *, uint64_t);
152 int sa_hdrsize(void *);
153 void sa_handle_lock(sa_handle_t *);
154 void sa_handle_unlock(sa_handle_t *);
155
|