Lines Matching refs:dn
176 dmu_buf_hold_noread_by_dnode(dnode_t *dn, uint64_t offset, in dmu_buf_hold_noread_by_dnode() argument
182 rw_enter(&dn->dn_struct_rwlock, RW_READER); in dmu_buf_hold_noread_by_dnode()
183 blkid = dbuf_whichblock(dn, 0, offset); in dmu_buf_hold_noread_by_dnode()
184 db = dbuf_hold(dn, blkid, tag); in dmu_buf_hold_noread_by_dnode()
185 rw_exit(&dn->dn_struct_rwlock); in dmu_buf_hold_noread_by_dnode()
200 dnode_t *dn; in dmu_buf_hold_noread() local
205 err = dnode_hold(os, object, FTAG, &dn); in dmu_buf_hold_noread()
208 rw_enter(&dn->dn_struct_rwlock, RW_READER); in dmu_buf_hold_noread()
209 blkid = dbuf_whichblock(dn, 0, offset); in dmu_buf_hold_noread()
210 db = dbuf_hold(dn, blkid, tag); in dmu_buf_hold_noread()
211 rw_exit(&dn->dn_struct_rwlock); in dmu_buf_hold_noread()
212 dnode_rele(dn, FTAG); in dmu_buf_hold_noread()
224 dmu_buf_hold_by_dnode(dnode_t *dn, uint64_t offset, in dmu_buf_hold_by_dnode() argument
229 err = dmu_buf_hold_noread_by_dnode(dn, offset, tag, dbp); in dmu_buf_hold_by_dnode()
271 dnode_t *dn; in dmu_set_bonus() local
278 dn = DB_DNODE(db); in dmu_set_bonus()
280 if (dn->dn_bonus != db) { in dmu_set_bonus()
283 dnode_setbonuslen(dn, newsize, tx); in dmu_set_bonus()
295 dnode_t *dn; in dmu_set_bonustype() local
302 dn = DB_DNODE(db); in dmu_set_bonustype()
304 if (dn->dn_bonus != db) { in dmu_set_bonustype()
307 dnode_setbonus_type(dn, type, tx); in dmu_set_bonustype()
331 dnode_t *dn; in dmu_rm_spill() local
334 error = dnode_hold(os, object, FTAG, &dn); in dmu_rm_spill()
335 dbuf_rm_spill(dn, tx); in dmu_rm_spill()
336 rw_enter(&dn->dn_struct_rwlock, RW_WRITER); in dmu_rm_spill()
337 dnode_rm_spill(dn, tx); in dmu_rm_spill()
338 rw_exit(&dn->dn_struct_rwlock); in dmu_rm_spill()
339 dnode_rele(dn, FTAG); in dmu_rm_spill()
348 int dmu_bonus_hold_by_dnode(dnode_t *dn, const void *tag, dmu_buf_t **dbp, in dmu_bonus_hold_by_dnode() argument
354 rw_enter(&dn->dn_struct_rwlock, RW_READER); in dmu_bonus_hold_by_dnode()
355 if (dn->dn_bonus == NULL) { in dmu_bonus_hold_by_dnode()
356 if (!rw_tryupgrade(&dn->dn_struct_rwlock)) { in dmu_bonus_hold_by_dnode()
357 rw_exit(&dn->dn_struct_rwlock); in dmu_bonus_hold_by_dnode()
358 rw_enter(&dn->dn_struct_rwlock, RW_WRITER); in dmu_bonus_hold_by_dnode()
360 if (dn->dn_bonus == NULL) in dmu_bonus_hold_by_dnode()
361 dbuf_create_bonus(dn); in dmu_bonus_hold_by_dnode()
363 db = dn->dn_bonus; in dmu_bonus_hold_by_dnode()
367 VERIFY(dnode_add_ref(dn, db)); in dmu_bonus_hold_by_dnode()
368 atomic_inc_32(&dn->dn_dbufs_count); in dmu_bonus_hold_by_dnode()
376 rw_exit(&dn->dn_struct_rwlock); in dmu_bonus_hold_by_dnode()
380 dnode_evict_bonus(dn); in dmu_bonus_hold_by_dnode()
393 dnode_t *dn; in dmu_bonus_hold() local
396 error = dnode_hold(os, object, FTAG, &dn); in dmu_bonus_hold()
400 error = dmu_bonus_hold_by_dnode(dn, tag, dbp, DMU_READ_NO_PREFETCH); in dmu_bonus_hold()
401 dnode_rele(dn, FTAG); in dmu_bonus_hold()
416 dmu_spill_hold_by_dnode(dnode_t *dn, dmu_flags_t flags, const void *tag, in dmu_spill_hold_by_dnode() argument
423 rw_enter(&dn->dn_struct_rwlock, RW_READER); in dmu_spill_hold_by_dnode()
425 db = dbuf_hold(dn, DMU_SPILL_BLKID, tag); in dmu_spill_hold_by_dnode()
428 rw_exit(&dn->dn_struct_rwlock); in dmu_spill_hold_by_dnode()
448 dnode_t *dn; in dmu_spill_hold_existing() local
452 dn = DB_DNODE(db); in dmu_spill_hold_existing()
454 if (spa_version(dn->dn_objset->os_spa) < SPA_VERSION_SA) { in dmu_spill_hold_existing()
457 rw_enter(&dn->dn_struct_rwlock, RW_READER); in dmu_spill_hold_existing()
459 if (!dn->dn_have_spill) { in dmu_spill_hold_existing()
462 err = dmu_spill_hold_by_dnode(dn, in dmu_spill_hold_existing()
466 rw_exit(&dn->dn_struct_rwlock); in dmu_spill_hold_existing()
494 dmu_buf_hold_array_by_dnode(dnode_t *dn, uint64_t offset, uint64_t length, in dmu_buf_hold_array_by_dnode() argument
516 rw_enter(&dn->dn_struct_rwlock, RW_READER); in dmu_buf_hold_array_by_dnode()
517 if (dn->dn_datablkshift) { in dmu_buf_hold_array_by_dnode()
518 int blkshift = dn->dn_datablkshift; in dmu_buf_hold_array_by_dnode()
523 if (offset + length > dn->dn_datablksz) { in dmu_buf_hold_array_by_dnode()
526 (longlong_t)dn->dn_objset-> in dmu_buf_hold_array_by_dnode()
528 (longlong_t)dn->dn_object, dn->dn_datablksz, in dmu_buf_hold_array_by_dnode()
530 rw_exit(&dn->dn_struct_rwlock); in dmu_buf_hold_array_by_dnode()
538 zio = zio_root(dn->dn_objset->os_spa, NULL, NULL, in dmu_buf_hold_array_by_dnode()
540 blkid = dbuf_whichblock(dn, 0, offset); in dmu_buf_hold_array_by_dnode()
547 zs = dmu_zfetch_prepare(&dn->dn_zfetch, blkid, nblks, in dmu_buf_hold_array_by_dnode()
551 dmu_buf_impl_t *db = dbuf_hold(dn, blkid + i, tag); in dmu_buf_hold_array_by_dnode()
554 dmu_zfetch_run(&dn->dn_zfetch, zs, missed, in dmu_buf_hold_array_by_dnode()
557 rw_exit(&dn->dn_struct_rwlock); in dmu_buf_hold_array_by_dnode()
573 if (i == nblks - 1 && blkid + i < dn->dn_maxblkid && in dmu_buf_hold_array_by_dnode()
597 zfs_racct_write(dn->dn_objset->os_spa, length, nblks, flags); in dmu_buf_hold_array_by_dnode()
600 dmu_zfetch_run(&dn->dn_zfetch, zs, missed, B_TRUE, in dmu_buf_hold_array_by_dnode()
603 rw_exit(&dn->dn_struct_rwlock); in dmu_buf_hold_array_by_dnode()
640 dnode_t *dn; in dmu_buf_hold_array() local
643 err = dnode_hold(os, object, FTAG, &dn); in dmu_buf_hold_array()
647 err = dmu_buf_hold_array_by_dnode(dn, offset, length, read, tag, in dmu_buf_hold_array()
650 dnode_rele(dn, FTAG); in dmu_buf_hold_array()
705 dnode_t *dn; in dmu_prefetch() local
712 if (dnode_hold(os, object, FTAG, &dn) != 0) in dmu_prefetch()
715 dmu_prefetch_by_dnode(dn, level, offset, len, pri); in dmu_prefetch()
717 dnode_rele(dn, FTAG); in dmu_prefetch()
721 dmu_prefetch_by_dnode(dnode_t *dn, int64_t level, uint64_t offset, in dmu_prefetch_by_dnode() argument
731 rw_enter(&dn->dn_struct_rwlock, RW_READER); in dmu_prefetch_by_dnode()
732 if (dn->dn_datablkshift != 0) { in dmu_prefetch_by_dnode()
737 uint64_t size = (dn->dn_maxblkid + 1) << dn->dn_datablkshift; in dmu_prefetch_by_dnode()
739 rw_exit(&dn->dn_struct_rwlock); in dmu_prefetch_by_dnode()
750 start = dbuf_whichblock(dn, level, offset); in dmu_prefetch_by_dnode()
751 end2 = dbuf_whichblock(dn, level, offset + len - 1) + 1; in dmu_prefetch_by_dnode()
752 uint8_t ibs = dn->dn_indblkshift; in dmu_prefetch_by_dnode()
753 uint8_t bs = (level == 0) ? dn->dn_datablkshift : ibs; in dmu_prefetch_by_dnode()
770 end = start + (level == 0 && offset < dn->dn_datablksz); in dmu_prefetch_by_dnode()
774 dbuf_prefetch(dn, level, i, pri, 0); in dmu_prefetch_by_dnode()
776 dbuf_prefetch(dn, level2, i, pri, 0); in dmu_prefetch_by_dnode()
777 rw_exit(&dn->dn_struct_rwlock); in dmu_prefetch_by_dnode()
802 dmu_prefetch_wait_by_dnode(dnode_t *dn, uint64_t offset, uint64_t len) in dmu_prefetch_wait_by_dnode() argument
809 rw_enter(&dn->dn_struct_rwlock, RW_READER); in dmu_prefetch_wait_by_dnode()
811 uint64_t start = dbuf_whichblock(dn, 0, offset); in dmu_prefetch_wait_by_dnode()
812 uint64_t end = dbuf_whichblock(dn, 0, offset + len - 1) + 1; in dmu_prefetch_wait_by_dnode()
816 (void) dbuf_prefetch_impl(dn, 0, blk, ZIO_PRIORITY_ASYNC_READ, in dmu_prefetch_wait_by_dnode()
820 rw_exit(&dn->dn_struct_rwlock); in dmu_prefetch_wait_by_dnode()
843 dnode_t *dn; in dmu_prefetch_wait() local
846 err = dnode_hold(os, object, FTAG, &dn); in dmu_prefetch_wait()
854 if (dn->dn_indblkshift) { in dmu_prefetch_wait()
855 uint64_t nbps = bp_span_in_blocks(dn->dn_indblkshift, 1); in dmu_prefetch_wait()
856 chunksize = (nbps * 16) << dn->dn_datablkshift; in dmu_prefetch_wait()
858 chunksize = dn->dn_datablksz; in dmu_prefetch_wait()
864 dmu_prefetch_wait_by_dnode(dn, offset, mylen); in dmu_prefetch_wait()
875 dnode_rele(dn, FTAG); in dmu_prefetch_wait()
889 dnode_t *dn = DMU_META_DNODE(os); in dmu_prefetch_dnode() local
890 rw_enter(&dn->dn_struct_rwlock, RW_READER); in dmu_prefetch_dnode()
891 uint64_t blkid = dbuf_whichblock(dn, 0, object * sizeof (dnode_phys_t)); in dmu_prefetch_dnode()
892 dbuf_prefetch(dn, 0, blkid, pri, 0); in dmu_prefetch_dnode()
893 rw_exit(&dn->dn_struct_rwlock); in dmu_prefetch_dnode()
908 get_next_chunk(dnode_t *dn, uint64_t *start, uint64_t minimum, uint64_t *l1blks) in get_next_chunk() argument
911 uint64_t maxblks = DMU_MAX_ACCESS >> (dn->dn_indblkshift + 1); in get_next_chunk()
913 uint64_t iblkrange = (uint64_t)dn->dn_datablksz * in get_next_chunk()
914 EPB(dn->dn_indblkshift, SPA_BLKPTRSHIFT); in get_next_chunk()
919 if (dn->dn_nlevels <= 1) { in get_next_chunk()
952 err = dnode_next_offset(dn, in get_next_chunk()
992 dmu_free_long_range_impl(objset_t *os, dnode_t *dn, uint64_t offset, in dmu_free_long_range_impl() argument
1000 if (dn == NULL) in dmu_free_long_range_impl()
1003 object_size = (dn->dn_maxblkid + 1) * dn->dn_datablksz; in dmu_free_long_range_impl()
1021 if (dmu_objset_zfs_unmounting(dn->dn_objset)) in dmu_free_long_range_impl()
1027 err = get_next_chunk(dn, &chunk_begin, offset, &l1blks); in dmu_free_long_range_impl()
1036 dmu_tx_hold_free(tx, dn->dn_object, chunk_begin, chunk_len); in dmu_free_long_range_impl()
1081 l1blks << dn->dn_indblkshift; in dmu_free_long_range_impl()
1086 dnode_free_range(dn, chunk_begin, chunk_len, tx); in dmu_free_long_range_impl()
1099 dnode_t *dn; in dmu_free_long_range() local
1102 err = dnode_hold(os, object, FTAG, &dn); in dmu_free_long_range()
1105 err = dmu_free_long_range_impl(os, dn, offset, length); in dmu_free_long_range()
1114 dn->dn_maxblkid = 0; in dmu_free_long_range()
1116 dnode_rele(dn, FTAG); in dmu_free_long_range()
1149 dnode_t *dn; in dmu_free_range() local
1150 int err = dnode_hold(os, object, FTAG, &dn); in dmu_free_range()
1155 dnode_free_range(dn, offset, size, tx); in dmu_free_range()
1156 dnode_rele(dn, FTAG); in dmu_free_range()
1161 dmu_read_impl(dnode_t *dn, uint64_t offset, uint64_t size, in dmu_read_impl() argument
1172 if (dn->dn_maxblkid == 0) { in dmu_read_impl()
1173 uint64_t newsz = offset > dn->dn_datablksz ? 0 : in dmu_read_impl()
1174 MIN(size, dn->dn_datablksz - offset); in dmu_read_impl()
1186 err = dmu_read_abd(dn, offset, size, data, flags); in dmu_read_impl()
1200 err = dmu_buf_hold_array_by_dnode(dn, offset, mylen, in dmu_read_impl()
1231 dnode_t *dn; in dmu_read() local
1234 err = dnode_hold(os, object, FTAG, &dn); in dmu_read()
1238 err = dmu_read_impl(dn, offset, size, buf, flags); in dmu_read()
1239 dnode_rele(dn, FTAG); in dmu_read()
1244 dmu_read_by_dnode(dnode_t *dn, uint64_t offset, uint64_t size, void *buf, in dmu_read_by_dnode() argument
1247 return (dmu_read_impl(dn, offset, size, buf, flags)); in dmu_read_by_dnode()
1309 dmu_write_by_dnode(dnode_t *dn, uint64_t offset, uint64_t size, in dmu_write_by_dnode() argument
1321 zfs_dio_aligned(offset, size, dn->dn_datablksz)) { in dmu_write_by_dnode()
1323 error = dmu_write_abd(dn, offset, size, data, flags, tx); in dmu_write_by_dnode()
1329 VERIFY0(dmu_buf_hold_array_by_dnode(dn, offset, size, in dmu_write_by_dnode()
1392 dmu_read_uio_dnode(dnode_t *dn, zfs_uio_t *uio, uint64_t size, in dmu_read_uio_dnode() argument
1399 return (dmu_read_uio_direct(dn, uio, size, flags)); in dmu_read_uio_dnode()
1406 err = dmu_buf_hold_array_by_dnode(dn, zfs_uio_offset(uio), size, in dmu_read_uio_dnode()
1470 dnode_t *dn; in dmu_read_uio() local
1476 err = dnode_hold(os, object, FTAG, &dn); in dmu_read_uio()
1480 err = dmu_read_uio_dnode(dn, uio, size, flags); in dmu_read_uio()
1482 dnode_rele(dn, FTAG); in dmu_read_uio()
1488 dmu_write_uio_dnode(dnode_t *dn, zfs_uio_t *uio, uint64_t size, dmu_tx_t *tx, in dmu_write_uio_dnode() argument
1505 (write_size >= dn->dn_datablksz)) { in dmu_write_uio_dnode()
1507 dn->dn_datablksz)) { in dmu_write_uio_dnode()
1508 return (dmu_write_uio_direct(dn, uio, size, flags, tx)); in dmu_write_uio_dnode()
1509 } else if (write_size > dn->dn_datablksz && in dmu_write_uio_dnode()
1511 dn->dn_datablksz)) { in dmu_write_uio_dnode()
1513 dn->dn_datablksz * (write_size / dn->dn_datablksz); in dmu_write_uio_dnode()
1514 err = dmu_write_uio_direct(dn, uio, write_size, flags, in dmu_write_uio_dnode()
1524 P2PHASE(zfs_uio_offset(uio), dn->dn_datablksz); in dmu_write_uio_dnode()
1529 err = dmu_buf_hold_array_by_dnode(dn, zfs_uio_offset(uio), write_size, in dmu_write_uio_dnode()
1624 dnode_t *dn; in dmu_write_uio() local
1630 err = dnode_hold(os, object, FTAG, &dn); in dmu_write_uio()
1634 err = dmu_write_uio_dnode(dn, uio, size, tx, flags); in dmu_write_uio()
1636 dnode_rele(dn, FTAG); in dmu_write_uio()
1676 dnode_t *dn; in dmu_object_cached_size() local
1682 if (dnode_hold(os, object, FTAG, &dn) != 0) in dmu_object_cached_size()
1685 if (dn->dn_nlevels < 2) { in dmu_object_cached_size()
1686 dnode_rele(dn, FTAG); in dmu_object_cached_size()
1690 dmu_object_info_from_dnode(dn, &doi); in dmu_object_cached_size()
1695 dmu_prefetch_by_dnode(dn, 1, off, in dmu_object_cached_size()
1703 uint_t nbps = bp_span_in_blocks(dn->dn_indblkshift, 1); in dmu_object_cached_size()
1704 uint64_t l1blks = 1 + (dn->dn_maxblkid / nbps); in dmu_object_cached_size()
1706 rw_enter(&dn->dn_struct_rwlock, RW_READER); in dmu_object_cached_size()
1724 err = dbuf_hold_impl(dn, 1, blk, B_TRUE, B_FALSE, FTAG, &db); in dmu_object_cached_size()
1744 rw_exit(&dn->dn_struct_rwlock); in dmu_object_cached_size()
1746 dnode_rele(dn, FTAG); in dmu_object_cached_size()
1784 dmu_lightweight_write_by_dnode(dnode_t *dn, uint64_t offset, abd_t *abd, in dmu_lightweight_write_by_dnode() argument
1788 dbuf_dirty_lightweight(dn, dbuf_whichblock(dn, 0, offset), tx); in dmu_lightweight_write_by_dnode()
1803 dmu_assign_arcbuf_by_dnode(dnode_t *dn, uint64_t offset, arc_buf_t *buf, in dmu_assign_arcbuf_by_dnode() argument
1807 objset_t *os = dn->dn_objset; in dmu_assign_arcbuf_by_dnode()
1811 rw_enter(&dn->dn_struct_rwlock, RW_READER); in dmu_assign_arcbuf_by_dnode()
1812 blkid = dbuf_whichblock(dn, 0, offset); in dmu_assign_arcbuf_by_dnode()
1813 db = dbuf_hold(dn, blkid, FTAG); in dmu_assign_arcbuf_by_dnode()
1814 rw_exit(&dn->dn_struct_rwlock); in dmu_assign_arcbuf_by_dnode()
1832 dmu_write_by_dnode(dn, offset, blksz, buf->b_data, tx, flags); in dmu_assign_arcbuf_by_dnode()
2227 dnode_t *dn; in dmu_object_set_nlevels() local
2230 err = dnode_hold(os, object, FTAG, &dn); in dmu_object_set_nlevels()
2233 err = dnode_set_nlevels(dn, nlevels, tx); in dmu_object_set_nlevels()
2234 dnode_rele(dn, FTAG); in dmu_object_set_nlevels()
2242 dnode_t *dn; in dmu_object_set_blocksize() local
2245 err = dnode_hold(os, object, FTAG, &dn); in dmu_object_set_blocksize()
2248 err = dnode_set_blksz(dn, size, ibs, tx); in dmu_object_set_blocksize()
2249 dnode_rele(dn, FTAG); in dmu_object_set_blocksize()
2257 dnode_t *dn; in dmu_object_set_maxblkid() local
2260 err = dnode_hold(os, object, FTAG, &dn); in dmu_object_set_maxblkid()
2263 rw_enter(&dn->dn_struct_rwlock, RW_WRITER); in dmu_object_set_maxblkid()
2264 dnode_new_blkid(dn, maxblkid, tx, B_FALSE, B_TRUE); in dmu_object_set_maxblkid()
2265 rw_exit(&dn->dn_struct_rwlock); in dmu_object_set_maxblkid()
2266 dnode_rele(dn, FTAG); in dmu_object_set_maxblkid()
2274 dnode_t *dn; in dmu_object_set_checksum() local
2283 VERIFY0(dnode_hold(os, object, FTAG, &dn)); in dmu_object_set_checksum()
2285 dn->dn_checksum = checksum; in dmu_object_set_checksum()
2286 dnode_setdirty(dn, tx); in dmu_object_set_checksum()
2287 dnode_rele(dn, FTAG); in dmu_object_set_checksum()
2294 dnode_t *dn; in dmu_object_set_compress() local
2303 VERIFY0(dnode_hold(os, object, FTAG, &dn)); in dmu_object_set_compress()
2304 dn->dn_compress = compress; in dmu_object_set_compress()
2305 dnode_setdirty(dn, tx); in dmu_object_set_compress()
2306 dnode_rele(dn, FTAG); in dmu_object_set_compress()
2316 dmu_write_policy(objset_t *os, dnode_t *dn, int level, int wp, zio_prop_t *zp) in dmu_write_policy() argument
2318 dmu_object_type_t type = dn ? dn->dn_type : DMU_OT_OBJSET; in dmu_write_policy()
2397 dn ? dn->dn_storage_type : DMU_OT_NONE; in dmu_write_policy()
2420 compress = zio_compress_select(os->os_spa, dn->dn_compress, in dmu_write_policy()
2435 zio_checksum_select(dn->dn_checksum, checksum) : in dmu_write_policy()
2500 zp->zp_type = (wp & WP_SPILL) ? dn->dn_bonustype : type; in dmu_write_policy()
2517 zp->zp_storage_type = dn ? dn->dn_storage_type : DMU_OT_NONE; in dmu_write_policy()
2533 dnode_t *dn; in dmu_offset_next() local
2538 err = dnode_hold(os, object, FTAG, &dn); in dmu_offset_next()
2542 rw_enter(&dn->dn_struct_rwlock, RW_READER); in dmu_offset_next()
2544 if (dnode_is_dirty(dn)) { in dmu_offset_next()
2557 rw_exit(&dn->dn_struct_rwlock); in dmu_offset_next()
2558 dnode_rele(dn, FTAG); in dmu_offset_next()
2572 err = dnode_next_offset(dn, DNODE_FIND_HAVELOCK | in dmu_offset_next()
2576 rw_exit(&dn->dn_struct_rwlock); in dmu_offset_next()
2577 dnode_rele(dn, FTAG); in dmu_offset_next()
2761 __dmu_object_info_from_dnode(dnode_t *dn, dmu_object_info_t *doi) in __dmu_object_info_from_dnode() argument
2763 dnode_phys_t *dnp = dn->dn_phys; in __dmu_object_info_from_dnode()
2765 doi->doi_data_block_size = dn->dn_datablksz; in __dmu_object_info_from_dnode()
2766 doi->doi_metadata_block_size = dn->dn_indblkshift ? in __dmu_object_info_from_dnode()
2767 1ULL << dn->dn_indblkshift : 0; in __dmu_object_info_from_dnode()
2768 doi->doi_type = dn->dn_type; in __dmu_object_info_from_dnode()
2769 doi->doi_bonus_type = dn->dn_bonustype; in __dmu_object_info_from_dnode()
2770 doi->doi_bonus_size = dn->dn_bonuslen; in __dmu_object_info_from_dnode()
2771 doi->doi_dnodesize = dn->dn_num_slots << DNODE_SHIFT; in __dmu_object_info_from_dnode()
2772 doi->doi_indirection = dn->dn_nlevels; in __dmu_object_info_from_dnode()
2773 doi->doi_checksum = dn->dn_checksum; in __dmu_object_info_from_dnode()
2774 doi->doi_compress = dn->dn_compress; in __dmu_object_info_from_dnode()
2775 doi->doi_nblkptr = dn->dn_nblkptr; in __dmu_object_info_from_dnode()
2777 doi->doi_max_offset = (dn->dn_maxblkid + 1) * dn->dn_datablksz; in __dmu_object_info_from_dnode()
2784 dmu_object_info_from_dnode(dnode_t *dn, dmu_object_info_t *doi) in dmu_object_info_from_dnode() argument
2786 rw_enter(&dn->dn_struct_rwlock, RW_READER); in dmu_object_info_from_dnode()
2787 mutex_enter(&dn->dn_mtx); in dmu_object_info_from_dnode()
2789 __dmu_object_info_from_dnode(dn, doi); in dmu_object_info_from_dnode()
2791 mutex_exit(&dn->dn_mtx); in dmu_object_info_from_dnode()
2792 rw_exit(&dn->dn_struct_rwlock); in dmu_object_info_from_dnode()
2802 dnode_t *dn; in dmu_object_info() local
2803 int err = dnode_hold(os, object, FTAG, &dn); in dmu_object_info()
2809 dmu_object_info_from_dnode(dn, doi); in dmu_object_info()
2811 dnode_rele(dn, FTAG); in dmu_object_info()
2836 dnode_t *dn; in dmu_object_size_from_db() local
2839 dn = DB_DNODE(db); in dmu_object_size_from_db()
2841 *blksize = dn->dn_datablksz; in dmu_object_size_from_db()
2843 *nblk512 = ((DN_USED_BYTES(dn->dn_phys) + SPA_MINBLOCKSIZE/2) >> in dmu_object_size_from_db()
2844 SPA_MINBLOCKSHIFT) + dn->dn_num_slots; in dmu_object_size_from_db()