]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commit
repair: support more than 25 ACLs
authorDave Chinner <dchinner@redhat.com>
Tue, 8 Jul 2014 00:30:52 +0000 (10:30 +1000)
committerDave Chinner <david@fromorbit.com>
Tue, 8 Jul 2014 00:30:52 +0000 (10:30 +1000)
commitb5f5c2d13f390d109c808118f571f7623983a621
tree0bc99dd65dc422cdc0909d9739624750f9169f28
parent575010d5caf03b561ad13f43c7b6b7447e63203e
repair: support more than 25 ACLs

v5 superblock supports many more than 25 ACLs on an inode, but
xfs_repair still thinks that the maximum is 25. This slipped through
becase the reapir code does not share any of the kernel side ACL
code in libxfs, and instead has all it's own internal ACL
definitions.

Fix the repair code to support more than 25 ACLs and update
the ACL definitions to match the kernel definitions. In doing so,
this tickles a off-by-one bug on remote attribute maximum sizes
that is already fixed in the kernel code. So in addition to fixing
the repair code, this patch pulls in parts of the following kernel
commits:

bba719b5 xfs: fix off-by-one error in xfs_attr3_rmt_verify
0a8aa193 xfs: increase number of ACL entries for V5 superblocks

Reported-by: Michael L. Semon <mlsemon35@gmail.com>
Tested-by: Michael L. Semon <mlsemon35@gmail.com>
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
libxfs/xfs_attr_remote.c
repair/attr_repair.c
repair/attr_repair.h