Lines Matching refs:os
9 * or http://www.opensolaris.org/os/licensing.
133 static void sa_idx_tab_hold(objset_t *os, sa_idx_tab_t *idx_tab);
134 static void *sa_find_idx_tab(objset_t *os, dmu_object_type_t bonustype,
136 static void sa_idx_tab_rele(objset_t *os, void *arg);
405 sa_add_layout_entry(objset_t *os, sa_attr_type_t *attrs, int attr_count,
408 sa_os_t *sa = os->os_sa;
427 sa->sa_layout_attr_obj = zap_create_link(os,
434 VERIFY(0 == zap_update(os, os->os_sa->sa_layout_attr_obj,
462 sa_find_layout(objset_t *os, uint64_t hash, sa_attr_type_t *attrs,
467 sa_os_t *sa = os->os_sa;
484 tb = sa_add_layout_entry(os, attrs, count,
827 sa_attr_table_setup(objset_t *os, sa_attr_reg_t *reg_attrs, int count)
829 sa_os_t *sa = os->os_sa;
839 dmu_objset_type_t ostype = dmu_objset_type(os);
846 error = zap_count(os, sa->sa_reg_attr_obj,
882 error = zap_lookup(os, sa->sa_reg_attr_obj,
910 for (zap_cursor_init(&zc, os, sa->sa_reg_attr_obj);
987 sa_setup(objset_t *os, uint64_t sa_obj, sa_attr_reg_t *reg_attrs, int count,
993 dmu_objset_type_t ostype = dmu_objset_type(os);
997 mutex_enter(&os->os_user_ptr_lock);
998 if (os->os_sa) {
999 mutex_enter(&os->os_sa->sa_lock);
1000 mutex_exit(&os->os_user_ptr_lock);
1001 tb = os->os_sa->sa_user_table;
1002 mutex_exit(&os->os_sa->sa_lock);
1011 os->os_sa = sa;
1013 mutex_exit(&os->os_user_ptr_lock);
1020 error = zap_lookup(os, sa_obj, SA_LAYOUTS,
1024 error = zap_lookup(os, sa_obj, SA_REGISTRY,
1030 if ((error = sa_attr_table_setup(os, reg_attrs, count)) != 0)
1036 error = zap_count(os, sa->sa_layout_attr_obj,
1048 for (zap_cursor_init(&zc, os, sa->sa_layout_attr_obj);
1057 if ((error = (zap_lookup(os, sa->sa_layout_attr_obj,
1067 (void) sa_add_layout_entry(os, lot_attrs,
1088 (void) sa_add_layout_entry(os, sa_legacy_zpl_layout,
1093 (void) sa_add_layout_entry(os, sa_dummy_zpl_layout, 0, 1,
1096 *user_table = os->os_sa->sa_user_table;
1100 os->os_sa = NULL;
1113 sa_tear_down(objset_t *os)
1115 sa_os_t *sa = os->os_sa;
1130 sa_idx_tab_rele(os, tab);
1146 os->os_sa = NULL;
1164 sa_attr_iter(objset_t *os, sa_hdr_phys_t *hdr, dmu_object_type_t type,
1171 sa_os_t *sa = os->os_sa;
1305 sa_idx_tab_rele(objset_t *os, void *arg)
1307 sa_os_t *sa = os->os_sa;
1329 sa_idx_tab_hold(objset_t *os, sa_idx_tab_t *idx_tab)
1331 sa_os_t *sa = os->os_sa;
1361 sa_handle_get_from_db(objset_t *os, dmu_buf_t *db, void *userp,
1387 handle->sa_os = os;
1487 sa_find_idx_tab(objset_t *os, dmu_object_type_t bonustype, void *data)
1491 sa_os_t *sa = os->os_sa;
1534 sa_idx_tab_hold(os, idx_tab);
1549 sa_attr_iter(os, hdr, bonustype, sa_build_idx_tab,
1551 sa_idx_tab_hold(os, idx_tab); /* one hold for consumer */
1552 sa_idx_tab_hold(os, idx_tab); /* one for layout */
1952 sa_register_update_callback_locked(objset_t *os, sa_update_cb_t *func)
1954 ASSERT(MUTEX_HELD(&os->os_sa->sa_lock));
1955 os->os_sa->sa_update_cb = func;
1959 sa_register_update_callback(objset_t *os, sa_update_cb_t *func)
1962 mutex_enter(&os->os_sa->sa_lock);
1963 sa_register_update_callback_locked(os, func);
1964 mutex_exit(&os->os_sa->sa_lock);
1974 sa_enabled(objset_t *os)
1976 return (os->os_sa == NULL);
1980 sa_set_sa_object(objset_t *os, uint64_t sa_object)
1982 sa_os_t *sa = os->os_sa;