dnode_phys_t
dnode_phys_t f_dnode;
static const dnode_phys_t *dnode_cache_obj;
static int zap_lookup(const spa_t *spa, const dnode_phys_t *dnode,
dnode_phys_t *);
static int dnode_read(const spa_t *, const dnode_phys_t *, off_t, void *,
dnode_read(const spa_t *spa, const dnode_phys_t *dnode, off_t offset,
fzap_lookup(const spa_t *spa, const dnode_phys_t *dnode, zap_phys_t *zh,
zap_lookup(const spa_t *spa, const dnode_phys_t *dnode, const char *name,
fzap_list(const spa_t *spa, const dnode_phys_t *dnode, zap_phys_t *zh,
zap_list(const spa_t *spa, const dnode_phys_t *dnode)
dnode_phys_t *dnode)
offset = objnum * sizeof (dnode_phys_t);
dnode, sizeof (dnode_phys_t)));
fzap_rlookup(const spa_t *spa, const dnode_phys_t *dnode, zap_phys_t *zh,
zap_rlookup(const spa_t *spa, const dnode_phys_t *dnode, char *name,
dnode_phys_t child_dir_zap, dataset, dir, parent;
dnode_phys_t child_dir_zap, dir;
dnode_phys_t child_dir_zap, dir, dataset;
dnode_phys_t child_dir_zap, dir, dataset;
dnode_phys_t dataset;
dnode_phys_t dir, propdir;
dnode_phys_t dir;
dnode_phys_t dir;
dnode_phys_t dir;
zfs_dnode_stat(const spa_t *spa, dnode_phys_t *dn, struct stat *sb)
zfs_dnode_readlink(const spa_t *spa, dnode_phys_t *dn, char *path, size_t psize)
zfs_lookup(const struct zfsmount *mnt, const char *upath, dnode_phys_t *dnode)
dnode_phys_t dn;
(OBJSET_PHYS_SIZE_V2 - sizeof (dnode_phys_t) * 3 - \
(OBJSET_PHYS_SIZE_V3 - OBJSET_PHYS_SIZE_V2 - sizeof (dnode_phys_t))
dnode_phys_t os_meta_dnode;
dnode_phys_t os_userused_dnode;
dnode_phys_t os_groupused_dnode;
dnode_phys_t os_projectused_dnode;
const dnode_phys_t *zap_dnode;
dnode_phys_t *vim_dn;
blkid2offset(const dnode_phys_t *dnp, const blkptr_t *bp,
const dnode_phys_t *dnp)
visit_indirect(spa_t *spa, const dnode_phys_t *dnp,
dnode_phys_t *dnp = dn->dn_phys;
const zbookmark_phys_t *zb, const dnode_phys_t *dnp, void *arg)
const zbookmark_phys_t *zb, const dnode_phys_t *dnp, void *arg)
record->zi_start = record->zi_object * sizeof (dnode_phys_t);
record->zi_end = record->zi_start + sizeof (dnode_phys_t);
get_default_bootfsobj(dnode_phys_t *mosmdn, uint64_t *obj, char *stack)
dnode_phys_t *dn = (dnode_phys_t *)stack;
check_mos_features(dnode_phys_t *mosmdn, char *stack)
dnode_phys_t *dn;
dn = (dnode_phys_t *)stack;
get_objset_mdn(dnode_phys_t *mosmdn, char *fsname, uint64_t *obj,
dnode_phys_t *mdn, char *stack)
dnode_phys_t *mdn;
mdn = (dnode_phys_t *)stack;
stack += sizeof (dnode_phys_t);
dnode_buf = (dnode_phys_t *)stack;
dmu_read(dnode_phys_t *dn, uint64_t blkid, void *buf, char *stack)
static dnode_phys_t *dnode_buf = NULL;
static dnode_phys_t *dnode_mdn = NULL;
fzap_lookup(dnode_phys_t *zap_dnode, zap_phys_t *zap,
zap_lookup(dnode_phys_t *zap_dnode, const char *name, uint64_t *val,
zap_iterate(dnode_phys_t *zap_dnode, zap_cb_t *cb, void *arg, char *stack)
dnode_get(dnode_phys_t *mdn, uint64_t objnum, uint8_t type, dnode_phys_t *buf,
dnode_phys_t *dnbuf;
dnbuf = (dnode_phys_t *)stack;
dnode_get_path(dnode_phys_t *mdn, char *path, dnode_phys_t *dn,
#define MOS ((dnode_phys_t *)\
dnode_phys_t os_meta_dnode;
char os_pad0[OBJSET_PHYS_SIZE_V2 - sizeof (dnode_phys_t)*3 -
dnode_phys_t os_userused_dnode;
dnode_phys_t os_groupused_dnode;
dnode_phys_t os_projectused_dnode;
sizeof (dnode_phys_t)];
const zbookmark_phys_t *zb, const dnode_phys_t *dnp, void *arg)
dnode_phys_t *dnp =
dnode_phys_t *dnp = db->db.db_data;
dnode_phys_t *dnp;
object * sizeof (dnode_phys_t));
const zbookmark_phys_t *zb, const dnode_phys_t *dnp, void *arg)
dnode_phys_t *blk;
report_dnode(struct diffarg *da, uint64_t object, dnode_phys_t *dnp)
dnode_phys_t *dnp = &os->os_phys->os_meta_dnode;
const zbookmark_phys_t *zb, const dnode_phys_t *dnp, void *arg)
dnode_phys_t *dnp)
dnode_phys_t *blk = abuf->b_data;
resume_skip_check(traverse_data_t *td, const dnode_phys_t *dnp,
traverse_visitbp(traverse_data_t *td, const dnode_phys_t *dnp,
dnode_phys_t *child_dnp = buf->b_data;
prefetch_dnode_metadata(traverse_data_t *td, const dnode_phys_t *dnp,
traverse_dnode(traverse_data_t *td, const dnode_phys_t *dnp,
const zbookmark_phys_t *zb, const dnode_phys_t *dnp, void *arg)
static int traverse_dnode(traverse_data_t *td, const dnode_phys_t *dnp,
static void prefetch_dnode_metadata(traverse_data_t *td, const dnode_phys_t *,
dnode_special_open(objset_t *os, dnode_phys_t *dnp, uint64_t object,
dnode_phys_t *dn_block;
blk = dbuf_whichblock(mdn, 0, object * sizeof (dnode_phys_t));
dn_block = (dnode_phys_t *)db->db.db_data;
dnode_phys_t *dnp = data;
(dnode_phys_t *)dn->dn_dbuf->db.db_data +
dnode_byteswap(dnode_phys_t *dnp)
bzero(dnp, sizeof (dnode_phys_t));
ASSERT3U(sizeof (dnode_phys_t), ==, (1<<DNODE_SHIFT));
ASSERT((size & (sizeof (dnode_phys_t)-1)) == 0);
dnode_phys_t *dnp = (void *)(((char *)vbuf) + i);
dnode_create(objset_t *os, dnode_phys_t *dnp, dmu_buf_impl_t *db,
ASSERT(bcmp(dn->dn_phys, &dnode_phys_zero, sizeof (dnode_phys_t)) == 0);
static dnode_phys_t dnode_phys_zero;
bzero(dn->dn_phys, sizeof (dnode_phys_t) * dn->dn_num_slots);
dnode_phys_t *dnp = dn->dn_phys;
static const dnode_phys_t zerodn = { 0 };
const zbookmark_phys_t *zb, const dnode_phys_t *dnp, void *arg)
scan_prefetch_ctx_create(dsl_scan_t *scn, dnode_phys_t *dnp, void *tag)
dnode_phys_t tmp_dnp;
dnode_phys_t *dnp = (spc->spc_root) ? NULL : &tmp_dnp;
dsl_scan_prefetch_dnode(dsl_scan_t *scn, dnode_phys_t *dnp,
dnode_phys_t *cdnp = buf->b_data;
dsl_scan_check_resume(dsl_scan_t *scn, const dnode_phys_t *dnp,
dnode_phys_t *dnp, dsl_dataset_t *ds, dsl_scan_t *scn,
dnode_phys_t *dnp, uint64_t object, dmu_tx_t *tx);
dnode_phys_t *dnp, const blkptr_t *bp,
dnode_phys_t *cdnp;
dmu_objset_type_t ostype, dnode_phys_t *dnp,
dnode_phys_t *dnp, dsl_dataset_t *ds, dsl_scan_t *scn,
const zbookmark_phys_t *zb, const dnode_phys_t *dnp, void *arg)
dnode_phys_t os_meta_dnode;
char os_pad0[OBJSET_PHYS_SIZE_V2 - sizeof (dnode_phys_t)*3 -
dnode_phys_t os_userused_dnode;
dnode_phys_t os_groupused_dnode;
dnode_phys_t os_projectused_dnode;
sizeof (dnode_phys_t)];
dnode_phys_t *dn_phys; /* pointer into dn->dn_dbuf->db.db_data */
void dnode_special_open(struct objset *dd, dnode_phys_t *dnp,
void dnode_byteswap(dnode_phys_t *dnp);
zbookmark_subtree_completed(const dnode_phys_t *dnp,
boolean_t should_bswap, dnode_phys_t *dnp)
dnode_phys_t *adnp;
uint8_t tmp_dncore[sizeof (dnode_phys_t)];
adnp = (dnode_phys_t *)tmp_dncore;
cd.cd_length = offsetof(dnode_phys_t, dn_blkptr);
dnode_phys_t *dnp, *adnp, *sdnp, *ddnp;
sdnp = (dnode_phys_t *)src;
ddnp = (dnode_phys_t *)dst;
crypt_len = offsetof(dnode_phys_t, dn_blkptr);
adnp = (dnode_phys_t *)aadp;
dnode_phys_t *dnp, *sdnp, *ddnp;
sdnp = (dnode_phys_t *)src;
ddnp = (dnode_phys_t *)dst;
const zbookmark_phys_t *zb, const dnode_phys_t *dnp, void *arg)