Print this page
8115 parallel zfs mount


   8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9  * or http://www.opensolaris.org/os/licensing.
  10  * See the License for the specific language governing permissions
  11  * and limitations under the License.
  12  *
  13  * When distributing Covered Code, include this CDDL HEADER in each
  14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15  * If applicable, add the following below this CDDL HEADER, with the
  16  * fields enclosed by brackets "[]" replaced with your own identifying
  17  * information: Portions Copyright [yyyy] [name of copyright owner]
  18  *
  19  * CDDL HEADER END
  20  */
  21 /*
  22  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
  23  *
  24  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  25  * Use is subject to license terms.
  26  *
  27  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.

  28  */
  29 
  30 #ifndef _SYS_ACL_H
  31 #define _SYS_ACL_H
  32 
  33 #include <sys/types.h>
  34 #include <sys/acl_impl.h>
  35 
  36 #ifdef  __cplusplus
  37 extern "C" {
  38 #endif
  39 
  40 #define MAX_ACL_ENTRIES         (1024)  /* max entries of each type */
  41 typedef struct acl {
  42         int             a_type;         /* the type of ACL entry */
  43         uid_t           a_id;           /* the entry in -uid or gid */
  44         o_mode_t        a_perm;         /* the permission field */
  45 } aclent_t;
  46 
  47 typedef struct ace {


 141 /*
 142  * These are only applicable in a CIFS context.
 143  * Here again, same as Windows, but with an ACE_ prefix added.
 144  */
 145 #define ACE_ACCESS_ALLOWED_COMPOUND_ACE_TYPE            0x04
 146 #define ACE_ACCESS_ALLOWED_OBJECT_ACE_TYPE              0x05
 147 #define ACE_ACCESS_DENIED_OBJECT_ACE_TYPE               0x06
 148 #define ACE_SYSTEM_AUDIT_OBJECT_ACE_TYPE                0x07
 149 #define ACE_SYSTEM_ALARM_OBJECT_ACE_TYPE                0x08
 150 #define ACE_ACCESS_ALLOWED_CALLBACK_ACE_TYPE            0x09
 151 #define ACE_ACCESS_DENIED_CALLBACK_ACE_TYPE             0x0A
 152 #define ACE_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE     0x0B
 153 #define ACE_ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE      0x0C
 154 #define ACE_SYSTEM_AUDIT_CALLBACK_ACE_TYPE              0x0D
 155 #define ACE_SYSTEM_ALARM_CALLBACK_ACE_TYPE              0x0E
 156 #define ACE_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE       0x0F
 157 #define ACE_SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE       0x10
 158 
 159 #define ACE_ALL_TYPES   0x001F
 160 
 161 #ifdef _KERNEL
 162 
 163 typedef struct ace_object {
 164         uid_t           a_who;          /* uid or gid */
 165         uint32_t        a_access_mask;  /* read,write,... */
 166         uint16_t        a_flags;        /* see below */
 167         uint16_t        a_type;         /* allow or deny */
 168         uint8_t         a_obj_type[16]; /* obj type */
 169         uint8_t         a_inherit_obj_type[16];  /* inherit obj */
 170 } ace_object_t;
 171 
 172 #endif
 173 
 174 #define ACE_ALL_PERMS   (ACE_READ_DATA|ACE_LIST_DIRECTORY|ACE_WRITE_DATA| \
 175     ACE_ADD_FILE|ACE_APPEND_DATA|ACE_ADD_SUBDIRECTORY|ACE_READ_NAMED_ATTRS| \
 176     ACE_WRITE_NAMED_ATTRS|ACE_EXECUTE|ACE_DELETE_CHILD|ACE_READ_ATTRIBUTES| \
 177     ACE_WRITE_ATTRIBUTES|ACE_DELETE|ACE_READ_ACL|ACE_WRITE_ACL| \
 178     ACE_WRITE_OWNER|ACE_SYNCHRONIZE)
 179 
 180 #define ACE_ALL_WRITE_PERMS (ACE_WRITE_DATA|ACE_APPEND_DATA| \
 181     ACE_WRITE_ATTRIBUTES|ACE_WRITE_NAMED_ATTRS|ACE_WRITE_ACL| \




   8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9  * or http://www.opensolaris.org/os/licensing.
  10  * See the License for the specific language governing permissions
  11  * and limitations under the License.
  12  *
  13  * When distributing Covered Code, include this CDDL HEADER in each
  14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15  * If applicable, add the following below this CDDL HEADER, with the
  16  * fields enclosed by brackets "[]" replaced with your own identifying
  17  * information: Portions Copyright [yyyy] [name of copyright owner]
  18  *
  19  * CDDL HEADER END
  20  */
  21 /*
  22  * Copyright 2014 Garrett D'Amore <garrett@damore.org>
  23  *
  24  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  25  * Use is subject to license terms.
  26  *
  27  * Copyright 2014 Nexenta Systems, Inc.  All rights reserved.
  28  * Copyright 2017 RackTop Systems.
  29  */
  30 
  31 #ifndef _SYS_ACL_H
  32 #define _SYS_ACL_H
  33 
  34 #include <sys/types.h>
  35 #include <sys/acl_impl.h>
  36 
  37 #ifdef  __cplusplus
  38 extern "C" {
  39 #endif
  40 
  41 #define MAX_ACL_ENTRIES         (1024)  /* max entries of each type */
  42 typedef struct acl {
  43         int             a_type;         /* the type of ACL entry */
  44         uid_t           a_id;           /* the entry in -uid or gid */
  45         o_mode_t        a_perm;         /* the permission field */
  46 } aclent_t;
  47 
  48 typedef struct ace {


 142 /*
 143  * These are only applicable in a CIFS context.
 144  * Here again, same as Windows, but with an ACE_ prefix added.
 145  */
 146 #define ACE_ACCESS_ALLOWED_COMPOUND_ACE_TYPE            0x04
 147 #define ACE_ACCESS_ALLOWED_OBJECT_ACE_TYPE              0x05
 148 #define ACE_ACCESS_DENIED_OBJECT_ACE_TYPE               0x06
 149 #define ACE_SYSTEM_AUDIT_OBJECT_ACE_TYPE                0x07
 150 #define ACE_SYSTEM_ALARM_OBJECT_ACE_TYPE                0x08
 151 #define ACE_ACCESS_ALLOWED_CALLBACK_ACE_TYPE            0x09
 152 #define ACE_ACCESS_DENIED_CALLBACK_ACE_TYPE             0x0A
 153 #define ACE_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE     0x0B
 154 #define ACE_ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE      0x0C
 155 #define ACE_SYSTEM_AUDIT_CALLBACK_ACE_TYPE              0x0D
 156 #define ACE_SYSTEM_ALARM_CALLBACK_ACE_TYPE              0x0E
 157 #define ACE_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE       0x0F
 158 #define ACE_SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE       0x10
 159 
 160 #define ACE_ALL_TYPES   0x001F
 161 
 162 #if defined(_KERNEL) || defined(_FAKE_KERNEL)
 163 
 164 typedef struct ace_object {
 165         uid_t           a_who;          /* uid or gid */
 166         uint32_t        a_access_mask;  /* read,write,... */
 167         uint16_t        a_flags;        /* see below */
 168         uint16_t        a_type;         /* allow or deny */
 169         uint8_t         a_obj_type[16]; /* obj type */
 170         uint8_t         a_inherit_obj_type[16];  /* inherit obj */
 171 } ace_object_t;
 172 
 173 #endif
 174 
 175 #define ACE_ALL_PERMS   (ACE_READ_DATA|ACE_LIST_DIRECTORY|ACE_WRITE_DATA| \
 176     ACE_ADD_FILE|ACE_APPEND_DATA|ACE_ADD_SUBDIRECTORY|ACE_READ_NAMED_ATTRS| \
 177     ACE_WRITE_NAMED_ATTRS|ACE_EXECUTE|ACE_DELETE_CHILD|ACE_READ_ATTRIBUTES| \
 178     ACE_WRITE_ATTRIBUTES|ACE_DELETE|ACE_READ_ACL|ACE_WRITE_ACL| \
 179     ACE_WRITE_OWNER|ACE_SYNCHRONIZE)
 180 
 181 #define ACE_ALL_WRITE_PERMS (ACE_WRITE_DATA|ACE_APPEND_DATA| \
 182     ACE_WRITE_ATTRIBUTES|ACE_WRITE_NAMED_ATTRS|ACE_WRITE_ACL| \