Lines Matching refs:dnp
286 dnode_byteswap(dnode_phys_t *dnp)
288 uint64_t *buf64 = (void*)&dnp->dn_blkptr;
291 if (dnp->dn_type == DMU_OT_NONE) {
292 bzero(dnp, sizeof (dnode_phys_t));
296 dnp->dn_datablkszsec = BSWAP_16(dnp->dn_datablkszsec);
297 dnp->dn_bonuslen = BSWAP_16(dnp->dn_bonuslen);
298 dnp->dn_maxblkid = BSWAP_64(dnp->dn_maxblkid);
299 dnp->dn_used = BSWAP_64(dnp->dn_used);
305 ASSERT(dnp->dn_indblkshift <= SPA_MAXBLOCKSHIFT);
306 ASSERT(dnp->dn_nblkptr <= DN_MAX_NBLKPTR);
307 for (i = 0; i < dnp->dn_nblkptr * sizeof (blkptr_t)/8; i++)
315 if (dnp->dn_bonuslen != 0) {
323 int off = (dnp->dn_nblkptr-1) * sizeof (blkptr_t);
325 ASSERT(DMU_OT_IS_VALID(dnp->dn_bonustype));
327 DMU_OT_BYTESWAP(dnp->dn_bonustype);
328 dmu_ot_byteswap[byteswap].ob_func(dnp->dn_bonus + off, len);
332 if (dnp->dn_flags & DNODE_FLAG_SPILL_BLKPTR)
333 byteswap_uint64_array(&dnp->dn_spill, sizeof (blkptr_t));
405 dnode_create(objset_t *os, dnode_phys_t *dnp, dmu_buf_impl_t *db,
421 dn->dn_phys = dnp;
423 if (dnp->dn_datablkszsec) {
424 dnode_setdblksz(dn, dnp->dn_datablkszsec << SPA_MINBLOCKSHIFT);
430 dn->dn_indblkshift = dnp->dn_indblkshift;
431 dn->dn_nlevels = dnp->dn_nlevels;
432 dn->dn_type = dnp->dn_type;
433 dn->dn_nblkptr = dnp->dn_nblkptr;
434 dn->dn_checksum = dnp->dn_checksum;
435 dn->dn_compress = dnp->dn_compress;
436 dn->dn_bonustype = dnp->dn_bonustype;
437 dn->dn_bonuslen = dnp->dn_bonuslen;
438 dn->dn_maxblkid = dnp->dn_maxblkid;
439 dn->dn_have_spill = ((dnp->dn_flags & DNODE_FLAG_SPILL_BLKPTR) != 0);
1009 dnode_special_open(objset_t *os, dnode_phys_t *dnp, uint64_t object,
1014 dn = dnode_create(os, dnp, NULL, object, dnh);
1066 void *tag, dnode_t **dnp)
1099 *dnp = dn;
1194 *dnp = dn;
1202 dnode_hold(objset_t *os, uint64_t object, void *tag, dnode_t **dnp)
1204 return (dnode_hold_impl(os, object, DNODE_MUST_BE_ALLOCATED, tag, dnp));
1791 dprintf_dnode(dn, "dn=%p dnp=%p used=%llu delta=%lld\n",
1910 dnode_phys_t *dnp = data;
1916 if ((dnp[i].dn_type == DMU_OT_NONE) == hole)