diff options
author | Bob Peterson <rpeterso@redhat.com> | 2014-03-19 17:10:21 +0400 |
---|---|---|
committer | Steven Whitehouse <swhiteho@redhat.com> | 2014-03-19 19:16:24 +0400 |
commit | b00263d1cafdd667de56cde47f35d5ee8dd37e14 (patch) | |
tree | 722a601ef4a74054a2ca543bdd343eaf536a1320 /fs/gfs2 | |
parent | 428fd95d859b24fea448380fa21ad6d841b34241 (diff) | |
download | linux-b00263d1cafdd667de56cde47f35d5ee8dd37e14.tar.xz |
GFS2: Increase the max number of ACLs
This patch increases the maximum number of ACLs from 25 to 300 for
a 4K block size. The value is adjusted accordingly if the block size
is smaller. Note that this is an arbitrary limit with a performance
tradeoff, and that the physical limit is slightly over 500.
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
Diffstat (limited to 'fs/gfs2')
-rw-r--r-- | fs/gfs2/acl.c | 2 | ||||
-rw-r--r-- | fs/gfs2/acl.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/fs/gfs2/acl.c b/fs/gfs2/acl.c index 9c59ebe790b6..394dc5561842 100644 --- a/fs/gfs2/acl.c +++ b/fs/gfs2/acl.c @@ -85,7 +85,7 @@ int gfs2_set_acl(struct inode *inode, struct posix_acl *acl, int type) BUG_ON(name == NULL); - if (acl->a_count > GFS2_ACL_MAX_ENTRIES) + if (acl->a_count > GFS2_ACL_MAX_ENTRIES(GFS2_SB(inode))) return -E2BIG; if (type == ACL_TYPE_ACCESS) { diff --git a/fs/gfs2/acl.h b/fs/gfs2/acl.h index 301260c999ba..2d65ec4cd4be 100644 --- a/fs/gfs2/acl.h +++ b/fs/gfs2/acl.h @@ -14,7 +14,7 @@ #define GFS2_POSIX_ACL_ACCESS "posix_acl_access" #define GFS2_POSIX_ACL_DEFAULT "posix_acl_default" -#define GFS2_ACL_MAX_ENTRIES 25 +#define GFS2_ACL_MAX_ENTRIES(sdp) ((300 << (sdp)->sd_sb.sb_bsize_shift) >> 12) extern struct posix_acl *gfs2_get_acl(struct inode *inode, int type); extern int gfs2_set_acl(struct inode *inode, struct posix_acl *acl, int type); |