lkml.org 
[lkml]   [2005]   [Jan]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectRemove the number of acl entries limit
Date
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 <agruen@suse.de>

Index: linux-2.6.11-latest/fs/ext2/acl.c
===================================================================
--- linux-2.6.11-latest.orig/fs/ext2/acl.c
+++ linux-2.6.11-latest/fs/ext2/acl.c
@@ -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);
Index: linux-2.6.11-latest/fs/ext2/acl.h
===================================================================
--- linux-2.6.11-latest.orig/fs/ext2/acl.h
+++ linux-2.6.11-latest/fs/ext2/acl.h
@@ -7,7 +7,6 @@
#include <linux/xattr_acl.h>

#define EXT2_ACL_VERSION 0x0001
-#define EXT2_ACL_MAX_ENTRIES 32

typedef struct {
__le16 e_tag;
Index: linux-2.6.11-latest/fs/ext3/acl.c
===================================================================
--- linux-2.6.11-latest.orig/fs/ext3/acl.c
+++ linux-2.6.11-latest/fs/ext3/acl.c
@@ -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);
Index: linux-2.6.11-latest/fs/ext3/acl.h
===================================================================
--- linux-2.6.11-latest.orig/fs/ext3/acl.h
+++ linux-2.6.11-latest/fs/ext3/acl.h
@@ -7,7 +7,6 @@
#include <linux/xattr_acl.h>

#define EXT3_ACL_VERSION 0x0001
-#define EXT3_ACL_MAX_ENTRIES 32

typedef struct {
__le16 e_tag;

Regards,
--
Andreas Gruenbacher <agruen@suse.de>
SUSE Labs, SUSE LINUX PRODUCTS GMBH
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:09    [W:0.021 / U:0.268 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site