Re: [PATCH 11/11] xfs: increase number of ACL entries for V5 superblocks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 21, 2013 at 10:00:09AM -0400, Brian Foster wrote:
> On 05/21/2013 04:02 AM, Dave Chinner wrote:
> > From: Dave Chinner <dchinner@xxxxxxxxxx>
> > 
> > The limit of 25 ACL entries is arbitrary, but baked into the on-disk
> > format.  For version 5 superblocks, increase it to the maximum nuber
> > of ACLs that can fit into a single xattr.
> > 
> > Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
> > ---
> >  fs/xfs/xfs_acl.c |   31 ++++++++++++++++++-------------
> >  fs/xfs/xfs_acl.h |   30 +++++++++++++++++++++++-------
> >  2 files changed, 41 insertions(+), 20 deletions(-)
> > 
> ...
> > diff --git a/fs/xfs/xfs_acl.h b/fs/xfs/xfs_acl.h
> > index 39632d9..5310a52 100644
> > --- a/fs/xfs/xfs_acl.h
> > +++ b/fs/xfs/xfs_acl.h
> > @@ -22,19 +22,35 @@ struct inode;
> >  struct posix_acl;
> >  struct xfs_inode;
> >  
> > -#define XFS_ACL_MAX_ENTRIES 25
> >  #define XFS_ACL_NOT_PRESENT (-1)
> >  
> >  /* On-disk XFS access control list structure */
> > +struct xfs_acl_entry {
> > +	__be32	ae_tag;
> > +	__be32	ae_id;
> > +	__be16	ae_perm;
> > +	__be16	ae_pad;		/* fill the implicit hole in the structure */
> > +};
> > +
> >  struct xfs_acl {
> > -	__be32		acl_cnt;
> > -	struct xfs_acl_entry {
> > -		__be32	ae_tag;
> > -		__be32	ae_id;
> > -		__be16	ae_perm;
> > -	} acl_entry[XFS_ACL_MAX_ENTRIES];
> > +	__be32			acl_cnt;
> > +	struct xfs_acl_entry	acl_entry[0];
> >  };
> >  
> > +/*
> > + * The number of ACL entries allowed is defined by the on-disk format.
> > + * For v4 superblocks, that is limited to 25 entries. For v5 superblocks, it is
> > + * limited only by the maximum size of the xattr that stores the information.
> > + */
> > +#define XFS_ACL_MAX_ENTRIES(mp)	\
> > +	(xfs_sb_version_hascrc(&mp->m_sb) \
> > +	   ?  (XATTR_SIZE_MAX - sizeof(__be32) / sizeof(struct xfs_acl_entry)) \
> 					
> It looks like this should be:
> 
> 	(XATTR_SIZE_MAX - sizeof(__be32)) / sizeof(struct xfs_acl_entry)
> 
> (i.e., misplaced parens)

Yup, good catch.

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs




[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux