Lines Matching defs:dzp
69 zfs_match_find(zfsvfs_t *zfsvfs, znode_t *dzp, const char *name,
80 error = zap_lookup_norm(zfsvfs->z_os, dzp->z_id, name, 8, 1,
83 error = zap_lookup(zfsvfs->z_os, dzp->z_id, name, 8, 1, zoid);
97 * dzp - znode for directory
101 * ZXATTR: we want dzp's xattr directory
111 zfs_dirent_lookup(znode_t *dzp, const char *name, znode_t **zpp, int flag)
113 zfsvfs_t *zfsvfs = dzp->z_zfsvfs;
120 ASSERT_VOP_LOCKED(ZTOV(dzp), __func__);
129 (zfs_has_ctldir(dzp) && strcmp(name, ZFS_CTLDIR_NAME) == 0)))
172 if (dzp->z_unlinked && !(flag & ZXATTR))
175 error = sa_lookup(dzp->z_sa_hdl, SA_ZPL_XATTR(zfsvfs), &zoid,
180 error = zfs_match_find(zfsvfs, dzp, name, mt, &zoid);
201 zfs_dd_lookup(znode_t *dzp, znode_t **zpp)
203 zfsvfs_t *zfsvfs = dzp->z_zfsvfs;
210 ASSERT_VOP_LOCKED(ZTOV(dzp), __func__);
212 if (dzp->z_unlinked)
215 if ((error = sa_lookup(dzp->z_sa_hdl,
226 zfs_dirlook(znode_t *dzp, const char *name, znode_t **zpp)
228 zfsvfs_t *zfsvfs __unused = dzp->z_zfsvfs;
234 ASSERT_VOP_LOCKED(ZTOV(dzp), __func__);
236 if (dzp->z_unlinked)
240 *zpp = dzp;
242 error = zfs_dd_lookup(dzp, &zp);
246 error = zfs_dirent_lookup(dzp, name, &zp, ZEXISTS);
248 dzp->z_zn_prefetch = B_TRUE; /* enable prefetching */
370 zfs_purgedir(znode_t *dzp)
376 zfsvfs_t *zfsvfs = dzp->z_zfsvfs;
381 for (zap_cursor_init(&zc, zfsvfs->z_os, dzp->z_id);
396 dmu_tx_hold_sa(tx, dzp->z_sa_hdl, B_FALSE);
397 dmu_tx_hold_zap(tx, dzp->z_id, FALSE, zap->za_name);
411 error = zfs_link_destroy(dzp, zap->za_name, xzp, tx, 0, NULL);
576 * Link zp into dzp. Can only fail if zp has been unlinked.
579 zfs_link_create(znode_t *dzp, const char *name, znode_t *zp, dmu_tx_t *tx,
592 ASSERT_VOP_ELOCKED(ZTOV(dzp), __func__);
596 if (dzp->z_links >= ZFS_LINK_MAX)
615 error = zap_add(zp->z_zfsvfs->z_os, dzp->z_id, name,
640 &dzp->z_id, sizeof (dzp->z_id));
653 dzp->z_size++;
654 dzp->z_links += zp_is_dir;
657 &dzp->z_size, sizeof (dzp->z_size));
659 &dzp->z_links, sizeof (dzp->z_links));
665 &dzp->z_pflags, sizeof (dzp->z_pflags));
666 zfs_tstamp_update_setup(dzp, CONTENT_MODIFIED, mtime, ctime);
667 error = sa_bulk_update(dzp->z_sa_hdl, bulk, count, tx);
695 zfs_dropname(znode_t *dzp, const char *name, znode_t *zp, dmu_tx_t *tx,
707 error = zap_remove_norm(zp->z_zfsvfs->z_os, dzp->z_id,
710 error = zap_remove(zp->z_zfsvfs->z_os, dzp->z_id, name, tx);
717 * Unlink zp from dzp, and mark zp for deletion if this was the last link.
724 zfs_link_destroy(znode_t *dzp, const char *name, znode_t *zp, dmu_tx_t *tx,
727 zfsvfs_t *zfsvfs = dzp->z_zfsvfs;
737 ASSERT_VOP_ELOCKED(ZTOV(dzp), __func__);
750 error = zfs_dropname(dzp, name, zp, tx, flag);
781 error = zfs_dropname(dzp, name, zp, tx, flag);
786 dzp->z_size--; /* one dirent removed */
787 dzp->z_links -= zp_is_dir; /* ".." link from zp */
789 NULL, &dzp->z_links, sizeof (dzp->z_links));
791 NULL, &dzp->z_size, sizeof (dzp->z_size));
797 NULL, &dzp->z_pflags, sizeof (dzp->z_pflags));
798 zfs_tstamp_update_setup(dzp, CONTENT_MODIFIED, mtime, ctime);
799 error = sa_bulk_update(dzp->z_sa_hdl, bulk, count, tx);
814 zfs_dirempty(znode_t *dzp)
816 return (dzp->z_size == 2);