Lines Matching defs:acl_ids

1621     vsecattr_t *vsecp, zfs_acl_ids_t *acl_ids)
1630 bzero(acl_ids, sizeof (zfs_acl_ids_t));
1631 acl_ids->z_mode = MAKEIMODE(vap->va_type, vap->va_mode);
1635 &acl_ids->z_fuidp, &acl_ids->z_aclp)) != 0)
1642 acl_ids->z_fuid = zfs_fuid_create(zfsvfs,
1644 ZFS_OWNER, &acl_ids->z_fuidp);
1645 acl_ids->z_fgid = zfs_fuid_create(zfsvfs,
1647 ZFS_GROUP, &acl_ids->z_fuidp);
1650 acl_ids->z_fuid = zfs_fuid_create_cred(zfsvfs, ZFS_OWNER,
1651 cr, &acl_ids->z_fuidp);
1652 acl_ids->z_fgid = 0;
1654 acl_ids->z_fgid = zfs_fuid_create(zfsvfs,
1656 cr, ZFS_GROUP, &acl_ids->z_fuidp);
1658 if (acl_ids->z_fgid != dzp->z_gid &&
1661 acl_ids->z_fgid = 0;
1663 if (acl_ids->z_fgid == 0) {
1668 acl_ids->z_fgid = dzp->z_gid;
1669 gid = zfs_fuid_map_id(zfsvfs, acl_ids->z_fgid,
1673 IS_EPHEMERAL(acl_ids->z_fgid)) {
1676 FUID_INDEX(acl_ids->z_fgid));
1677 rid = FUID_RID(acl_ids->z_fgid);
1678 zfs_fuid_node_add(&acl_ids->z_fuidp,
1680 FUID_INDEX(acl_ids->z_fgid),
1681 acl_ids->z_fgid, ZFS_GROUP);
1684 acl_ids->z_fgid = zfs_fuid_create_cred(zfsvfs,
1685 ZFS_GROUP, cr, &acl_ids->z_fuidp);
1687 gid = acl_ids->z_fgid = dzp->z_gid;
1704 acl_ids->z_mode |= S_ISGID;
1706 if ((acl_ids->z_mode & S_ISGID) &&
1708 acl_ids->z_mode &= ~S_ISGID;
1711 if (acl_ids->z_aclp == NULL) {
1719 acl_ids->z_aclp = zfs_acl_inherit(zfsvfs,
1720 vap->va_type, paclp, acl_ids->z_mode, &need_chmod);
1723 acl_ids->z_aclp =
1725 acl_ids->z_aclp->z_hints |= ZFS_ACL_TRIVIAL;
1730 acl_ids->z_aclp->z_hints |= (vap->va_type == VDIR) ?
1732 zfs_acl_chmod(vap->va_type, acl_ids->z_mode,
1734 acl_ids->z_aclp);
1739 acl_ids->z_mode = zfs_mode_compute(acl_ids->z_mode,
1740 acl_ids->z_aclp, &acl_ids->z_aclp->z_hints,
1741 acl_ids->z_fuid, acl_ids->z_fgid);
1742 if (ace_trivial_common(acl_ids->z_aclp, 0, zfs_ace_walk) == 0)
1743 acl_ids->z_aclp->z_hints |= ZFS_ACL_TRIVIAL;
1750 * Free ACL and fuid_infop, but not the acl_ids structure
1753 zfs_acl_ids_free(zfs_acl_ids_t *acl_ids)
1755 if (acl_ids->z_aclp)
1756 zfs_acl_free(acl_ids->z_aclp);
1757 if (acl_ids->z_fuidp)
1758 zfs_fuid_info_free(acl_ids->z_fuidp);
1759 acl_ids->z_aclp = NULL;
1760 acl_ids->z_fuidp = NULL;
1764 zfs_acl_ids_overquota(zfsvfs_t *zfsvfs, zfs_acl_ids_t *acl_ids)
1766 return (zfs_fuid_overquota(zfsvfs, B_FALSE, acl_ids->z_fuid) ||
1767 zfs_fuid_overquota(zfsvfs, B_TRUE, acl_ids->z_fgid));