Skip to content

Richacls

Andreas Gruenbacher linux-api linux-cifs linux-ext4 linux-fsdevel linux-nfs linux-xfs lkml 6 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v10 Latest46 patches 11 repliesIn review
  2. v6 RFC40 patches 19 repliesSuperseded
  3. v539 patches 2 repliesSuperseded
Earlier versions · 3
VersionPostedPatchesRepliesStatus
v4 RFC31 patches4 repliesSuperseded
v3 RFC45 patches64 repliesSuperseded
v1 RFC39 patches4 repliesSuperseded

Patches in v10 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/46vfs: Add IS_ACL() and IS_RICHACL() testsfs/Kconfig fs/namei.c include/linux/fs.h +1 more+21 -50 replies
2/46vfs: Add MAY_CREATE_FILE and MAY_CREATE_DIR permission flagsfs/namei.c include/linux/fs.h+27 -180 replies
3/46vfs: Add MAY_DELETE_SELF and MAY_DELETE_CHILD permission flagsfs/namei.c include/linux/fs.h+14 -90 replies
4/46vfs: Make the inode passed to inode_change_ok non-constfs/attr.c include/linux/fs.h+2 -20 replies
5/46vfs: Add permission flags for setting file attributesfs/attr.c include/linux/fs.h+70 -120 replies
6/46richacl: In-memory representation and helper functionsfs/Makefile fs/richacl_base.c include/linux/richacl.h+325 -00 replies
7/46richacl: Permission mapping functionsfs/richacl_base.c include/linux/richacl.h+164 -10 replies
8/46richacl: Compute maximum file masks from an aclfs/richacl_base.c include/linux/richacl.h+158 -00 replies
9/46richacl: Permission check algorithmfs/Makefile fs/richacl_inode.c include/linux/richacl.h+153 -10 replies
10/46vfs: Cache base_acl objects in inodesdrivers/staging/lustre/lustre/llite/llite_lib.c fs/f2fs/acl.c fs/inode.c +5 more+45 -280 replies
11/46vfs: Add get_richacl and set_richacl inode operationsinclude/linux/fs.h+2 -00 replies
12/46vfs: Cache richacl in struct inodefs/inode.c fs/posix_acl.c fs/richacl_base.c +3 more+100 -120 replies
13/46richacl: Update the file masks in chmod()fs/richacl_base.c fs/richacl_inode.c include/linux/richacl.h+74 -00 replies
14/46richacl: Check if an acl is equivalent to a file modefs/richacl_base.c include/linux/richacl.h+105 -00 replies
15/46richacl: Create-time inheritancefs/richacl_base.c fs/richacl_inode.c include/linux/richacl.h+140 -00 replies
16/46richacl: Automatic Inheritancefs/richacl_base.c fs/richacl_inode.c include/linux/richacl.h+38 -20 replies
17/46richacl: xattr mapping functionsfs/Makefile fs/richacl_xattr.c fs/xattr.c +2 more+313 -70 replies
18/46richacl: Add richacl xattr handlerfs/richacl_xattr.c include/linux/richacl_xattr.h+80 -00 replies
19/46vfs: Add richacl permission checkingfs/namei.c fs/posix_acl.c+52 -50 replies
20/46ext4: Add richacl supportfs/ext4/Kconfig fs/ext4/Makefile fs/ext4/file.c +6 more+212 -40 replies
21/46ext4: Add richacl feature flagfs/ext4/ext4.h fs/ext4/super.c+37 -110 replies
22/46xfs: Fix error path in xfs_get_aclfs/xfs/xfs_acl.c fs/xfs/xfs_acl.h+7 -130 replies
23/46xfs: Make xfs_set_mode non-staticfs/xfs/xfs_acl.c fs/xfs/xfs_inode.c fs/xfs/xfs_inode.h+20 -181 reply
24/46xfs: Add richacl supportfs/ext4/richacl.h fs/xfs/Kconfig fs/xfs/Makefile +7 more+215 -146 replies
25/46richacl: acl editing helper functionsfs/Makefile fs/richacl_compat.c include/linux/richacl_compat.h+197 -10 replies
26/46richacl: Move everyone@ aces down the aclfs/richacl_compat.c+65 -00 replies
27/46richacl: Propagate everyone@ permissions to other acesfs/richacl_compat.c+198 -00 replies
28/46richacl: Set the owner permissions to the owner maskfs/richacl_compat.c+46 -00 replies
29/46richacl: Set the other permissions to the other maskfs/richacl_compat.c+41 -00 replies
30/46richacl: Isolate the owner and group classesfs/richacl_compat.c+223 -00 replies
31/46richacl: Apply the file masks to a richaclfs/richacl_compat.c include/linux/richacl.h+104 -00 replies
32/46richacl: Create richacl from mode valuesfs/richacl_compat.c include/linux/richacl.h+89 -00 replies
33/46nfsd: Keep list of acls to dispose of in compoundargsfs/nfsd/nfs4xdr.c fs/nfsd/xdr4.h+33 -00 replies
34/46nfsd: Use richacls as internal acl representationfs/Kconfig fs/nfs_common/Makefile fs/nfs_common/nfs4acl.c +8 more+274 -2850 replies
35/46nfsd: Add richacl supportfs/nfsd/acl.h fs/nfsd/nfs4acl.c fs/nfsd/nfs4proc.c +1 more+117 -460 replies
36/46nfsd: Add support for the v4.1 dacl attributefs/nfsd/nfs4proc.c fs/nfsd/nfs4xdr.c fs/nfsd/nfsd.h +2 more+155 -770 replies
37/46nfsd: Add support for the MAY_CREATE_{FILE,DIR} permissionsfs/nfsd/nfs4proc.c fs/nfsd/nfsfh.c fs/nfsd/vfs.c +1 more+36 -220 replies
38/46richacl: Add support for unmapped identifiersfs/richacl_base.c fs/richacl_compat.c fs/richacl_inode.c +2 more+227 -362 replies
39/46ext4: Don't allow unmapped identifiers in richaclsfs/ext4/richacl.c+4 -00 replies
40/46sunrpc: Allow to demand-allocate pages to encode intonet/sunrpc/xdr.c+9 -00 replies
41/46sunrpc: Add xdr_init_encode_pagesinclude/linux/sunrpc/xdr.h net/sunrpc/xdr.c+27 -00 replies
42/46nfs: Fix GETATTR bitmap verificationfs/nfs/nfs4xdr.c+23 -00 replies
43/46nfs: Remove unused xdr page offsets in getacl/setacl argumentsfs/nfs/nfs4proc.c fs/nfs/nfs4xdr.c include/linux/nfs_xdr.h+4 -70 replies
44/46nfs: Add richacl supportfs/nfs/inode.c fs/nfs/nfs4proc.c fs/nfs/nfs4xdr.c +4 more+673 -2232 replies
45/46nfs: Add support for the v4.1 dacl attributefs/nfs/nfs4proc.c fs/nfs/nfs4xdr.c include/linux/nfs_xdr.h+50 -90 replies
46/46richacl: uapi header splitinclude/linux/richacl.h include/linux/richacl_xattr.h include/uapi/linux/Kbuild +2 more+173 -1190 replies

Reviews trailers per patch

26 of 46 patches have a Reviewed-by or Acked-by.

PatchJ. Bruce Fields
1/46R-b
2/46R-b
3/46R-b
4/46R-b
5/46R-b
6/46R-b
7/46R-b
8/46R-b
9/46R-b
10/46
11/46
12/46
13/46R-b
14/46R-b
15/46R-b
16/46R-b
17/46
18/46
19/46
20/46
21/46
22/46
23/46
24/46
25/46R-b
26/46R-b
27/46R-b
28/46R-b
29/46R-b
30/46R-b
31/46R-b
32/46R-b
33/46A-b
34/46A-b
35/46A-b
36/46A-b
37/46A-b
38/46
39/46
40/46
41/46
42/46
43/46
44/46
45/46
46/46

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v10 thread

Cover letter [PATCH v10 00/46] Richacls

From: Andreas Gruenbacher <[email protected]>

Here is another update of the richacl patch queue. I would like to ask for feedback so that the core and local filesystem code (patches 1-24) can be merged in the 4.4 merge window. Changes since the last posting
(https://lwn.net/Articles/659350/):

* Support for xfs; this depends on a new incompatible feature flag. The user-space changes can be found here:

https://github.com/andreas-gruenbacher/xfsprogs.git

* ext4: Update ctime when setting a mode-equivalent richacl.

* The richacl_inherit_inode and richacl_create helpers now take a umode_t argument instead of an inode (xfs uses richacl_create before creating an inode). Some other minor changes.

The complete patch queue is available here:

  git://git.kernel.org/pub/scm/linux/kernel/git/agruen/linux-richacl.git \
  	richacl-2015-10-12

The richacl user-space utilitites and test suite are available here:

https://github.com/andreas-gruenbacher/richacl/

Some more information is avaliable here:

http://www.bestbits.at/richacl/

We still have two open issues in nfs, but those only affect nfs.

Thanks,
Andreas

Andreas Gruenbacher (44):
vfs: Add IS_ACL() and IS_RICHACL() tests
vfs: Add MAY_CREATE_FILE and MAY_CREATE_DIR permission flags
vfs: Add MAY_DELETE_SELF and MAY_DELETE_CHILD permission flags
vfs: Make the inode passed to inode_change_ok non-const
vfs: Add permission flags for setting file attributes
richacl: In-memory representation and helper functions
richacl: Permission mapping functions
richacl: Compute maximum file masks from an acl
richacl: Permission check algorithm
vfs: Cache base_acl objects in inodes
vfs: Add get_richacl and set_richacl inode operations
vfs: Cache richacl in struct inode
richacl: Update the file masks in chmod()
richacl: Check if an acl is equivalent to a file mode
richacl: Create-time inheritance
richacl: Automatic Inheritance
richacl: xattr mapping functions
richacl: Add richacl xattr handler
vfs: Add richacl permission checking
xfs: Fix error path in xfs_get_acl
xfs: Make xfs_set_mode non-static
xfs: Add richacl support
richacl: acl editing helper functions
richacl: Move everyone@ aces down the acl
richacl: Propagate everyone@ permissions to other aces
richacl: Set the owner permissions to the owner mask
richacl: Set the other permissions to the other mask
richacl: Isolate the owner and group classes
richacl: Apply the file masks to a richacl
richacl: Create richacl from mode values
nfsd: Keep list of acls to dispose of in compoundargs
nfsd: Use richacls as internal acl representation
nfsd: Add richacl support
nfsd: Add support for the v4.1 dacl attribute
nfsd: Add support for the MAY_CREATE_{FILE,DIR} permissions
richacl: Add support for unmapped identifiers
ext4: Don't allow unmapped identifiers in richacls
sunrpc: Allow to demand-allocate pages to encode into
sunrpc: Add xdr_init_encode_pages
nfs: Fix GETATTR bitmap verification
nfs: Remove unused xdr page offsets in getacl/setacl arguments
nfs: Add richacl support
nfs: Add support for the v4.1 dacl attribute
richacl: uapi header split

Aneesh Kumar K.V (2):
ext4: Add richacl support
ext4: Add richacl feature flag

 drivers/staging/lustre/lustre/llite/llite_lib.c |   2 +-
 fs/Kconfig                                      |   9 +
 fs/Makefile                                     |   3 +
 fs/attr.c                                       |  81 ++-
 fs/ext4/Kconfig                                 |  11 +
 fs/ext4/Makefile                                |   1 +
 fs/ext4/ext4.h                                  |   6 +-
 fs/ext4/file.c                                  |   3 +
 fs/ext4/ialloc.c                                |   7 +-
 fs/ext4/inode.c                                 |  10 +-
 fs/ext4/namei.c                                 |   5 +
 fs/ext4/richacl.c                               | 133 ++++
 fs/ext4/richacl.h                               |  42 ++
 fs/ext4/super.c                                 |  42 +-
 fs/ext4/xattr.c                                 |   7 +
 fs/f2fs/acl.c                                   |   4 +-
 fs/inode.c                                      |  15 +-
 fs/jffs2/acl.c                                  |   6 +-
 fs/namei.c                                      | 111 ++-
 fs/nfs/inode.c                                  |   3 -
 fs/nfs/nfs4proc.c                               | 701 +++++++++++++-----
 fs/nfs/nfs4xdr.c                                | 257 ++++++-
 fs/nfs/super.c                                  |   4 +-
 fs/nfs_common/Makefile                          |   1 +
 fs/nfs_common/nfs4acl.c                         |  44 ++
 fs/nfsd/Kconfig                                 |   1 +
 fs/nfsd/acl.h                                   |  23 +-
 fs/nfsd/nfs4acl.c                               | 482 +++++++------
 fs/nfsd/nfs4proc.c                              |  25 +-
 fs/nfsd/nfs4xdr.c                               | 268 ++++---
 fs/nfsd/nfsd.h                                  |   6 +-
 fs/nfsd/nfsfh.c                                 |   8 +-
 fs/nfsd/vfs.c                                   |  28 +-
 fs/nfsd/vfs.h                                   |  17 +-
 fs/nfsd/xdr4.h                                  |  12 +-
 fs/posix_acl.c                                  |  26 +-
 fs/richacl_base.c                               | 685 ++++++++++++++++++
 fs/richacl_compat.c                             | 915 ++++++++++++++++++++++++
 fs/richacl_inode.c                              | 333 +++++++++
 fs/richacl_xattr.c                              | 345 +++++++++
 fs/xattr.c                                      |  34 +-
 fs/xfs/Kconfig                                  |  11 +
 fs/xfs/Makefile                                 |   1 +
 fs/xfs/libxfs/xfs_format.h                      |  16 +-
 fs/xfs/xfs_acl.c                                |  37 +-
 fs/xfs/xfs_acl.h                                |   1 -
 fs/xfs/xfs_inode.c                              |  18 +
 fs/xfs/xfs_inode.h                              |   2 +
 fs/xfs/xfs_iops.c                               |  42 +-
 fs/xfs/xfs_richacl.c                            |  97 +++
 fs/xfs/xfs_richacl.h                            |  34 +
 fs/xfs/xfs_super.c                              |  14 +-
 fs/xfs/xfs_super.h                              |   9 +-
 fs/xfs/xfs_xattr.c                              |   4 +
 include/linux/fs.h                              |  51 +-
 include/linux/nfs4.h                            |  24 +-
 include/linux/nfs4acl.h                         |   7 +
 include/linux/nfs_fs.h                          |   1 -
 include/linux/nfs_fs_sb.h                       |   2 +
 include/linux/nfs_xdr.h                         |  13 +-
 include/linux/posix_acl.h                       |  12 +-
 include/linux/richacl.h                         | 276 +++++++
 include/linux/richacl_compat.h                  |  40 ++
 include/linux/richacl_xattr.h                   |  49 ++
 include/linux/sunrpc/xdr.h                      |   2 +
 include/uapi/linux/Kbuild                       |   2 +
 include/uapi/linux/fs.h                         |   3 +-
 include/uapi/linux/nfs4.h                       |   3 +-
 include/uapi/linux/richacl.h                    | 111 +++
 include/uapi/linux/richacl_xattr.h              |  43 ++
 include/uapi/linux/xattr.h                      |   2 +
 net/sunrpc/xdr.c                                |  34 +
 72 files changed, 4916 insertions(+), 761 deletions(-)
 create mode 100644 fs/ext4/richacl.c
 create mode 100644 fs/ext4/richacl.h
 create mode 100644 fs/nfs_common/nfs4acl.c
 create mode 100644 fs/richacl_base.c
 create mode 100644 fs/richacl_compat.c
 create mode 100644 fs/richacl_inode.c
 create mode 100644 fs/richacl_xattr.c
 create mode 100644 fs/xfs/xfs_richacl.c
 create mode 100644 fs/xfs/xfs_richacl.h
 create mode 100644 include/linux/nfs4acl.h
 create mode 100644 include/linux/richacl.h
 create mode 100644 include/linux/richacl_compat.h
 create mode 100644 include/linux/richacl_xattr.h
 create mode 100644 include/uapi/linux/richacl.h
 create mode 100644 include/uapi/linux/richacl_xattr.h
Signature · 6 lines
2.5.0

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs