Lines Matching refs:acl_ids

1614     vsecattr_t *vsecp, zfs_acl_ids_t *acl_ids)
1623 bzero(acl_ids, sizeof (zfs_acl_ids_t));
1624 acl_ids->z_mode = MAKEIMODE(vap->va_type, vap->va_mode);
1628 &acl_ids->z_fuidp, &acl_ids->z_aclp)) != 0)
1635 acl_ids->z_fuid = zfs_fuid_create(zfsvfs,
1637 ZFS_OWNER, &acl_ids->z_fuidp);
1638 acl_ids->z_fgid = zfs_fuid_create(zfsvfs,
1640 ZFS_GROUP, &acl_ids->z_fuidp);
1643 acl_ids->z_fuid = zfs_fuid_create_cred(zfsvfs, ZFS_OWNER,
1644 cr, &acl_ids->z_fuidp);
1645 acl_ids->z_fgid = 0;
1647 acl_ids->z_fgid = zfs_fuid_create(zfsvfs,
1649 cr, ZFS_GROUP, &acl_ids->z_fuidp);
1651 if (acl_ids->z_fgid != dzp->z_gid &&
1654 acl_ids->z_fgid = 0;
1656 if (acl_ids->z_fgid == 0) {
1661 acl_ids->z_fgid = dzp->z_gid;
1662 gid = zfs_fuid_map_id(zfsvfs, acl_ids->z_fgid,
1666 IS_EPHEMERAL(acl_ids->z_fgid)) {
1669 FUID_INDEX(acl_ids->z_fgid));
1670 rid = FUID_RID(acl_ids->z_fgid);
1671 zfs_fuid_node_add(&acl_ids->z_fuidp,
1673 FUID_INDEX(acl_ids->z_fgid),
1674 acl_ids->z_fgid, ZFS_GROUP);
1677 acl_ids->z_fgid = zfs_fuid_create_cred(zfsvfs,
1678 ZFS_GROUP, cr, &acl_ids->z_fuidp);
1693 acl_ids->z_mode |= S_ISGID;
1695 if ((acl_ids->z_mode & S_ISGID) &&
1697 acl_ids->z_mode &= ~S_ISGID;
1700 if (acl_ids->z_aclp == NULL) {
1708 acl_ids->z_aclp = zfs_acl_inherit(zfsvfs,
1709 vap->va_type, paclp, acl_ids->z_mode);
1712 acl_ids->z_aclp =
1714 acl_ids->z_aclp->z_hints |= ZFS_ACL_TRIVIAL;
1720 acl_ids->z_aclp->z_hints |= ZFS_ACL_AUTO_INHERIT;
1726 zfs_acl_chmod(vap->va_type, acl_ids->z_mode, B_FALSE, trim,
1727 acl_ids->z_aclp);
1731 acl_ids->z_mode = zfs_mode_compute(acl_ids->z_mode,
1732 acl_ids->z_aclp, &acl_ids->z_aclp->z_hints,
1733 acl_ids->z_fuid, acl_ids->z_fgid);
1734 if (ace_trivial_common(acl_ids->z_aclp, 0, zfs_ace_walk) == 0)
1735 acl_ids->z_aclp->z_hints |= ZFS_ACL_TRIVIAL;
1742 * Free ACL and fuid_infop, but not the acl_ids structure
1745 zfs_acl_ids_free(zfs_acl_ids_t *acl_ids)
1747 if (acl_ids->z_aclp)
1748 zfs_acl_free(acl_ids->z_aclp);
1749 if (acl_ids->z_fuidp)
1750 zfs_fuid_info_free(acl_ids->z_fuidp);
1751 acl_ids->z_aclp = NULL;
1752 acl_ids->z_fuidp = NULL;
1756 zfs_acl_ids_overquota(zfsvfs_t *zfsvfs, zfs_acl_ids_t *acl_ids)
1758 return (zfs_fuid_overquota(zfsvfs, B_FALSE, acl_ids->z_fuid) ||
1759 zfs_fuid_overquota(zfsvfs, B_TRUE, acl_ids->z_fgid));