• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/contrib/openzfs/module/os/linux/zfs/

Lines Matching refs: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 ip = zfsctl_root(dzp);
427 error = zfs_dirent_lock(&dl, dzp, name, &zp, zf, deflg, rpnp);
431 dzp->z_zn_prefetch = B_TRUE; /* enable prefetching */
589 zfs_purgedir(znode_t *dzp)
595 zfsvfs_t *zfsvfs = ZTOZSB(dzp);
600 for (zap_cursor_init(&zc, zfsvfs->z_os, dzp->z_id);
614 dmu_tx_hold_sa(tx, dzp->z_sa_hdl, B_FALSE);
615 dmu_tx_hold_zap(tx, dzp->z_id, FALSE, zap.za_name);
629 dl.dl_dzp = dzp;
794 znode_t *dzp = dl->dl_dzp;
825 error = zap_add(ZTOZSB(zp)->z_os, dzp->z_id, dl->dl_name, 8, 1,
842 &dzp->z_id, sizeof (dzp->z_id));
857 mutex_enter(&dzp->z_lock);
858 dzp->z_size++;
860 inc_nlink(ZTOI(dzp));
861 links = ZTOI(dzp)->i_nlink;
864 &dzp->z_size, sizeof (dzp->z_size));
872 &dzp->z_pflags, sizeof (dzp->z_pflags));
873 zfs_tstamp_update_setup(dzp, CONTENT_MODIFIED, mtime, ctime);
874 error = sa_bulk_update(dzp->z_sa_hdl, bulk, count, tx);
876 mutex_exit(&dzp->z_lock);
904 zfs_dropname(zfs_dirlock_t *dl, znode_t *zp, znode_t *dzp, dmu_tx_t *tx,
919 error = zap_remove_norm(ZTOZSB(zp)->z_os, dzp->z_id,
922 error = zap_remove(ZTOZSB(zp)->z_os, dzp->z_id, dl->dl_name,
940 znode_t *dzp = dl->dl_dzp;
941 zfsvfs_t *zfsvfs = ZTOZSB(dzp);
963 error = zfs_dropname(dl, zp, dzp, tx, flag);
996 error = zfs_dropname(dl, zp, dzp, tx, flag);
1001 mutex_enter(&dzp->z_lock);
1002 dzp->z_size--; /* one dirent removed */
1004 drop_nlink(ZTOI(dzp)); /* ".." link from zp */
1005 links = ZTOI(dzp)->i_nlink;
1009 NULL, &dzp->z_size, sizeof (dzp->z_size));
1015 NULL, &dzp->z_pflags, sizeof (dzp->z_pflags));
1016 zfs_tstamp_update_setup(dzp, CONTENT_MODIFIED, mtime, ctime);
1017 error = sa_bulk_update(dzp->z_sa_hdl, bulk, count, tx);
1019 mutex_exit(&dzp->z_lock);
1038 zfs_dirempty(znode_t *dzp)
1040 zfsvfs_t *zfsvfs = ZTOZSB(dzp);
1044 if (dzp->z_dirlocks != NULL)
1047 error = zap_count(zfsvfs->z_os, dzp->z_id, &count);