From: Andreas Gruenbacher This patch removes the arbitrary limit of 32 acl entries on ext[23] when writing acls. A patch that removes the same check when reding acls is in BK since 12 March 2004, so all kernels since then are already able to read large acls. I think that ten+ months are enough so that we can now also remove the write limit. This is the read-limit patch: http://linux.bkbits.net:8080/linux-2.6/cset%404051e2863UsuQEgAQShmimgBooAXkg?nav=index.html Even without this patch the xattr block could already contain less space than needed for the acl, because other attributes might already use up almost all space. So this patch does not introduce additional error conditions. We have been shipping with this patch the last year (almost). Signed-off-by: Andreas Gruenbacher Signed-off-by: Andrew Morton --- 25-akpm/fs/ext2/acl.c | 2 -- 25-akpm/fs/ext2/acl.h | 1 - 25-akpm/fs/ext3/acl.c | 2 -- 25-akpm/fs/ext3/acl.h | 1 - 4 files changed, 6 deletions(-) diff -puN fs/ext2/acl.c~ext2-ext3-acls-remove-the-number-of-acl-entries-limit fs/ext2/acl.c --- 25/fs/ext2/acl.c~ext2-ext3-acls-remove-the-number-of-acl-entries-limit 2005-01-23 13:08:37.192560296 -0800 +++ 25-akpm/fs/ext2/acl.c 2005-01-23 13:08:37.200559080 -0800 @@ -255,8 +255,6 @@ ext2_set_acl(struct inode *inode, int ty return -EINVAL; } if (acl) { - if (acl->a_count > EXT2_ACL_MAX_ENTRIES) - return -EINVAL; value = ext2_acl_to_disk(acl, &size); if (IS_ERR(value)) return (int)PTR_ERR(value); diff -puN fs/ext2/acl.h~ext2-ext3-acls-remove-the-number-of-acl-entries-limit fs/ext2/acl.h --- 25/fs/ext2/acl.h~ext2-ext3-acls-remove-the-number-of-acl-entries-limit 2005-01-23 13:08:37.193560144 -0800 +++ 25-akpm/fs/ext2/acl.h 2005-01-23 13:08:37.200559080 -0800 @@ -7,7 +7,6 @@ #include #define EXT2_ACL_VERSION 0x0001 -#define EXT2_ACL_MAX_ENTRIES 32 typedef struct { __le16 e_tag; diff -puN fs/ext3/acl.c~ext2-ext3-acls-remove-the-number-of-acl-entries-limit fs/ext3/acl.c --- 25/fs/ext3/acl.c~ext2-ext3-acls-remove-the-number-of-acl-entries-limit 2005-01-23 13:08:37.195559840 -0800 +++ 25-akpm/fs/ext3/acl.c 2005-01-23 13:08:37.200559080 -0800 @@ -259,8 +259,6 @@ ext3_set_acl(handle_t *handle, struct in return -EINVAL; } if (acl) { - if (acl->a_count > EXT3_ACL_MAX_ENTRIES) - return -EINVAL; value = ext3_acl_to_disk(acl, &size); if (IS_ERR(value)) return (int)PTR_ERR(value); diff -puN fs/ext3/acl.h~ext2-ext3-acls-remove-the-number-of-acl-entries-limit fs/ext3/acl.h --- 25/fs/ext3/acl.h~ext2-ext3-acls-remove-the-number-of-acl-entries-limit 2005-01-23 13:08:37.196559688 -0800 +++ 25-akpm/fs/ext3/acl.h 2005-01-23 13:08:37.201558928 -0800 @@ -7,7 +7,6 @@ #include #define EXT3_ACL_VERSION 0x0001 -#define EXT3_ACL_MAX_ENTRIES 32 typedef struct { __le16 e_tag; _