Author: mm
Date: Thu Nov 22 06:45:28 2012
New Revision: 243395
URL: http://svnweb.freebsd.org/changeset/base/243395

Log:
  Update vendor/illumos/dist and vendor-sys/illumos/dist
  to illumos-gate 13889:a67716f16746
  (illumos zfs issue #3254)

Modified:
  vendor-sys/illumos/dist/common/zfs/zfs_prop.c
  vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_vnops.c

Changes in other areas also in this revision:
Modified:
  vendor/illumos/dist/man/man1m/zfs.1m

Modified: vendor-sys/illumos/dist/common/zfs/zfs_prop.c
==============================================================================
--- vendor-sys/illumos/dist/common/zfs/zfs_prop.c       Thu Nov 22 05:48:29 
2012        (r243394)
+++ vendor-sys/illumos/dist/common/zfs/zfs_prop.c       Thu Nov 22 06:45:28 
2012        (r243395)
@@ -109,6 +109,7 @@ zfs_prop_init(void)
                { "discard",    ZFS_ACL_DISCARD },
                { "groupmask",  ZFS_ACL_GROUPMASK },
                { "passthrough", ZFS_ACL_PASSTHROUGH },
+               { "restricted", ZFS_ACL_RESTRICTED },
                { NULL }
        };
 
@@ -217,7 +218,8 @@ zfs_prop_init(void)
            "hidden | visible", "SNAPDIR", snapdir_table);
        zprop_register_index(ZFS_PROP_ACLMODE, "aclmode", ZFS_ACL_DISCARD,
            PROP_INHERIT, ZFS_TYPE_FILESYSTEM,
-           "discard | groupmask | passthrough", "ACLMODE", acl_mode_table);
+           "discard | groupmask | passthrough | restricted", "ACLMODE",
+           acl_mode_table);
        zprop_register_index(ZFS_PROP_ACLINHERIT, "aclinherit",
            ZFS_ACL_RESTRICTED, PROP_INHERIT, ZFS_TYPE_FILESYSTEM,
            "discard | noallow | restricted | passthrough | passthrough-x",

Modified: vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_vnops.c
==============================================================================
--- vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_vnops.c       Thu Nov 22 
05:48:29 2012        (r243394)
+++ vendor-sys/illumos/dist/uts/common/fs/zfs/zfs_vnops.c       Thu Nov 22 
06:45:28 2012        (r243395)
@@ -2982,6 +2982,12 @@ top:
                uint64_t acl_obj;
                new_mode = (pmode & S_IFMT) | (vap->va_mode & ~S_IFMT);
 
+               if (zp->z_zfsvfs->z_acl_mode == ZFS_ACL_RESTRICTED &&
+                   !(zp->z_pflags & ZFS_ACL_TRIVIAL)) {
+                       err = EPERM;
+                       goto out;
+               }
+
                if (err = zfs_acl_chmod_setattr(zp, &aclp, new_mode))
                        goto out;
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to