Lines Matching refs:dn
396 dnode_t *dn = obj; in dnode_multilist_index_func() local
397 return (dnode_hash(dn->dn_objset, dn->dn_object) % in dnode_multilist_index_func()
885 dnode_t *dn; in dmu_objset_evict_dbufs() local
888 dn = list_head(&os->os_dnodes); in dmu_objset_evict_dbufs()
889 while (dn != NULL) { in dmu_objset_evict_dbufs()
895 if (dnode_add_ref(dn, FTAG)) { in dmu_objset_evict_dbufs()
896 list_insert_after(&os->os_dnodes, dn, &dn_marker); in dmu_objset_evict_dbufs()
899 dnode_evict_dbufs(dn); in dmu_objset_evict_dbufs()
900 dnode_rele(dn, FTAG); in dmu_objset_evict_dbufs()
903 dn = list_next(&os->os_dnodes, &dn_marker); in dmu_objset_evict_dbufs()
906 dn = list_next(&os->os_dnodes, dn); in dmu_objset_evict_dbufs()
1554 dnode_t *dn; in dmu_objset_sync_dnodes() local
1556 while ((dn = multilist_sublist_head(list)) != NULL) { in dmu_objset_sync_dnodes()
1557 ASSERT(dn->dn_object != DMU_META_DNODE_OBJECT); in dmu_objset_sync_dnodes()
1558 ASSERT(dn->dn_dbuf->db_data_pending); in dmu_objset_sync_dnodes()
1563 dn->dn_zio = dn->dn_dbuf->db_data_pending->dr_zio; in dmu_objset_sync_dnodes()
1564 ASSERT(dn->dn_zio); in dmu_objset_sync_dnodes()
1566 ASSERT3U(dn->dn_nlevels, <=, DN_MAX_LEVELS); in dmu_objset_sync_dnodes()
1567 multilist_sublist_remove(list, dn); in dmu_objset_sync_dnodes()
1577 multilist_t *newlist = dn->dn_objset->os_synced_dnodes; in dmu_objset_sync_dnodes()
1579 (void) dnode_add_ref(dn, newlist); in dmu_objset_sync_dnodes()
1580 multilist_insert(newlist, dn); in dmu_objset_sync_dnodes()
1582 mutex_enter(&dn->dn_mtx); in dmu_objset_sync_dnodes()
1583 if (dn->dn_dirty_txg == tx->tx_txg) in dmu_objset_sync_dnodes()
1584 dn->dn_dirty_txg = 0; in dmu_objset_sync_dnodes()
1585 mutex_exit(&dn->dn_mtx); in dmu_objset_sync_dnodes()
1588 dnode_sync(dn, tx); in dmu_objset_sync_dnodes()
1996 dnode_t *dn; in userquota_updates_task() local
2013 while ((dn = multilist_sublist_head(list)) != NULL) { in userquota_updates_task()
2015 ASSERT(!DMU_OBJECT_IS_SPECIAL(dn->dn_object)); in userquota_updates_task()
2016 ASSERT(dn->dn_phys->dn_type == DMU_OT_NONE || in userquota_updates_task()
2017 dn->dn_phys->dn_flags & in userquota_updates_task()
2020 flags = dn->dn_id_flags; in userquota_updates_task()
2023 do_userquota_update(os, &cache, dn->dn_oldused, in userquota_updates_task()
2024 dn->dn_oldflags, dn->dn_olduid, dn->dn_oldgid, in userquota_updates_task()
2025 dn->dn_oldprojid, B_TRUE); in userquota_updates_task()
2026 do_userobjquota_update(os, &cache, dn->dn_oldflags, in userquota_updates_task()
2027 dn->dn_olduid, dn->dn_oldgid, in userquota_updates_task()
2028 dn->dn_oldprojid, B_TRUE); in userquota_updates_task()
2032 DN_USED_BYTES(dn->dn_phys), dn->dn_phys->dn_flags, in userquota_updates_task()
2033 dn->dn_newuid, dn->dn_newgid, in userquota_updates_task()
2034 dn->dn_newprojid, B_FALSE); in userquota_updates_task()
2036 dn->dn_phys->dn_flags, dn->dn_newuid, dn->dn_newgid, in userquota_updates_task()
2037 dn->dn_newprojid, B_FALSE); in userquota_updates_task()
2040 mutex_enter(&dn->dn_mtx); in userquota_updates_task()
2041 dn->dn_oldused = 0; in userquota_updates_task()
2042 dn->dn_oldflags = 0; in userquota_updates_task()
2043 if (dn->dn_id_flags & DN_ID_NEW_EXIST) { in userquota_updates_task()
2044 dn->dn_olduid = dn->dn_newuid; in userquota_updates_task()
2045 dn->dn_oldgid = dn->dn_newgid; in userquota_updates_task()
2046 dn->dn_oldprojid = dn->dn_newprojid; in userquota_updates_task()
2047 dn->dn_id_flags |= DN_ID_OLD_EXIST; in userquota_updates_task()
2048 if (dn->dn_bonuslen == 0) in userquota_updates_task()
2049 dn->dn_id_flags |= DN_ID_CHKED_SPILL; in userquota_updates_task()
2051 dn->dn_id_flags |= DN_ID_CHKED_BONUS; in userquota_updates_task()
2053 dn->dn_id_flags &= ~(DN_ID_NEW_EXIST); in userquota_updates_task()
2054 if (dn->dn_dirty_txg == spa_syncing_txg(os->os_spa)) in userquota_updates_task()
2055 dn->dn_dirty_txg = 0; in userquota_updates_task()
2056 mutex_exit(&dn->dn_mtx); in userquota_updates_task()
2058 multilist_sublist_remove(list, dn); in userquota_updates_task()
2059 dnode_rele(dn, os->os_synced_dnodes); in userquota_updates_task()
2138 dnode_t *dn; in dmu_objset_userquota_find_data() local
2141 dn = DB_DNODE(dr->dr_dbuf); in dmu_objset_userquota_find_data()
2143 if (dn->dn_bonuslen == 0 && in dmu_objset_userquota_find_data()
2156 dmu_objset_userquota_get_ids(dnode_t *dn, boolean_t before, dmu_tx_t *tx) in dmu_objset_userquota_get_ids() argument
2158 objset_t *os = dn->dn_objset; in dmu_objset_userquota_get_ids()
2164 int flags = dn->dn_id_flags; in dmu_objset_userquota_get_ids()
2168 if (!dmu_objset_userused_enabled(dn->dn_objset)) in dmu_objset_userquota_get_ids()
2187 if (before && dn->dn_bonuslen != 0) in dmu_objset_userquota_get_ids()
2188 data = DN_BONUS(dn->dn_phys); in dmu_objset_userquota_get_ids()
2189 else if (!before && dn->dn_bonuslen != 0) { in dmu_objset_userquota_get_ids()
2190 if (dn->dn_bonus) { in dmu_objset_userquota_get_ids()
2191 db = dn->dn_bonus; in dmu_objset_userquota_get_ids()
2195 data = DN_BONUS(dn->dn_phys); in dmu_objset_userquota_get_ids()
2197 } else if (dn->dn_bonuslen == 0 && dn->dn_bonustype == DMU_OT_SA) { in dmu_objset_userquota_get_ids()
2200 if (RW_WRITE_HELD(&dn->dn_struct_rwlock)) in dmu_objset_userquota_get_ids()
2202 error = dmu_spill_hold_by_dnode(dn, in dmu_objset_userquota_get_ids()
2211 mutex_enter(&dn->dn_mtx); in dmu_objset_userquota_get_ids()
2212 dn->dn_id_flags |= DN_ID_CHKED_BONUS; in dmu_objset_userquota_get_ids()
2213 mutex_exit(&dn->dn_mtx); in dmu_objset_userquota_get_ids()
2219 user = &dn->dn_olduid; in dmu_objset_userquota_get_ids()
2220 group = &dn->dn_oldgid; in dmu_objset_userquota_get_ids()
2221 project = &dn->dn_oldprojid; in dmu_objset_userquota_get_ids()
2223 user = &dn->dn_newuid; in dmu_objset_userquota_get_ids()
2224 group = &dn->dn_newgid; in dmu_objset_userquota_get_ids()
2225 project = &dn->dn_newprojid; in dmu_objset_userquota_get_ids()
2232 error = used_cbs[os->os_phys->os_type](dn->dn_bonustype, data, in dmu_objset_userquota_get_ids()
2244 dn->dn_newuid = dn->dn_olduid; in dmu_objset_userquota_get_ids()
2245 dn->dn_newgid = dn->dn_oldgid; in dmu_objset_userquota_get_ids()
2246 dn->dn_newprojid = dn->dn_oldprojid; in dmu_objset_userquota_get_ids()
2248 dn->dn_newuid = 0; in dmu_objset_userquota_get_ids()
2249 dn->dn_newgid = 0; in dmu_objset_userquota_get_ids()
2250 dn->dn_newprojid = ZFS_DEFAULT_PROJID; in dmu_objset_userquota_get_ids()
2258 mutex_enter(&dn->dn_mtx); in dmu_objset_userquota_get_ids()
2260 dn->dn_id_flags |= DN_ID_OLD_EXIST; in dmu_objset_userquota_get_ids()
2262 dn->dn_id_flags |= DN_ID_NEW_EXIST; in dmu_objset_userquota_get_ids()
2265 dn->dn_id_flags |= DN_ID_CHKED_SPILL; in dmu_objset_userquota_get_ids()
2267 dn->dn_id_flags |= DN_ID_CHKED_BONUS; in dmu_objset_userquota_get_ids()
2269 mutex_exit(&dn->dn_mtx); in dmu_objset_userquota_get_ids()