Lines Matching refs:vap

141 				struct vnode_attr * vap, vfs_context_t ctx);
2425 vnode_getattr(vnode_t vp, struct vnode_attr *vap, vfs_context_t ctx)
2435 VATTR_CLEAR_ACTIVE(vap, va_acl);
2436 VATTR_CLEAR_ACTIVE(vap, va_uuuid);
2437 VATTR_CLEAR_ACTIVE(vap, va_guuid);
2444 if (VATTR_IS_ACTIVE(vap, va_data_alloc) ||
2445 VATTR_IS_ACTIVE(vap, va_total_size) ||
2446 VATTR_IS_ACTIVE(vap, va_total_alloc)) {
2447 VATTR_SET_ACTIVE(vap, va_data_size);
2448 VATTR_SET_ACTIVE(vap, va_data_alloc);
2449 VATTR_SET_ACTIVE(vap, va_total_size);
2450 VATTR_SET_ACTIVE(vap, va_total_alloc);
2453 error = VNOP_GETATTR(vp, vap, ctx);
2463 if (VATTR_NOT_RETURNED(vap, va_acl) || VATTR_NOT_RETURNED(vap, va_uuuid) || VATTR_NOT_RETURNED(vap, va_guuid)) {
2473 VATTR_RETURN(vap, va_acl, NULL);
2474 VATTR_RETURN(vap, va_uuuid, kauth_null_guid);
2475 VATTR_RETURN(vap, va_guuid, kauth_null_guid);
2479 VATTR_RETURN(vap, va_uuuid, fsec->fsec_owner);
2480 VATTR_RETURN(vap, va_guuid, fsec->fsec_group);
2483 if (VATTR_IS_ACTIVE(vap, va_acl)) {
2485 VATTR_RETURN(vap, va_acl, NULL);
2494 VATTR_RETURN(vap, va_acl, facl);
2505 if (VATTR_IS_SUPPORTED(vap, va_acl) && !VATTR_IS_ACTIVE(vap, va_acl)) {
2506 if (vap->va_acl != NULL)
2507 kauth_acl_free(vap->va_acl);
2508 VATTR_CLEAR_SUPPORTED(vap, va_acl);
2516 if (VATTR_NOT_RETURNED(vap, va_uid) &&
2517 VATTR_IS_SUPPORTED(vap, va_uuuid) &&
2518 !kauth_guid_equal(&vap->va_uuuid, &kauth_null_guid)) {
2519 if ((error = kauth_cred_guid2uid(&vap->va_uuuid, &nuid)) == 0)
2520 VATTR_RETURN(vap, va_uid, nuid);
2522 if (VATTR_NOT_RETURNED(vap, va_gid) &&
2523 VATTR_IS_SUPPORTED(vap, va_guuid) &&
2524 !kauth_guid_equal(&vap->va_guuid, &kauth_null_guid)) {
2525 if ((error = kauth_cred_guid2gid(&vap->va_guuid, &ngid)) == 0)
2526 VATTR_RETURN(vap, va_gid, ngid);
2533 if (VATTR_IS_ACTIVE(vap, va_uid)) {
2534 if (vfs_context_issuser(ctx) && VATTR_IS_SUPPORTED(vap, va_uid)) {
2535 nuid = vap->va_uid;
2540 } else if (VATTR_IS_SUPPORTED(vap, va_uid)) {
2541 nuid = vap->va_uid;
2548 VATTR_RETURN(vap, va_uid, nuid);
2550 if (VATTR_IS_ACTIVE(vap, va_gid)) {
2551 if (vfs_context_issuser(ctx) && VATTR_IS_SUPPORTED(vap, va_gid)) {
2552 ngid = vap->va_gid;
2557 } else if (VATTR_IS_SUPPORTED(vap, va_gid)) {
2558 ngid = vap->va_gid;
2565 VATTR_RETURN(vap, va_gid, ngid);
2571 if (!VATTR_IS_SUPPORTED(vap, va_iosize))
2572 VATTR_RETURN(vap, va_iosize, vp->v_mount->mnt_vfsstat.f_iosize);
2574 if (!VATTR_IS_SUPPORTED(vap, va_flags))
2575 VATTR_RETURN(vap, va_flags, 0);
2577 if (!VATTR_IS_SUPPORTED(vap, va_filerev))
2578 VATTR_RETURN(vap, va_filerev, 0);
2580 if (!VATTR_IS_SUPPORTED(vap, va_gen))
2581 VATTR_RETURN(vap, va_gen, 0);
2586 if (!VATTR_IS_SUPPORTED(vap, va_data_size))
2587 VATTR_RETURN(vap, va_data_size, 0);
2590 if (VATTR_IS_ACTIVE(vap, va_data_alloc) ||
2591 VATTR_IS_ACTIVE(vap, va_total_size) ||
2592 VATTR_IS_ACTIVE(vap, va_total_alloc)) {
2600 if (!VATTR_IS_SUPPORTED(vap, va_data_alloc))
2601 VATTR_RETURN(vap, va_data_alloc, roundup(vap->va_data_size, vp->v_mount->mnt_vfsstat.f_bsize));
2604 if (!VATTR_IS_SUPPORTED(vap, va_total_size))
2605 VATTR_RETURN(vap, va_total_size, vap->va_data_size);
2608 if (!VATTR_IS_SUPPORTED(vap, va_total_alloc))
2609 VATTR_RETURN(vap, va_total_alloc, roundup(vap->va_total_size, vp->v_mount->mnt_vfsstat.f_bsize));
2615 if (!VATTR_IS_SUPPORTED(vap, va_change_time) && VATTR_IS_SUPPORTED(vap, va_modify_time))
2616 VATTR_RETURN(vap, va_change_time, vap->va_modify_time);
2622 VATTR_RETURN(vap, va_type, vp->v_type);
2627 VATTR_RETURN(vap, va_fsid, vp->v_mount->mnt_vfsstat.f_fsid.val[0]);
2638 * vap A pointer to the attributes to set.
2645 * Notes: The kauth_filesec_t in 'vap', if any, is in host byte order.
2647 * The contents of the data area pointed to by 'vap' may be
2657 vnode_setattr(vnode_t vp, struct vnode_attr *vap, vfs_context_t ctx)
2671 if ((vp->v_flag & VISNAMEDSTREAM) && (vap->va_active != VNODE_ATTR_va_data_size)) {
2682 VATTR_CLEAR_ACTIVE(vap, va_uid);
2683 VATTR_CLEAR_ACTIVE(vap, va_gid);
2686 if ( VATTR_IS_ACTIVE(vap, va_uid) || VATTR_IS_ACTIVE(vap, va_gid)
2687 || VATTR_IS_ACTIVE(vap, va_mode) || VATTR_IS_ACTIVE(vap, va_acl)) {
2696 (VATTR_IS_ACTIVE(vap, va_acl) || VATTR_IS_ACTIVE(vap, va_uuuid) || VATTR_IS_ACTIVE(vap, va_guuid))) {
2702 error = VNOP_SETATTR(vp, vap, ctx);
2704 if ((error == 0) && !VATTR_ALL_SUPPORTED(vap))
2705 error = vnode_setattr_fallback(vp, vap, ctx);
2710 if (error == 0 && (vap->va_active != VNODE_ATTR_BIT(va_access_time)) && (vap->va_active != VNODE_ATTR_BIT(va_backup_time))) {
2732 * vap A pointer to the attributes to set.
2739 * Notes: The kauth_filesec_t in 'vap', if any, is in host byte order,
2742 * The contents of the data area pointed to by 'vap' may be
2750 vnode_setattr_fallback(vnode_t vp, struct vnode_attr *vap, vfs_context_t ctx)
2765 if (VATTR_NOT_RETURNED(vap, va_acl) ||
2766 VATTR_NOT_RETURNED(vap, va_uuuid) ||
2767 VATTR_NOT_RETURNED(vap, va_guuid)) {
2786 if (!VATTR_IS_ACTIVE(vap, va_acl) ||
2787 !VATTR_IS_ACTIVE(vap, va_uuuid) ||
2788 !VATTR_IS_ACTIVE(vap, va_guuid)) {
2816 if (VATTR_IS_ACTIVE(vap, va_uuuid)) {
2818 fsec->fsec_owner = vap->va_uuuid;
2819 VATTR_SET_SUPPORTED(vap, va_uuuid);
2821 if (VATTR_IS_ACTIVE(vap, va_guuid)) {
2823 fsec->fsec_group = vap->va_guuid;
2824 VATTR_SET_SUPPORTED(vap, va_guuid);
2826 if (VATTR_IS_ACTIVE(vap, va_acl)) {
2827 if (vap->va_acl == NULL) {
2831 KAUTH_DEBUG("SETATTR - setting ACL with %d entries", vap->va_acl->acl_entrycount);
2832 facl = vap->va_acl;
2834 VATTR_SET_SUPPORTED(vap, va_acl);
2869 vnode_notify(vnode_t vp, uint32_t events, struct vnode_attr *vap)
2891 if (vap != NULL) {
2892 create_fsevent_from_kevent(vp, events, vap);
2895 (void)vap;
2925 vfs_get_notify_attributes(struct vnode_attr *vap)
2927 VATTR_INIT(vap);
2928 vap->va_active = VNODE_NOTIFY_ATTRS;
3082 VNOP_COMPOUND_OPEN(vnode_t dvp, vnode_t *vpp, struct nameidata *ndp, int32_t flags, int32_t fmode, uint32_t *statusp, struct vnode_attr *vap, vfs_context_t ctx)
3100 a.a_vap = vap;
3109 if (want_create && !vap) {
3110 panic("Want create, but no vap?");
3112 if (!want_create && vap) {
3113 panic("Don't want create, but have a vap?");
3159 VNOP_CREATE(vnode_t dvp, vnode_t * vpp, struct componentname * cnp, struct vnode_attr * vap, vfs_context_t ctx)
3172 a.a_vap = vap;
3274 VNOP_MKNOD(vnode_t dvp, vnode_t * vpp, struct componentname * cnp, struct vnode_attr * vap, vfs_context_t ctx)
3288 a.a_vap = vap;
3494 VNOP_GETATTR(vnode_t vp, struct vnode_attr * vap, vfs_context_t ctx)
3505 a.a_vap = vap;
3542 VNOP_SETATTR(vnode_t vp, struct vnode_attr * vap, vfs_context_t ctx)
3553 a.a_vap = vap;
3575 if (VATTR_IS_ACTIVE(vap, va_uid)) {
3576 VATTR_SET(&va, va_uid, vap->va_uid);
3579 if (VATTR_IS_ACTIVE(vap, va_gid)) {
3580 VATTR_SET(&va, va_gid, vap->va_gid);
3583 if (VATTR_IS_ACTIVE(vap, va_mode)) {
3584 VATTR_SET(&va, va_mode, vap->va_mode);
3614 VATTR_IS_SUPPORTED(vap, va_mode) ||
3615 VATTR_IS_SUPPORTED(vap, va_uid) ||
3616 VATTR_IS_SUPPORTED(vap, va_gid) ||
3617 VATTR_IS_SUPPORTED(vap, va_flags) ||
3618 VATTR_IS_SUPPORTED(vap, va_acl) ||
3619 VATTR_IS_SUPPORTED(vap, va_uuuid) ||
3620 VATTR_IS_SUPPORTED(vap, va_guuid))) {
4246 VNOP_COMPOUND_REMOVE(vnode_t dvp, vnode_t *vpp, struct nameidata *ndp, int32_t flags, struct vnode_attr *vap, vfs_context_t ctx)
4257 a.a_vap = vap;
4850 struct vnode_attr *vap, vfs_context_t ctx)
4857 return VNOP_COMPOUND_MKDIR(dvp, vpp, ndp, vap, ctx);
4859 return VNOP_MKDIR(dvp, vpp, &ndp->ni_cnd, vap, ctx);
4881 struct vnode_attr *vap, vfs_context_t ctx)
4894 a.a_vap = vap;
4927 struct vnode_attr *vap, vfs_context_t ctx)
4936 a.a_vap = vap;
4964 vn_rmdir(vnode_t dvp, vnode_t *vpp, struct nameidata *ndp, struct vnode_attr *vap, vfs_context_t ctx)
4967 return VNOP_COMPOUND_RMDIR(dvp, vpp, ndp, vap, ctx);
4972 if (vap != NULL) {
4973 panic("Non-NULL vap, but not a compound VNOP?");
5048 struct vnode_attr *vap, vfs_context_t ctx)
5058 a.a_vap = vap;
5176 xattrfile_setattr(vnode_t dvp, const char * basename, struct vnode_attr * vap,
5214 a.a_vap = vap;
5265 struct vnode_attr *vap, char *target, vfs_context_t ctx)
5278 a.a_vap = vap;
5906 vn_remove(vnode_t dvp, vnode_t *vpp, struct nameidata *ndp, int32_t flags, struct vnode_attr *vap, vfs_context_t ctx)
5909 return VNOP_COMPOUND_REMOVE(dvp, vpp, ndp, flags, vap, ctx);