summaryrefslogtreecommitdiffstats
path: root/fs/xfs
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2021-04-13 11:15:10 -0700
committerDarrick J. Wong <djwong@kernel.org>2021-04-15 09:35:50 -0700
commit605e74e29218bb22edd5ddcf90a4d37df00446cc (patch)
tree38b587fc33b7a5222c26518f47a29b8fa0320575 /fs/xfs
parent2ac131df03d4f06bb0d825335663cc5064421993 (diff)
downloadlinux-605e74e29218bb22edd5ddcf90a4d37df00446cc.tar.gz
linux-605e74e29218bb22edd5ddcf90a4d37df00446cc.tar.bz2
linux-605e74e29218bb22edd5ddcf90a4d37df00446cc.zip
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>
Diffstat (limited to 'fs/xfs')
-rw-r--r--fs/xfs/libxfs/xfs_attr.c21
1 files changed, 8 insertions, 13 deletions
diff --git a/fs/xfs/libxfs/xfs_attr.c b/fs/xfs/libxfs/xfs_attr.c
index fd61c67f5739..43ef85678cba 100644
--- a/fs/xfs/libxfs/xfs_attr.c
+++ b/fs/xfs/libxfs/xfs_attr.c
@@ -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);
}
/*