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

Lines Matching refs:zp

130  *	must be checked with ZFS_VERIFY_ZP(zp).  Both of these macros
136 * can be freed, so the zp may point to freed memory. Second, the last
222 znode_t *zp = VTOZ(*vpp);
223 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
226 ZFS_VERIFY_ZP(zp);
228 if ((flag & FWRITE) && (zp->z_pflags & ZFS_APPENDONLY) &&
234 if (!zfs_has_ctldir(zp) && zp->z_zfsvfs->z_vscan &&
235 ZTOV(zp)->v_type == VREG &&
236 !(zp->z_pflags & ZFS_AV_QUARANTINED) && zp->z_size > 0) {
245 atomic_inc_32(&zp->z_sync_cnt);
255 znode_t *zp = VTOZ(vp);
256 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
259 ZFS_VERIFY_ZP(zp);
263 atomic_dec_32(&zp->z_sync_cnt);
265 if (!zfs_has_ctldir(zp) && zp->z_zfsvfs->z_vscan &&
266 ZTOV(zp)->v_type == VREG &&
267 !(zp->z_pflags & ZFS_AV_QUARANTINED) && zp->z_size > 0)
468 update_pages(znode_t *zp, int64_t start, int len, objset_t *os)
472 vnode_t *vp = ZTOV(zp);
493 (void) dmu_read(os, zp->z_id, start + off, nbytes,
521 mappedread_sf(znode_t *zp, int nbytes, zfs_uio_t *uio)
523 vnode_t *vp = ZTOV(zp);
524 objset_t *os = zp->z_zfsvfs->z_os;
548 error = dmu_read(os, zp->z_id, start, bytes, va,
605 mappedread(znode_t *zp, int nbytes, zfs_uio_t *uio)
607 vnode_t *vp = ZTOV(zp);
638 error = dmu_read_uio_dbuf(sa_get_db(zp->z_sa_hdl),
652 zfs_write_simple(znode_t *zp, const void *data, size_t len,
658 error = vn_rdwr(UIO_WRITE, ZTOV(zp), __DECONST(void *, data), len, pos,
674 zfs_zrele_async(znode_t *zp)
676 vnode_t *vp = ZTOV(zp);
782 znode_t *zp;
836 if ((error = zfs_get_xattrdir(VTOZ(dvp), &zp, cr, flags))) {
840 *vpp = ZTOV(zp);
845 error = zfs_zaccess(zp, ACE_EXECUTE, 0, B_FALSE, cr);
847 vrele(ZTOV(zp));
923 error = zfs_dirlook(zdp, nm, &zp);
925 *vpp = ZTOV(zp);
954 vput(ZTOV(zp));
957 if (zp->z_id == parent) {
961 vput(ZTOV(zp));
1051 znode_t *zp;
1108 error = zfs_dirent_lookup(dzp, name, &zp, ZNEW);
1113 ASSERT3P(zp, ==, NULL);
1171 zfs_mknode(dzp, vap, tx, cr, 0, &zp, &acl_ids);
1175 (void) zfs_link_create(dzp, name, zp, tx, ZNEW);
1177 zfs_log_create(zilog, tx, txtype, dzp, zp, name,
1187 *zpp = zp;
1218 znode_t *zp;
1232 zp = VTOZ(vp);
1233 ZFS_VERIFY_ZP(zp);
1239 if ((error = zfs_zaccess_delete(dzp, zp, cr))) {
1253 obj = zp->z_id;
1256 error = sa_lookup(zp->z_sa_hdl, SA_ZPL_XATTR(zfsvfs),
1271 dmu_tx_hold_sa(tx, zp->z_sa_hdl, B_FALSE);
1272 zfs_sa_upgrade_txholds(tx, zp);
1276 dmu_tx_hold_sa(tx, zp->z_sa_hdl, B_TRUE);
1298 error = zfs_link_destroy(dzp, name, zp, tx, ZEXISTS, &unlinked);
1306 zfs_unlinked_add(zp, tx);
1404 znode_t *zp;
1471 if ((error = zfs_dirent_lookup(dzp, dirname, &zp, ZNEW))) {
1476 ASSERT3P(zp, ==, NULL);
1520 zfs_mknode(dzp, vap, tx, cr, 0, &zp, &acl_ids);
1528 (void) zfs_link_create(dzp, dirname, zp, tx, ZNEW);
1530 *zpp = zp;
1533 zfs_log_create(zilog, tx, txtype, dzp, zp, dirname, NULL,
1581 znode_t *zp = VTOZ(vp);
1589 ZFS_VERIFY_ZP(zp);
1593 if ((error = zfs_zaccess_delete(dzp, zp, cr))) {
1606 dmu_tx_hold_sa(tx, zp->z_sa_hdl, B_FALSE);
1608 zfs_sa_upgrade_txholds(tx, zp);
1618 error = zfs_link_destroy(dzp, name, zp, tx, ZEXISTS, NULL);
1682 znode_t *zp = VTOZ(vp);
1686 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
1706 ZFS_VERIFY_ZP(zp);
1708 if ((error = sa_lookup(zp->z_sa_hdl, SA_ZPL_PARENT(zfsvfs),
1732 if ((*eofp = zp->z_unlinked) != 0) {
1740 prefetch = zp->z_zn_prefetch;
1749 zap_cursor_init(&zc, os, zp->z_id);
1754 zap_cursor_init_serialized(&zc, os, zp->z_id, offset);
1812 objnum = zp->z_id;
1819 } else if (offset == 2 && zfs_show_ctldir(zp)) {
1839 (u_longlong_t)zp->z_id,
1868 if (zfs_zget(zp->z_zfsvfs, objnum, &ezp) != 0)
1935 if (offset > 2 || (offset == 2 && !zfs_show_ctldir(zp))) {
1951 zp->z_zn_prefetch = B_FALSE; /* a lookup will re-enable pre-fetching */
1977 ZFS_ACCESSTIME_STAMP(zfsvfs, zp);
2007 znode_t *zp = VTOZ(vp);
2008 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
2020 ZFS_VERIFY_ZP(zp);
2022 zfs_fuid_map_ids(zp, cr, &vap->va_uid, &vap->va_gid);
2031 if ((error = sa_bulk_lookup(zp->z_sa_hdl, bulk, count)) != 0) {
2041 if (!(zp->z_pflags & ZFS_ACL_TRIVIAL) &&
2043 if ((error = zfs_zaccess(zp, ACE_READ_ATTRIBUTES, 0,
2055 vap->va_type = IFTOVT(zp->z_mode);
2056 vap->va_mode = zp->z_mode & ~S_IFMT;
2058 vap->va_nodeid = zp->z_id;
2059 vap->va_nlink = zp->z_links;
2060 if ((vp->v_flag & VROOT) && zfs_show_ctldir(zp) &&
2061 zp->z_links < ZFS_LINK_MAX)
2063 vap->va_size = zp->z_size;
2066 vap->va_seq = zp->z_seq;
2068 vap->va_filerev = zp->z_seq;
2077 ((zp->z_pflags & ZFS_ARCHIVE) != 0);
2083 ((zp->z_pflags & ZFS_READONLY) != 0);
2089 ((zp->z_pflags & ZFS_SYSTEM) != 0);
2095 ((zp->z_pflags & ZFS_HIDDEN) != 0);
2101 ((zp->z_pflags & ZFS_NOUNLINK) != 0);
2107 ((zp->z_pflags & ZFS_IMMUTABLE) != 0);
2113 ((zp->z_pflags & ZFS_APPENDONLY) != 0);
2119 ((zp->z_pflags & ZFS_NODUMP) != 0);
2125 ((zp->z_pflags & ZFS_OPAQUE) != 0);
2131 ((zp->z_pflags & ZFS_AV_QUARANTINED) != 0);
2137 ((zp->z_pflags & ZFS_AV_MODIFIED) != 0);
2143 zfs_sa_get_scanstamp(zp, xvap);
2147 xoap->xoa_reparse = ((zp->z_pflags & ZFS_REPARSE) != 0);
2151 xoap->xoa_generation = zp->z_gen;
2157 ((zp->z_pflags & ZFS_OFFLINE) != 0);
2163 ((zp->z_pflags & ZFS_SPARSE) != 0);
2169 ((zp->z_pflags & ZFS_PROJINHERIT) != 0);
2174 xoap->xoa_projid = zp->z_projid;
2179 ZFS_TIME_DECODE(&vap->va_atime, zp->z_atime);
2185 sa_object_size(zp->z_sa_hdl, &blksize, &nblocks);
2189 if (zp->z_blksz == 0) {
2204 * IN: zp - znode of file to be modified.
2219 zfs_setattr(znode_t *zp, vattr_t *vap, int flags, cred_t *cr)
2221 vnode_t *vp = ZTOV(zp);
2222 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
2256 ZFS_VERIFY_ZP(zp);
2294 if ((zp->z_pflags & ZFS_IMMUTABLE) &&
2327 (!S_ISREG(zp->z_mode) && !S_ISDIR(zp->z_mode))) {
2338 if (projid == zp->z_projid && zp->z_pflags & ZFS_PROJID)
2346 ((zp->z_pflags & ZFS_PROJINHERIT) != 0)) &&
2348 (!S_ISREG(zp->z_mode) && !S_ISDIR(zp->z_mode)))) {
2374 err = zfs_freesp(zp, vap->va_size, 0, 0, FALSE);
2389 need_policy = zfs_zaccess(zp, ACE_WRITE_ATTRIBUTES, 0,
2404 vap->va_mode = zp->z_mode;
2426 if (zfs_zaccess(zp, ACE_WRITE_OWNER, 0,
2441 oldva.va_mode = zp->z_mode;
2442 zfs_fuid_map_ids(zp, cr, &oldva.va_uid, &oldva.va_gid);
2453 ((zp->z_pflags & ZFS_APPENDONLY) != 0)) {
2463 ((zp->z_pflags & ZFS_PROJINHERIT) != 0)) {
2473 ((zp->z_pflags & ZFS_NOUNLINK) != 0)) {
2483 ((zp->z_pflags & ZFS_IMMUTABLE) != 0)) {
2493 ((zp->z_pflags & ZFS_NODUMP) != 0)) {
2503 ((zp->z_pflags & ZFS_AV_MODIFIED) != 0)) {
2515 ((zp->z_pflags & ZFS_AV_QUARANTINED) != 0)) {
2536 if (zfs_zaccess(zp, ACE_WRITE_ACL, 0, skipaclchk, cr) == 0) {
2570 (int (*)(void *, int, cred_t *))zfs_zaccess_unix, zp);
2595 err = sa_lookup(zp->z_sa_hdl, SA_ZPL_XATTR(zfsvfs),
2599 err = zfs_zget(zp->z_zfsvfs, xattr_obj, &attrzp);
2611 if (new_uid != zp->z_uid &&
2624 if (new_gid != zp->z_gid &&
2645 uint64_t pmode = zp->z_mode;
2649 if (zp->z_zfsvfs->z_acl_mode == ZFS_ACL_RESTRICTED &&
2650 !(zp->z_pflags & ZFS_ACL_TRIVIAL)) {
2655 if ((err = zfs_acl_chmod_setattr(zp, &aclp, new_mode)))
2658 if (!zp->z_is_sa && ((acl_obj = zfs_external_acl(zp)) != 0)) {
2664 zfs_znode_acl_version(zp) ==
2674 } else if (!zp->z_is_sa && aclp->z_acl_bytes > ZFS_ACE_SPACE) {
2678 dmu_tx_hold_sa(tx, zp->z_sa_hdl, B_TRUE);
2683 !(zp->z_pflags & ZFS_PROJID)))
2684 dmu_tx_hold_sa(tx, zp->z_sa_hdl, B_TRUE);
2686 dmu_tx_hold_sa(tx, zp->z_sa_hdl, B_FALSE);
2697 zfs_sa_upgrade_txholds(tx, zp);
2712 if (projid != ZFS_INVALID_PROJID && !(zp->z_pflags & ZFS_PROJID)) {
2723 err = sa_add_projid(zp->z_sa_hdl, tx, projid);
2734 mutex_enter(&zp->z_acl_lock);
2737 &zp->z_pflags, sizeof (zp->z_pflags));
2758 zp->z_uid = new_uid;
2770 zp->z_gid = new_gid;
2781 new_mode = zp->z_mode;
2783 err = zfs_acl_chown_setattr(zp);
2796 zp->z_mode = new_mode;
2798 err = zfs_aclset_common(zp, aclp, cr, tx);
2800 if (zp->z_acl_cached)
2801 zfs_acl_free(zp->z_acl_cached);
2802 zp->z_acl_cached = aclp;
2808 ZFS_TIME_ENCODE(&vap->va_atime, zp->z_atime);
2810 &zp->z_atime, sizeof (zp->z_atime));
2820 zp->z_projid = projid;
2822 SA_ZPL_PROJID(zfsvfs), NULL, &zp->z_projid,
2823 sizeof (zp->z_projid));
2832 zfs_tstamp_update_setup(zp, CONTENT_MODIFIED, mtime, ctime);
2836 zfs_tstamp_update_setup(zp, STATE_CHANGED, mtime, ctime);
2885 zfs_xvattr_set(zp, xvap, tx);
2892 zfs_log_setattr(zilog, tx, TX_SETATTR, zp, vap, mask, fuidp);
2895 mutex_exit(&zp->z_acl_lock);
2922 err2 = sa_bulk_update(zp->z_sa_hdl, bulk, count, tx);
3121 znode_t *zp, *zp1;
3132 zp = tdzp;
3134 ASSERT(!zp->z_unlinked);
3135 if ((error = sa_lookup(zp->z_sa_hdl,
3152 if (zp != tdzp)
3153 VN_RELE_ASYNC(ZTOV(zp),
3156 zp = zp1;
3161 if (zp != tdzp)
3162 VN_RELE_ASYNC(ZTOV(zp),
3528 znode_t *zp;
3564 error = zfs_dirent_lookup(dzp, name, &zp, ZNEW);
3611 zfs_mknode(dzp, vap, tx, cr, 0, &zp, &acl_ids);
3616 if (zp->z_is_sa)
3617 error = sa_update(zp->z_sa_hdl, SA_ZPL_SYMLINK(zfsvfs),
3620 zfs_sa_symlink(zp, __DECONST(char *, link), len, tx);
3622 zp->z_size = len;
3623 (void) sa_update(zp->z_sa_hdl, SA_ZPL_SIZE(zfsvfs),
3624 &zp->z_size, sizeof (zp->z_size), tx);
3628 (void) zfs_link_create(dzp, name, zp, tx, ZNEW);
3630 zfs_log_symlink(zilog, tx, txtype, dzp, zp, name, link);
3631 *zpp = zp;
3666 znode_t *zp = VTOZ(vp);
3667 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
3671 ZFS_VERIFY_ZP(zp);
3673 if (zp->z_is_sa)
3674 error = sa_lookup_uio(zp->z_sa_hdl,
3677 error = zfs_sa_readlink(zp, uio);
3679 ZFS_ACCESSTIME_STAMP(zfsvfs, zp);
3850 zfs_space(znode_t *zp, int cmd, flock64_t *bfp, int flag,
3853 zfsvfs_t *zfsvfs = ZTOZSB(zp);
3858 ZFS_VERIFY_ZP(zp);
3885 if ((error = zfs_zaccess(zp, ACE_WRITE_DATA, 0, B_FALSE, cr))) {
3893 error = zfs_freesp(zp, off, len, flag, TRUE);
3903 znode_t *zp = VTOZ(vp);
3904 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
3908 if (zp->z_sa_hdl == NULL) {
3918 if (zp->z_unlinked) {
3927 if (zp->z_atime_dirty && zp->z_unlinked == 0) {
3930 dmu_tx_hold_sa(tx, zp->z_sa_hdl, B_FALSE);
3931 zfs_sa_upgrade_txholds(tx, zp);
3936 (void) sa_update(zp->z_sa_hdl, SA_ZPL_ATIME(zfsvfs),
3937 (void *)&zp->z_atime, sizeof (zp->z_atime), tx);
3938 zp->z_atime_dirty = 0;
3953 znode_t *zp = VTOZ(vp);
3954 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
3957 uint64_t object = zp->z_id;
3962 ZFS_VERIFY_ZP(zp);
3964 if ((error = sa_lookup(zp->z_sa_hdl, SA_ZPL_GEN(zfsvfs),
4010 znode_t *zp;
4026 zp = VTOZ(vp);
4027 zfsvfs = zp->z_zfsvfs;
4029 ZFS_VERIFY_ZP(zp);
4038 zp = VTOZ(vp);
4039 zfsvfs = zp->z_zfsvfs;
4041 ZFS_VERIFY_ZP(zp);
4059 znode_t *zp = VTOZ(vp);
4060 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
4061 objset_t *os = zp->z_zfsvfs->z_os;
4070 ZFS_VERIFY_ZP(zp);
4080 blksz = zp->z_blksz;
4081 lr = zfs_rangelock_tryenter(&zp->z_rangelock,
4095 if (blksz == zp->z_blksz)
4131 error = dmu_read_pages(os, zp->z_id, ma, count, &pgsin_b, &pgsin_a,
4136 ZFS_ACCESSTIME_STAMP(zfsvfs, zp);
4173 znode_t *zp = VTOZ(vp);
4174 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
4192 ZFS_VERIFY_ZP(zp);
4205 blksz = zp->z_blksz;
4208 lr = zfs_rangelock_enter(&zp->z_rangelock, lo_off, lo_len, RL_WRITER);
4247 if (zfs_id_overblockquota(zfsvfs, DMU_USERUSED_OBJECT, zp->z_uid) ||
4248 zfs_id_overblockquota(zfsvfs, DMU_GROUPUSED_OBJECT, zp->z_gid) ||
4249 (zp->z_projid != ZFS_DEFAULT_PROJID &&
4251 zp->z_projid))) {
4256 dmu_tx_hold_write(tx, zp->z_id, off, len);
4258 dmu_tx_hold_sa(tx, zp->z_sa_hdl, B_FALSE);
4259 zfs_sa_upgrade_txholds(tx, zp);
4266 if (zp->z_blksz < PAGE_SIZE) {
4270 dmu_write(zfsvfs->z_os, zp->z_id, off, tocopy, va, tx);
4274 err = dmu_write_pages(zfsvfs->z_os, zp->z_id, off, len, ma, tx);
4287 &zp->z_pflags, 8);
4288 zfs_tstamp_update_setup(zp, CONTENT_MODIFIED, mtime, ctime);
4289 err = sa_bulk_update(zp->z_sa_hdl, bulk, count, tx);
4295 zfs_log_write(zfsvfs->z_log, tx, TX_WRITE, zp, off,
4313 zil_commit(zfsvfs->z_log, zp->z_id);
4376 znode_t *zp = VTOZ(vp);
4381 vnode_create_vobject(vp, zp->z_size, ap->a_td);
4480 znode_t *zp;
4484 zp = VTOZ_SMR(vp);
4485 if (__predict_false(zp == NULL))
4487 pflags = atomic_load_64(&zp->z_pflags);
4503 znode_t *zp;
4507 zp = VTOZ_SMR(vp);
4508 if (__predict_false(zp == NULL)) {
4512 target = atomic_load_consume_ptr(&zp->z_cached_symlink);
4533 znode_t *zp = VTOZ(vp);
4539 if (zfs_fastaccesschk_execute(zp, ap->a_cred) == 0)
4548 error = zfs_access(zp, accmode, 0, ap->a_cred);
4557 error = vaccess(vp->v_type, zp->z_mode, zp->z_uid,
4558 zp->z_gid, accmode, ap->a_cred);
4560 error = vaccess(vp->v_type, zp->z_mode, zp->z_uid,
4561 zp->z_gid, accmode, ap->a_cred, NULL);
4571 (zp->z_mode & (S_IXUSR | S_IXGRP | S_IXOTH)) == 0) {
4641 znode_t *zp = NULL;
4652 &zp, cnp->cn_cred, 0 /* flag */, NULL /* vsecattr */);
4654 *ap->a_vpp = ZTOV(zp);
4693 znode_t *zp = NULL;
4701 rc = zfs_mkdir(VTOZ(ap->a_dvp), ap->a_cnp->cn_nameptr, vap, &zp,
4705 *ap->a_vpp = ZTOV(zp);
5006 znode_t *zp = NULL;
5020 ap->a_target, &zp, cnp->cn_cred, 0 /* flags */);
5022 *ap->a_vpp = ZTOV(zp);
5023 ASSERT_VOP_ELOCKED(ZTOV(zp), __func__);
5025 MPASS(zp->z_cached_symlink == NULL);
5031 atomic_store_rel_ptr((uintptr_t *)&zp->z_cached_symlink,
5053 znode_t *zp = VTOZ(ap->a_vp);
5071 if (atomic_load_ptr(&zp->z_cached_symlink) != NULL ||
5080 if (!atomic_cmpset_rel_ptr((uintptr_t *)&zp->z_cached_symlink,
5145 znode_t *zp = VTOZ(vp);
5146 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
5154 need = (zp->z_sa_hdl == NULL || zp->z_unlinked || zp->z_atime_dirty);
5172 znode_t *zp = VTOZ(vp);
5173 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
5175 ASSERT(zp != NULL);
5187 if (zp->z_sa_hdl == NULL)
5188 zfs_znode_free(zp);
5190 zfs_zinactive(zp);
5774 znode_t *zp = VTOZ(vp);
5779 ZFS_VERIFY_ZP(zp);
5785 if (zp->z_id != zfsvfs->z_root || zfsvfs->z_parent == zfsvfs) {
5790 error = zfs_znode_parent_and_name(zp, &dzp, name);