Lines Matching refs:zp

93  *	must be checked with ZFS_VERIFY_ZP(zp).  Both of these macros
99 * can be freed, so the zp may point to freed memory. Second, the last
185 znode_t *zp = VTOZ(*vpp);
186 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
189 ZFS_VERIFY_ZP(zp);
191 if ((flag & FWRITE) && (zp->z_pflags & ZFS_APPENDONLY) &&
197 if (!zfs_has_ctldir(zp) && zp->z_zfsvfs->z_vscan &&
198 ZTOV(zp)->v_type == VREG &&
199 !(zp->z_pflags & ZFS_AV_QUARANTINED) && zp->z_size > 0) {
208 atomic_inc_32(&zp->z_sync_cnt);
219 znode_t *zp = VTOZ(vp);
220 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
229 ZFS_VERIFY_ZP(zp);
233 atomic_dec_32(&zp->z_sync_cnt);
235 if (!zfs_has_ctldir(zp) && zp->z_zfsvfs->z_vscan &&
236 ZTOV(zp)->v_type == VREG &&
237 !(zp->z_pflags & ZFS_AV_QUARANTINED) && zp->z_size > 0)
251 znode_t *zp = VTOZ(vp);
257 file_sz = zp->z_size;
267 error = dmu_offset_next(zp->z_zfsvfs->z_os, zp->z_id, hole, &noff);
300 znode_t *zp;
327 zp = VTOZ(vp);
328 zfsvfs = zp->z_zfsvfs;
330 ZFS_VERIFY_ZP(zp);
353 zp = VTOZ(vp);
354 zfsvfs = zp->z_zfsvfs;
356 ZFS_VERIFY_ZP(zp);
363 error = dmu_object_wait_synced(zfsvfs->z_os, zp->z_id);
372 error = dmu_object_info(zfsvfs->z_os, zp->z_id, &doi);
563 znode_t *zp = VTOZ(vp);
564 objset_t *os = zp->z_zfsvfs->z_os;
589 error = dmu_read(os, zp->z_id, start, bytes, va,
633 znode_t *zp = VTOZ(vp);
664 error = dmu_read_uio_dbuf(sa_get_db(zp->z_sa_hdl),
700 znode_t *zp = VTOZ(vp);
701 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
708 ZFS_VERIFY_ZP(zp);
710 if (zp->z_pflags & ZFS_AV_QUARANTINED) {
734 if (MANDMODE(zp->z_mode)) {
747 zil_commit(zfsvfs->z_log, zp->z_id);
752 rl = zfs_range_lock(zp, uio->uio_loffset, uio->uio_resid, RL_READER);
758 if (uio->uio_loffset >= zp->z_size) {
763 ASSERT(uio->uio_loffset < zp->z_size);
764 n = MIN(uio->uio_resid, zp->z_size - uio->uio_loffset);
770 int blksz = zp->z_blksz;
790 dmu_request_arcbuf(sa_get_db(zp->z_sa_hdl),
809 error = dmu_read_uio_dbuf(sa_get_db(zp->z_sa_hdl),
824 ZFS_ACCESSTIME_STAMP(zfsvfs, zp);
852 znode_t *zp = VTOZ(vp);
858 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
887 ZFS_VERIFY_ZP(zp);
892 &zp->z_size, 8);
894 &zp->z_pflags, 8);
899 if ((zp->z_pflags & (ZFS_IMMUTABLE | ZFS_READONLY)) ||
900 ((zp->z_pflags & ZFS_APPENDONLY) && !(ioflag & FAPPEND) &&
901 (uio->uio_loffset < zp->z_size))) {
911 woff = ioflag & FAPPEND ? zp->z_size : uio->uio_loffset;
921 if (MANDMODE((mode_t)zp->z_mode) &&
948 rl = zfs_range_lock(zp, 0, n, RL_APPEND);
956 woff = zp->z_size;
965 rl = zfs_range_lock(zp, woff, n, RL_WRITER);
984 write_eof = (woff + n > zp->z_size);
986 end_size = MAX(zp->z_size, woff + n);
996 if (zfs_owner_overquota(zfsvfs, zp, B_FALSE) ||
997 zfs_owner_overquota(zfsvfs, zp, B_TRUE)) {
1016 woff >= zp->z_size &&
1018 zp->z_blksz == max_blksz) {
1028 abuf = dmu_request_arcbuf(sa_get_db(zp->z_sa_hdl),
1044 dmu_tx_hold_sa(tx, zp->z_sa_hdl, B_FALSE);
1045 dmu_tx_hold_write(tx, zp->z_id, woff, MIN(n, max_blksz));
1046 zfs_sa_upgrade_txholds(tx, zp);
1064 if (zp->z_blksz > max_blksz) {
1070 ASSERT(!ISP2(zp->z_blksz));
1072 1 << highbit64(zp->z_blksz));
1076 zfs_grow_blocksize(zp, new_blksz, tx);
1086 if (woff + nbytes > zp->z_size)
1091 error = dmu_write_uio_dbuf(sa_get_db(zp->z_sa_hdl),
1106 dmu_write(zfsvfs->z_os, zp->z_id, woff,
1112 dmu_assign_arcbuf(sa_get_db(zp->z_sa_hdl),
1120 zp->z_id, uio->uio_segflg, tx);
1128 (void) sa_update(zp->z_sa_hdl, SA_ZPL_SIZE(zfsvfs),
1129 (void *)&zp->z_size, sizeof (uint64_t), tx);
1146 mutex_enter(&zp->z_acl_lock);
1147 if ((zp->z_mode & (S_IXUSR | (S_IXUSR >> 3) |
1149 (zp->z_mode & (S_ISUID | S_ISGID)) != 0 &&
1151 (zp->z_mode & S_ISUID) != 0 && zp->z_uid == 0) != 0) {
1153 zp->z_mode &= ~(S_ISUID | S_ISGID);
1154 newmode = zp->z_mode;
1155 (void) sa_update(zp->z_sa_hdl, SA_ZPL_MODE(zfsvfs),
1158 mutex_exit(&zp->z_acl_lock);
1160 zfs_tstamp_update_setup(zp, CONTENT_MODIFIED, mtime, ctime,
1167 while ((end_size = zp->z_size) < uio->uio_loffset) {
1168 (void) atomic_cas_64(&zp->z_size, end_size,
1178 zp->z_size = zfsvfs->z_replay_eof;
1180 error = sa_bulk_update(zp->z_sa_hdl, bulk, count, tx);
1182 zfs_log_write(zilog, tx, TX_WRITE, zp, woff, tx_bytes, ioflag);
1209 zil_commit(zilog, zp->z_id);
1218 znode_t *zp = zgd->zgd_private;
1219 objset_t *os = zp->z_zfsvfs->z_os;
1230 VN_RELE_ASYNC(ZTOV(zp), dsl_pool_vnrele_taskq(dmu_objset_pool(os)));
1250 znode_t *zp;
1265 if (zfs_zget(zfsvfs, object, &zp) != 0)
1267 if (zp->z_unlinked) {
1272 VN_RELE_ASYNC(ZTOV(zp),
1279 zgd->zgd_private = zp;
1289 zgd->zgd_rl = zfs_range_lock(zp, offset, size, RL_READER);
1291 if (offset >= zp->z_size) {
1307 size = zp->z_blksz;
1310 zgd->zgd_rl = zfs_range_lock(zp, offset, size,
1312 if (zp->z_blksz == size)
1318 if (lr->lr_offset >= zp->z_size)
1345 ASSERT(error || lr->lr_length <= zp->z_blksz);
1373 znode_t *zp = VTOZ(vp);
1374 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
1378 ZFS_VERIFY_ZP(zp);
1381 error = zfs_zaccess(zp, mode, flag, B_FALSE, cr);
1383 error = zfs_zaccess_rwx(zp, mode, flag, cr);
1635 znode_t *zp, *dzp = VTOZ(dvp);
1700 zp = dzp;
1704 /* possible VN_HOLD(zp) */
1710 error = zfs_dirent_lock(&dl, dzp, name, &zp, zflg,
1723 if (zp == NULL) {
1790 zfs_mknode(dzp, vap, tx, cr, 0, &zp, &acl_ids);
1795 (void) zfs_link_create(dl, zp, tx, ZNEW);
1799 zfs_log_create(zilog, tx, txtype, dzp, zp, name,
1823 if ((ZTOV(zp)->v_type == VDIR) && (mode & S_IWRITE)) {
1830 if (mode && (error = zfs_zaccess_rwx(zp, mode, aflags, cr))) {
1841 if ((ZTOV(zp)->v_type == VREG) &&
1846 error = zfs_freesp(zp, 0, 0, mode, TRUE);
1848 vnevent_create(ZTOV(zp), ct);
1858 if (zp)
1859 VN_RELE(ZTOV(zp));
1861 *vpp = ZTOV(zp);
1895 znode_t *zp, *dzp = VTOZ(dvp);
1930 if (error = zfs_dirent_lock(&dl, dzp, name, &zp, zflg,
1938 vp = ZTOV(zp);
1940 if (error = zfs_zaccess_delete(dzp, zp, cr)) {
1969 obj = zp->z_id;
1972 dmu_tx_hold_sa(tx, zp->z_sa_hdl, B_FALSE);
1973 zfs_sa_upgrade_txholds(tx, zp);
1977 zp->z_size > zp->z_blksz * DMU_MAX_DELETEBLKCNT;
1979 dmu_tx_hold_free(tx, zp->z_id, 0,
1984 error = sa_lookup(zp->z_sa_hdl, SA_ZPL_XATTR(zfsvfs),
1989 dmu_tx_hold_sa(tx, zp->z_sa_hdl, B_TRUE);
1993 mutex_enter(&zp->z_lock);
1994 if ((acl_obj = zfs_external_acl(zp)) != 0 && may_delete_now)
1996 mutex_exit(&zp->z_lock);
2031 error = zfs_link_destroy(dl, zp, tx, zflg, &unlinked);
2044 mutex_enter(&zp->z_lock);
2046 (void) sa_lookup(zp->z_sa_hdl, SA_ZPL_XATTR(zfsvfs),
2050 xattr_obj == xattr_obj_unlinked && zfs_external_acl(zp) ==
2070 if (zp->z_is_sa)
2071 error = sa_remove(zp->z_sa_hdl,
2074 error = sa_update(zp->z_sa_hdl,
2083 mutex_exit(&zp->z_lock);
2084 zfs_znode_delete(zp, tx);
2086 mutex_exit(&zp->z_lock);
2087 zfs_unlinked_add(zp, tx);
2142 znode_t *zp, *dzp = VTOZ(dvp);
2217 if (error = zfs_dirent_lock(&dl, dzp, dirname, &zp, zf,
2277 zfs_mknode(dzp, vap, tx, cr, 0, &zp, &acl_ids);
2285 (void) zfs_link_create(dl, zp, tx, ZNEW);
2287 *vpp = ZTOV(zp);
2292 zfs_log_create(zilog, tx, txtype, dzp, zp, dirname, vsecp,
2333 znode_t *zp;
2350 zp = NULL;
2355 if (error = zfs_dirent_lock(&dl, dzp, name, &zp, zflg,
2361 vp = ZTOV(zp);
2363 if (error = zfs_zaccess_delete(dzp, zp, cr)) {
2383 rw_enter(&zp->z_name_lock, RW_WRITER);
2389 rw_enter(&zp->z_parent_lock, RW_WRITER);
2393 dmu_tx_hold_sa(tx, zp->z_sa_hdl, B_FALSE);
2395 zfs_sa_upgrade_txholds(tx, zp);
2399 rw_exit(&zp->z_parent_lock);
2400 rw_exit(&zp->z_name_lock);
2418 error = zfs_link_destroy(dl, zp, tx, zflg, NULL);
2429 rw_exit(&zp->z_parent_lock);
2430 rw_exit(&zp->z_name_lock);
2475 znode_t *zp = VTOZ(vp);
2479 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
2499 ZFS_VERIFY_ZP(zp);
2501 if ((error = sa_lookup(zp->z_sa_hdl, SA_ZPL_PARENT(zfsvfs),
2525 if ((*eofp = zp->z_unlinked) != 0) {
2533 prefetch = zp->z_zn_prefetch;
2542 zap_cursor_init(&zc, os, zp->z_id);
2547 zap_cursor_init_serialized(&zc, os, zp->z_id, offset);
2604 objnum = zp->z_id;
2611 } else if (offset == 2 && zfs_show_ctldir(zp)) {
2631 (u_longlong_t)zp->z_id,
2660 if (zfs_zget(zp->z_zfsvfs, objnum, &ezp) != 0)
2724 if (offset > 2 || (offset == 2 && !zfs_show_ctldir(zp))) {
2737 zp->z_zn_prefetch = B_FALSE; /* a lookup will re-enable pre-fetching */
2762 ZFS_ACCESSTIME_STAMP(zfsvfs, zp);
2779 znode_t *zp = VTOZ(vp);
2780 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
2786 ZFS_VERIFY_ZP(zp);
2787 zil_commit(zfsvfs->z_log, zp->z_id);
2814 znode_t *zp = VTOZ(vp);
2815 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
2828 ZFS_VERIFY_ZP(zp);
2830 zfs_fuid_map_ids(zp, cr, &vap->va_uid, &vap->va_gid);
2839 if ((error = sa_bulk_lookup(zp->z_sa_hdl, bulk, count)) != 0) {
2849 if (!(zp->z_pflags & ZFS_ACL_TRIVIAL) &&
2851 if (error = zfs_zaccess(zp, ACE_READ_ATTRIBUTES, 0,
2863 mutex_enter(&zp->z_lock);
2864 vap->va_type = IFTOVT(zp->z_mode);
2865 vap->va_mode = zp->z_mode & ~S_IFMT;
2867 vap->va_fsid = zp->z_zfsvfs->z_vfs->vfs_dev;
2871 vap->va_nodeid = zp->z_id;
2872 if ((vp->v_flag & VROOT) && zfs_show_ctldir(zp))
2873 links = zp->z_links + 1;
2875 links = zp->z_links;
2877 vap->va_size = zp->z_size;
2884 vap->va_seq = zp->z_seq;
2886 vap->va_filerev = zp->z_seq;
2895 ((zp->z_pflags & ZFS_ARCHIVE) != 0);
2901 ((zp->z_pflags & ZFS_READONLY) != 0);
2907 ((zp->z_pflags & ZFS_SYSTEM) != 0);
2913 ((zp->z_pflags & ZFS_HIDDEN) != 0);
2919 ((zp->z_pflags & ZFS_NOUNLINK) != 0);
2925 ((zp->z_pflags & ZFS_IMMUTABLE) != 0);
2931 ((zp->z_pflags & ZFS_APPENDONLY) != 0);
2937 ((zp->z_pflags & ZFS_NODUMP) != 0);
2943 ((zp->z_pflags & ZFS_OPAQUE) != 0);
2949 ((zp->z_pflags & ZFS_AV_QUARANTINED) != 0);
2955 ((zp->z_pflags & ZFS_AV_MODIFIED) != 0);
2961 zfs_sa_get_scanstamp(zp, xvap);
2967 (void) sa_lookup(zp->z_sa_hdl, SA_ZPL_CRTIME(zfsvfs),
2974 xoap->xoa_reparse = ((zp->z_pflags & ZFS_REPARSE) != 0);
2978 xoap->xoa_generation = zp->z_gen;
2984 ((zp->z_pflags & ZFS_OFFLINE) != 0);
2990 ((zp->z_pflags & ZFS_SPARSE) != 0);
2995 ZFS_TIME_DECODE(&vap->va_atime, zp->z_atime);
3000 mutex_exit(&zp->z_lock);
3002 sa_object_size(zp->z_sa_hdl, &blksize, &nblocks);
3006 if (zp->z_blksz == 0) {
3039 znode_t *zp = VTOZ(vp);
3040 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
3072 ZFS_VERIFY_ZP(zp);
3110 if ((zp->z_pflags & ZFS_IMMUTABLE) &&
3117 if ((mask & AT_SIZE) && (zp->z_pflags & ZFS_READONLY)) {
3158 err = zfs_freesp(zp, vap->va_size, 0, 0, FALSE);
3173 need_policy = zfs_zaccess(zp, ACE_WRITE_ATTRIBUTES, 0,
3188 vap->va_mode = zp->z_mode;
3210 if (zfs_zaccess(zp, ACE_WRITE_OWNER, 0,
3225 mutex_enter(&zp->z_lock);
3226 oldva.va_mode = zp->z_mode;
3227 zfs_fuid_map_ids(zp, cr, &oldva.va_uid, &oldva.va_gid);
3238 ((zp->z_pflags & ZFS_APPENDONLY) != 0)) {
3248 ((zp->z_pflags & ZFS_NOUNLINK) != 0)) {
3258 ((zp->z_pflags & ZFS_IMMUTABLE) != 0)) {
3268 ((zp->z_pflags & ZFS_NODUMP) != 0)) {
3278 ((zp->z_pflags & ZFS_AV_MODIFIED) != 0)) {
3290 ((zp->z_pflags & ZFS_AV_QUARANTINED) != 0)) {
3299 mutex_exit(&zp->z_lock);
3311 mutex_exit(&zp->z_lock);
3314 if (zfs_zaccess(zp, ACE_WRITE_ACL, 0, skipaclchk, cr) == 0) {
3348 (int (*)(void *, int, cred_t *))zfs_zaccess_unix, zp);
3373 err = sa_lookup(zp->z_sa_hdl, SA_ZPL_XATTR(zfsvfs),
3377 err = zfs_zget(zp->z_zfsvfs, xattr_obj, &attrzp);
3384 if (new_uid != zp->z_uid &&
3396 if (new_gid != zp->z_gid &&
3408 uint64_t pmode = zp->z_mode;
3412 if (zp->z_zfsvfs->z_acl_mode == ZFS_ACL_RESTRICTED &&
3413 !(zp->z_pflags & ZFS_ACL_TRIVIAL)) {
3418 if (err = zfs_acl_chmod_setattr(zp, &aclp, new_mode))
3421 mutex_enter(&zp->z_lock);
3422 if (!zp->z_is_sa && ((acl_obj = zfs_external_acl(zp)) != 0)) {
3428 zfs_znode_acl_version(zp) ==
3438 } else if (!zp->z_is_sa && aclp->z_acl_bytes > ZFS_ACE_SPACE) {
3442 mutex_exit(&zp->z_lock);
3443 dmu_tx_hold_sa(tx, zp->z_sa_hdl, B_TRUE);
3447 dmu_tx_hold_sa(tx, zp->z_sa_hdl, B_TRUE);
3449 dmu_tx_hold_sa(tx, zp->z_sa_hdl, B_FALSE);
3460 zfs_sa_upgrade_txholds(tx, zp);
3477 mutex_enter(&zp->z_acl_lock);
3478 mutex_enter(&zp->z_lock);
3481 &zp->z_pflags, sizeof (zp->z_pflags));
3497 zp->z_uid = new_uid;
3509 zp->z_gid = new_gid;
3520 new_mode = zp->z_mode;
3522 err = zfs_acl_chown_setattr(zp);
3533 zp->z_mode = new_mode;
3535 err = zfs_aclset_common(zp, aclp, cr, tx);
3537 if (zp->z_acl_cached)
3538 zfs_acl_free(zp->z_acl_cached);
3539 zp->z_acl_cached = aclp;
3545 ZFS_TIME_ENCODE(&vap->va_atime, zp->z_atime);
3547 &zp->z_atime, sizeof (zp->z_atime));
3562 zfs_tstamp_update_setup(zp, CONTENT_MODIFIED, mtime, ctime,
3567 zfs_tstamp_update_setup(zp, STATE_CHANGED, mtime, ctime,
3611 zfs_xvattr_set(zp, xvap, tx);
3618 zfs_log_setattr(zilog, tx, TX_SETATTR, zp, vap, mask, fuidp);
3620 mutex_exit(&zp->z_lock);
3622 mutex_exit(&zp->z_acl_lock);
3652 err2 = sa_bulk_update(zp->z_sa_hdl, bulk, count, tx);
3697 znode_t *zp = tdzp;
3698 uint64_t rootid = zp->z_zfsvfs->z_root;
3699 uint64_t oidp = zp->z_id;
3704 * First pass write-locks szp and compares to zp->z_id.
3705 * Later passes read-lock zp and compare to zp->z_parent.
3714 if (rw == RW_READER && zp->z_id > szp->z_id) {
3720 zp = tdzp;
3721 oidp = zp->z_id;
3746 int error = zfs_zget(zp->z_zfsvfs, oidp, &zp);
3749 zl->zl_znode = zp;
3751 (void) sa_lookup(zp->z_sa_hdl, SA_ZPL_PARENT(zp->z_zfsvfs),
3753 rwlp = &zp->z_parent_lock;
3756 } while (zp->z_id != sdzp->z_id);
4158 znode_t *zp, *dzp = VTOZ(dvp);
4203 error = zfs_dirent_lock(&dl, dzp, name, &zp, zflg, NULL, NULL);
4259 zfs_mknode(dzp, vap, tx, cr, 0, &zp, &acl_ids);
4264 mutex_enter(&zp->z_lock);
4265 if (zp->z_is_sa)
4266 error = sa_update(zp->z_sa_hdl, SA_ZPL_SYMLINK(zfsvfs),
4269 zfs_sa_symlink(zp, link, len, tx);
4270 mutex_exit(&zp->z_lock);
4272 zp->z_size = len;
4273 (void) sa_update(zp->z_sa_hdl, SA_ZPL_SIZE(zfsvfs),
4274 &zp->z_size, sizeof (zp->z_size), tx);
4278 (void) zfs_link_create(dl, zp, tx, ZNEW);
4282 zfs_log_symlink(zilog, tx, txtype, dzp, zp, name, link);
4283 *vpp = ZTOV(zp);
4320 znode_t *zp = VTOZ(vp);
4321 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
4325 ZFS_VERIFY_ZP(zp);
4327 mutex_enter(&zp->z_lock);
4328 if (zp->z_is_sa)
4329 error = sa_lookup_uio(zp->z_sa_hdl,
4332 error = zfs_sa_readlink(zp, uio);
4333 mutex_exit(&zp->z_lock);
4335 ZFS_ACCESSTIME_STAMP(zfsvfs, zp);
4536 znode_t *zp = VTOZ(vp);
4537 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
4550 if (off < zp->z_size && zp->z_blksz > PAGESIZE) {
4551 klen = P2ROUNDUP((ulong_t)zp->z_blksz, PAGESIZE);
4553 ASSERT(koff <= zp->z_size);
4554 if (koff + klen > zp->z_size)
4555 klen = P2ROUNDUP(zp->z_size - koff, (uint64_t)PAGESIZE);
4563 if (off >= zp->z_size) {
4567 } else if (off + len > zp->z_size) {
4568 int npages = btopr(zp->z_size - off);
4575 len = zp->z_size - off;
4578 if (zfs_owner_overquota(zfsvfs, zp, B_FALSE) ||
4579 zfs_owner_overquota(zfsvfs, zp, B_TRUE)) {
4584 dmu_tx_hold_write(tx, zp->z_id, off, len);
4586 dmu_tx_hold_sa(tx, zp->z_sa_hdl, B_FALSE);
4587 zfs_sa_upgrade_txholds(tx, zp);
4594 if (zp->z_blksz <= PAGESIZE) {
4597 dmu_write(zfsvfs->z_os, zp->z_id, off, len, va, tx);
4600 err = dmu_write_pages(zfsvfs->z_os, zp->z_id, off, len, pp, tx);
4613 &zp->z_pflags, 8);
4614 zfs_tstamp_update_setup(zp, CONTENT_MODIFIED, mtime, ctime,
4616 zfs_log_write(zfsvfs->z_log, tx, TX_WRITE, zp, off, len, 0);
4651 znode_t *zp = VTOZ(vp);
4652 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
4661 ZFS_VERIFY_ZP(zp);
4670 blksz = zp->z_blksz;
4684 rl = zfs_range_lock(zp, io_off, UINT64_MAX, RL_WRITER);
4688 rl = zfs_range_lock(zp, io_off, io_len, RL_WRITER);
4690 if (off > zp->z_size) {
4697 len = MIN(io_len, P2ROUNDUP(zp->z_size, PAGESIZE) - io_off);
4724 zil_commit(zfsvfs->z_log, zp->z_id);
4734 znode_t *zp = VTOZ(vp);
4735 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
4739 if (zp->z_sa_hdl == NULL) {
4749 mutex_enter(&zp->z_lock);
4750 if (zp->z_unlinked) {
4754 mutex_exit(&zp->z_lock);
4759 mutex_exit(&zp->z_lock);
4761 if (zp->z_atime_dirty && zp->z_unlinked == 0) {
4764 dmu_tx_hold_sa(tx, zp->z_sa_hdl, B_FALSE);
4765 zfs_sa_upgrade_txholds(tx, zp);
4770 mutex_enter(&zp->z_lock);
4771 (void) sa_update(zp->z_sa_hdl, SA_ZPL_ATIME(zfsvfs),
4772 (void *)&zp->z_atime, sizeof (zp->z_atime), tx);
4773 zp->z_atime_dirty = 0;
4774 mutex_exit(&zp->z_lock);
4810 znode_t *zp = VTOZ(vp);
4811 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
4814 ZFS_VERIFY_ZP(zp);
4822 if (zp->z_mapcnt > 0 && MANDMODE(zp->z_mode)) {
4841 znode_t *zp = VTOZ(vp);
4843 objset_t *os = zp->z_zfsvfs->z_os;
4848 if (plsz == PAGESIZE || zp->z_blksz <= PAGESIZE) {
4880 err = dmu_read(os, zp->z_id, io_off, PAGESIZE, va,
4937 znode_t *zp = VTOZ(vp);
4938 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
4952 ZFS_VERIFY_ZP(zp);
4997 ZFS_ACCESSTIME_STAMP(zfsvfs, zp);
5022 znode_t *zp = VTOZ(vp);
5023 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
5028 ZFS_VERIFY_ZP(zp);
5030 if ((prot & PROT_WRITE) && (zp->z_pflags &
5037 (zp->z_pflags & ZFS_AV_QUARANTINED)) {
5060 if (MANDMODE(zp->z_mode) && vn_has_flocks(vp)) {
5166 znode_t *zp = VTOZ(vp);
5167 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
5172 ZFS_VERIFY_ZP(zp);
5192 error = zfs_freesp(zp, off, len, flag, TRUE);
5206 znode_t *zp = VTOZ(vp);
5207 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
5210 uint64_t object = zp->z_id;
5215 ZFS_VERIFY_ZP(zp);
5217 if ((error = sa_lookup(zp->z_sa_hdl, SA_ZPL_GEN(zfsvfs),
5272 znode_t *zp, *xzp;
5287 zp = VTOZ(vp);
5288 zfsvfs = zp->z_zfsvfs;
5290 ZFS_VERIFY_ZP(zp);
5292 error = zfs_dirent_lock(&dl, zp, "", &xzp,
5355 znode_t *zp = VTOZ(vp);
5356 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
5361 ZFS_VERIFY_ZP(zp);
5362 error = zfs_getacl(zp, vsecp, skipaclchk, cr);
5373 znode_t *zp = VTOZ(vp);
5374 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
5380 ZFS_VERIFY_ZP(zp);
5382 error = zfs_setacl(zp, vsecp, skipaclchk, cr);
5408 znode_t *zp = VTOZ(vp);
5409 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
5424 ZFS_VERIFY_ZP(zp);
5432 if (size < blksz || zp->z_blksz != blksz) {
5466 abuf = dmu_request_arcbuf(sa_get_db(zp->z_sa_hdl),
5474 abuf = dmu_request_arcbuf(sa_get_db(zp->z_sa_hdl),
5482 abuf = dmu_request_arcbuf(sa_get_db(zp->z_sa_hdl),
5494 blksz = zp->z_blksz;
5505 maxsize = zp->z_size - uio->uio_loffset;
5742 znode_t *zp = VTOZ(vp);
5743 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
5744 objset_t *os = zp->z_zfsvfs->z_os;
5755 ZFS_VERIFY_ZP(zp);
5764 if (pcount > 1 && zp->z_blksz > PAGESIZE) {
5765 startoff = rounddown(IDX_TO_OFF(mreq->pindex), zp->z_blksz);
5772 zp->z_blksz);
5834 error = dmu_read(os, zp->z_id, IDX_TO_OFF(m[i]->pindex),
5855 ZFS_ACCESSTIME_STAMP(zfsvfs, zp);
5878 znode_t *zp = VTOZ(vp);
5879 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
5897 ZFS_VERIFY_ZP(zp);
5910 blksz = zp->z_blksz;
5913 rl = zfs_range_lock(zp, lo_off, lo_len, RL_WRITER);
5951 if (zfs_owner_overquota(zfsvfs, zp, B_FALSE) ||
5952 zfs_owner_overquota(zfsvfs, zp, B_TRUE)) {
5958 dmu_tx_hold_write(tx, zp->z_id, off, len);
5960 dmu_tx_hold_sa(tx, zp->z_sa_hdl, B_FALSE);
5961 zfs_sa_upgrade_txholds(tx, zp);
5973 if (zp->z_blksz < PAGE_SIZE) {
5978 dmu_write(zfsvfs->z_os, zp->z_id, off, tocopy, va, tx);
5982 err = dmu_write_pages(zfsvfs->z_os, zp->z_id, off, len, ma, tx);
5995 &zp->z_pflags, 8);
5996 zfs_tstamp_update_setup(zp, CONTENT_MODIFIED, mtime, ctime,
5998 (void)sa_bulk_update(zp->z_sa_hdl, bulk, count, tx);
5999 zfs_log_write(zfsvfs->z_log, tx, TX_WRITE, zp, off, len, 0);
6016 zil_commit(zfsvfs->z_log, zp->z_id);
6071 znode_t *zp = VTOZ(vp);
6076 vnode_create_vobject(vp, zp->z_size, ap->a_td);
6147 znode_t *zp = VTOZ(vp);
6164 error = vaccess(vp->v_type, zp->z_mode, zp->z_uid,
6165 zp->z_gid, accmode, ap->a_cred, NULL);
6174 (zp->z_mode & (S_IXUSR | S_IXGRP | S_IXOTH)) == 0) {
6602 znode_t *zp = VTOZ(vp);
6603 zfsvfs_t *zfsvfs = zp->z_zfsvfs;
6605 ASSERT(zp != NULL);
6616 if (zp->z_sa_hdl == NULL)
6617 zfs_znode_free(zp);
6619 zfs_zinactive(zp);