diff options
author | Christoph Hellwig <hch@lst.de> | 2021-04-13 11:15:10 -0700 |
---|---|---|
committer | Darrick J. Wong <djwong@kernel.org> | 2021-04-15 09:35:50 -0700 |
commit | 605e74e29218bb22edd5ddcf90a4d37df00446cc (patch) | |
tree | 38b587fc33b7a5222c26518f47a29b8fa0320575 /fs/xfs | |
parent | 2ac131df03d4f06bb0d825335663cc5064421993 (diff) | |
download | linux-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.c | 21 |
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); } /* |