DNODE
if (dnode_get_path(mdn, filename, DNODE, stack)) {
if (DNODE->dn_bonustype == DMU_OT_SA) {
if (DNODE->dn_bonuslen != 0) {
sahdrp = (sa_hdr_phys_t *)DN_BONUS(DNODE);
if (DNODE->dn_flags & DNODE_FLAG_SPILL_BLKPTR) {
blkptr_t *bp = &DNODE->dn_spill;
filemax = ((znode_phys_t *)DN_BONUS(DNODE))->zp_size;
blksz = DNODE->dn_datablkszsec << SPA_MINBLOCKSHIFT;
if (errnum = dmu_read(DNODE, blkid, file_buf, stack))
#define ZFS_SCRATCH ((char *)(DNODE+1))