Lines Matching defs:dzp

63 zfs_match_find(zfsvfs_t *zfsvfs, znode_t *dzp, const char *name,
83 error = zap_lookup_norm(zfsvfs->z_os, dzp->z_id, name, 8, 1,
86 error = zap_lookup(zfsvfs->z_os, dzp->z_id, name, 8, 1, zoid);
108 * Lock a directory entry. A dirlock on <dzp, name> protects that name
109 * in dzp's directory zap object. As long as you hold a dirlock, you can
110 * assume two things: (1) dzp cannot be reaped, and (2) no other thread
114 * dzp - znode for directory
119 * ZXATTR: we want dzp's xattr directory
143 zfs_dirent_lock(zfs_dirlock_t **dlpp, znode_t *dzp, char *name,
146 zfsvfs_t *zfsvfs = ZTOZSB(dzp);
162 (zfs_has_ctldir(dzp) && strcmp(name, ZFS_CTLDIR_NAME) == 0))
242 rw_enter(&dzp->z_name_lock, RW_READER);
244 mutex_enter(&dzp->z_lock);
246 if (dzp->z_unlinked && !(flag & ZXATTR)) {
247 mutex_exit(&dzp->z_lock);
249 rw_exit(&dzp->z_name_lock);
252 for (dl = dzp->z_dirlocks; dl != NULL; dl = dl->dl_next) {
258 mutex_exit(&dzp->z_lock);
260 rw_exit(&dzp->z_name_lock);
273 dl->dl_dzp = dzp;
274 dl->dl_next = dzp->z_dirlocks;
275 dzp->z_dirlocks = dl;
280 cv_wait(&dl->dl_cv, &dzp->z_lock);
304 mutex_exit(&dzp->z_lock);
308 * not the dzp's z_lock, that protects the name in the zap object.)
312 error = sa_lookup(dzp->z_sa_hdl, SA_ZPL_XATTR(zfsvfs), &zoid,
317 error = zfs_match_find(zfsvfs, dzp, name, mt,
348 znode_t *dzp = dl->dl_dzp;
351 mutex_enter(&dzp->z_lock);
354 rw_exit(&dzp->z_name_lock);
358 mutex_exit(&dzp->z_lock);
361 prev_dl = &dzp->z_dirlocks;
366 mutex_exit(&dzp->z_lock);
383 zfs_dirlook(znode_t *dzp, char *name, znode_t **zpp, int flags,
393 *zpp = dzp;
396 zfsvfs_t *zfsvfs = ZTOZSB(dzp);
402 if ((error = sa_lookup(dzp->z_sa_hdl,
406 if (parent == dzp->z_id && zfsvfs->z_parent != zfsvfs) {
412 rw_enter(&dzp->z_parent_lock, RW_READER);
416 rw_exit(&dzp->z_parent_lock);
417 } else if (zfs_has_ctldir(dzp) && strcmp(name, ZFS_CTLDIR_NAME) == 0) {
418 if (ZTOZSB(dzp)->z_show_ctldir == ZFS_SNAPDIR_DISABLED) {
421 ip = zfsctl_root(dzp);
430 error = zfs_dirent_lock(&dl, dzp, name, &zp, zf, deflg, rpnp);
434 dzp->z_zn_prefetch = B_TRUE; /* enable prefetching */
593 zfs_purgedir(znode_t *dzp)
599 zfsvfs_t *zfsvfs = ZTOZSB(dzp);
604 for (zap_cursor_init(&zc, zfsvfs->z_os, dzp->z_id);
618 dmu_tx_hold_sa(tx, dzp->z_sa_hdl, B_FALSE);
619 dmu_tx_hold_zap(tx, dzp->z_id, FALSE, zap->za_name);
633 dl.dl_dzp = dzp;
806 znode_t *dzp = dl->dl_dzp;
837 error = zap_add(ZTOZSB(zp)->z_os, dzp->z_id, dl->dl_name, 8, 1,
863 &dzp->z_id, sizeof (dzp->z_id));
878 mutex_enter(&dzp->z_lock);
879 dzp->z_size++;
881 inc_nlink(ZTOI(dzp));
882 links = ZTOI(dzp)->i_nlink;
885 &dzp->z_size, sizeof (dzp->z_size));
893 &dzp->z_pflags, sizeof (dzp->z_pflags));
894 zfs_tstamp_update_setup(dzp, CONTENT_MODIFIED, mtime, ctime);
895 error = sa_bulk_update(dzp->z_sa_hdl, bulk, count, tx);
897 mutex_exit(&dzp->z_lock);
925 zfs_dropname(zfs_dirlock_t *dl, znode_t *zp, znode_t *dzp, dmu_tx_t *tx,
940 error = zap_remove_norm(ZTOZSB(zp)->z_os, dzp->z_id,
943 error = zap_remove(ZTOZSB(zp)->z_os, dzp->z_id, dl->dl_name,
1029 znode_t *dzp = dl->dl_dzp;
1030 zfsvfs_t *zfsvfs = ZTOZSB(dzp);
1052 error = zfs_dropname(dl, zp, dzp, tx, flag);
1063 error = zfs_dropname(dl, zp, dzp, tx, flag);
1068 mutex_enter(&dzp->z_lock);
1069 dzp->z_size--; /* one dirent removed */
1071 drop_nlink(ZTOI(dzp)); /* ".." link from zp */
1072 links = ZTOI(dzp)->i_nlink;
1076 NULL, &dzp->z_size, sizeof (dzp->z_size));
1082 NULL, &dzp->z_pflags, sizeof (dzp->z_pflags));
1083 zfs_tstamp_update_setup(dzp, CONTENT_MODIFIED, mtime, ctime);
1084 error = sa_bulk_update(dzp->z_sa_hdl, bulk, count, tx);
1086 mutex_exit(&dzp->z_lock);
1105 zfs_dirempty(znode_t *dzp)
1107 zfsvfs_t *zfsvfs = ZTOZSB(dzp);
1111 if (dzp->z_dirlocks != NULL)
1114 error = zap_count(zfsvfs->z_os, dzp->z_id, &count);