xfs: remove xfs_attr_shortform_lookup

xfs_attr_shortform_lookup is only used by xfs_attr_shortform_addname,
which is much better served by calling xfs_attr_sf_findname.  Switch
it over and remove xfs_attr_shortform_lookup.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>
This commit is contained in:
Christoph Hellwig 2023-12-20 07:34:59 +01:00 committed by Chandan Babu R
parent 6c8d169bbd
commit 22b7b1f597
3 changed files with 7 additions and 39 deletions

View File

@ -1066,19 +1066,14 @@ xfs_attr_shortform_addname(
struct xfs_da_args *args)
{
int newsize, forkoff;
int error;
trace_xfs_attr_sf_addname(args);
error = xfs_attr_shortform_lookup(args);
switch (error) {
case -ENOATTR:
if (args->op_flags & XFS_DA_OP_REPLACE)
return error;
break;
case -EEXIST:
if (xfs_attr_sf_findname(args)) {
int error;
if (!(args->op_flags & XFS_DA_OP_REPLACE))
return error;
return -EEXIST;
error = xfs_attr_sf_removename(args);
if (error)
@ -1091,11 +1086,9 @@ xfs_attr_shortform_addname(
* around.
*/
args->op_flags &= ~XFS_DA_OP_REPLACE;
break;
case 0:
break;
default:
return error;
} else {
if (args->op_flags & XFS_DA_OP_REPLACE)
return -ENOATTR;
}
if (args->namelen >= XFS_ATTR_SF_ENTSIZE_MAX ||

View File

@ -837,30 +837,6 @@ xfs_attr_sf_removename(
return 0;
}
/*
* Look up a name in a shortform attribute list structure.
*/
/*ARGSUSED*/
int
xfs_attr_shortform_lookup(
struct xfs_da_args *args)
{
struct xfs_ifork *ifp = &args->dp->i_af;
struct xfs_attr_shortform *sf = ifp->if_data;
struct xfs_attr_sf_entry *sfe;
int i;
ASSERT(ifp->if_format == XFS_DINODE_FMT_LOCAL);
sfe = &sf->list[0];
for (i = 0; i < sf->hdr.count;
sfe = xfs_attr_sf_nextentry(sfe), i++) {
if (xfs_attr_match(args, sfe->namelen, sfe->nameval,
sfe->flags))
return -EEXIST;
}
return -ENOATTR;
}
/*
* Retrieve the attribute value and length.
*

View File

@ -47,7 +47,6 @@ struct xfs_attr3_icleaf_hdr {
*/
void xfs_attr_shortform_create(struct xfs_da_args *args);
void xfs_attr_shortform_add(struct xfs_da_args *args, int forkoff);
int xfs_attr_shortform_lookup(struct xfs_da_args *args);
int xfs_attr_shortform_getvalue(struct xfs_da_args *args);
int xfs_attr_shortform_to_leaf(struct xfs_da_args *args);
int xfs_attr_sf_removename(struct xfs_da_args *args);