[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: More ACL item support
hi,
On Tue, May 28, 2002 at 11:03:07PM +0800, Harrison Xing wrote:
>
> Right now XFS can only support 21 ACLs. I've changed some code to make it
s/21/25/ right? (XFS CVS has a couple of fixes in this area).
> support more ACL items. Basically I change all the "acl" structure in the
> ACL handling function to dynamically allocated pointers.
Going past 25 involves an ondisk format change, making Linux
XFS incompatible with both IRIX and previous versions of XFS
on Linux - its extremely unlikely that such a patch would be
accepted.
> But it seems that if the maximum ACL number is increased to a large number,
> say 1000, very strange problems will happen. Kernel becomes unstable, oops with
> ACL related function. If the number is set to 25(default), everything is fine.
> No problems. I don't see obvious errors in the XFS ACL code. Are there any
> ideas why this happens? Thanks.
There are a couple of reasons I can think of straight off the top
of my head here, probably several other reasons exist too:
- xfs_acl_t is currently fairly small, so the stack is often used to
hold these structures within XFS, rather than dynamic allocation.
You are possibly blowing the top of the stack with such big acls,
unless this issue is completely addressed by your patch. You seem
to have used quite an old kernel version (there is no longer a
"struct acl", as referenced in your patch) so I can't really tell.
- There is a size limit of 64K for EA values in XFS, maybe you are
getting near the limit there too.
You should probably rethink your strategy with ACLs, and find ways
to use fewer ACEs (eg. judicious use of groups?). Perhaps discuss
on acl-devel; I have seen this issue raised on that list once/twice
before, and no strong case has ever been put forward for such large
ACE counts, AFAIK.
cheers.
--
Nathan