xfs: simplify xfs_attr_remove_args

Directly return from the subfunctions and avoid the error variable.  Also
remove the not really needed dp local variable.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
This commit is contained in:
Christoph Hellwig 2021-04-13 11:15:10 -07:00 committed by Darrick J. Wong
parent 2ac131df03
commit 605e74e292
1 changed files with 8 additions and 13 deletions

View File

@ -386,21 +386,16 @@ int
xfs_attr_remove_args(
struct xfs_da_args *args)
{
struct xfs_inode *dp = args->dp;
int error;
if (!xfs_inode_hasattr(args->dp))
return -ENOATTR;
if (!xfs_inode_hasattr(dp)) {
error = -ENOATTR;
} else if (dp->i_afp->if_format == XFS_DINODE_FMT_LOCAL) {
ASSERT(dp->i_afp->if_flags & XFS_IFINLINE);
error = xfs_attr_shortform_remove(args);
} else if (xfs_attr_is_leaf(dp)) {
error = xfs_attr_leaf_removename(args);
} else {
error = xfs_attr_node_removename(args);
if (args->dp->i_afp->if_format == XFS_DINODE_FMT_LOCAL) {
ASSERT(args->dp->i_afp->if_flags & XFS_IFINLINE);
return xfs_attr_shortform_remove(args);
}
return error;
if (xfs_attr_is_leaf(args->dp))
return xfs_attr_leaf_removename(args);
return xfs_attr_node_removename(args);
}
/*