xfs: Convert xfs_attr_sf macros to inline functions
xfs_attr_sf_totsize() requires access to xfs_inode structure, so, once xfs_attr_shortform_addname() is its only user, move it to xfs_attr.c instead of playing with more #includes. Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Dave Chinner <dchinner@redhat.com> Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:
committed by
Darrick J. Wong
parent
c418dbc980
commit
e01b7eed5d
@@ -428,7 +428,7 @@ xfs_attr_set(
|
||||
*/
|
||||
if (XFS_IFORK_Q(dp) == 0) {
|
||||
int sf_size = sizeof(struct xfs_attr_sf_hdr) +
|
||||
XFS_ATTR_SF_ENTSIZE_BYNAME(args->namelen,
|
||||
xfs_attr_sf_entsize_byname(args->namelen,
|
||||
args->valuelen);
|
||||
|
||||
error = xfs_bmap_add_attrfork(dp, sf_size, rsvd);
|
||||
@@ -523,6 +523,14 @@ out_trans_cancel:
|
||||
* External routines when attribute list is inside the inode
|
||||
*========================================================================*/
|
||||
|
||||
static inline int xfs_attr_sf_totsize(struct xfs_inode *dp)
|
||||
{
|
||||
struct xfs_attr_shortform *sf;
|
||||
|
||||
sf = (struct xfs_attr_shortform *)dp->i_afp->if_u1.if_data;
|
||||
return be16_to_cpu(sf->hdr.totsize);
|
||||
}
|
||||
|
||||
/*
|
||||
* Add a name to the shortform attribute list structure
|
||||
* This is the external routine.
|
||||
@@ -555,8 +563,8 @@ xfs_attr_shortform_addname(xfs_da_args_t *args)
|
||||
args->valuelen >= XFS_ATTR_SF_ENTSIZE_MAX)
|
||||
return -ENOSPC;
|
||||
|
||||
newsize = XFS_ATTR_SF_TOTSIZE(args->dp);
|
||||
newsize += XFS_ATTR_SF_ENTSIZE_BYNAME(args->namelen, args->valuelen);
|
||||
newsize = xfs_attr_sf_totsize(args->dp);
|
||||
newsize += xfs_attr_sf_entsize_byname(args->namelen, args->valuelen);
|
||||
|
||||
forkoff = xfs_attr_shortform_bytesfit(args->dp, newsize);
|
||||
if (!forkoff)
|
||||
|
||||
Reference in New Issue
Block a user