提交 f3e93d95 编写于 作者: C Christoph Hellwig 提交者: Darrick J. Wong

xfs: clean up the ATTR_REPLACE checks

Remove superflous braces, elses after return statements and use a goto
label to merge common error handling.
Signed-off-by: NChristoph Hellwig <hch@lst.de>
Reviewed-by: NDave Chinner <dchinner@redhat.com>
Reviewed-by: NChandan Rajendra <chandanrlinux@gmail.com>
Reviewed-by: NDarrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: NDarrick J. Wong <darrick.wong@oracle.com>
上级 5a3930e2
......@@ -423,9 +423,9 @@ xfs_attr_shortform_addname(xfs_da_args_t *args)
trace_xfs_attr_sf_addname(args);
retval = xfs_attr_shortform_lookup(args);
if ((args->flags & ATTR_REPLACE) && (retval == -ENOATTR)) {
if (retval == -ENOATTR && (args->flags & ATTR_REPLACE))
return retval;
} else if (retval == -EEXIST) {
if (retval == -EEXIST) {
if (args->flags & ATTR_CREATE)
return retval;
retval = xfs_attr_shortform_remove(args);
......@@ -489,14 +489,11 @@ xfs_attr_leaf_addname(
* the given flags produce an error or call for an atomic rename.
*/
retval = xfs_attr3_leaf_lookup_int(bp, args);
if ((args->flags & ATTR_REPLACE) && (retval == -ENOATTR)) {
xfs_trans_brelse(args->trans, bp);
return retval;
} else if (retval == -EEXIST) {
if (args->flags & ATTR_CREATE) { /* pure create op */
xfs_trans_brelse(args->trans, bp);
return retval;
}
if (retval == -ENOATTR && (args->flags & ATTR_REPLACE))
goto out_brelse;
if (retval == -EEXIST) {
if (args->flags & ATTR_CREATE) /* pure create op */
goto out_brelse;
trace_xfs_attr_leaf_replace(args);
......@@ -637,6 +634,9 @@ xfs_attr_leaf_addname(
error = xfs_attr3_leaf_clearflag(args);
}
return error;
out_brelse:
xfs_trans_brelse(args->trans, bp);
return retval;
}
/*
......@@ -763,9 +763,9 @@ xfs_attr_node_addname(
goto out;
blk = &state->path.blk[ state->path.active-1 ];
ASSERT(blk->magic == XFS_ATTR_LEAF_MAGIC);
if ((args->flags & ATTR_REPLACE) && (retval == -ENOATTR)) {
if (retval == -ENOATTR && (args->flags & ATTR_REPLACE))
goto out;
} else if (retval == -EEXIST) {
if (retval == -EEXIST) {
if (args->flags & ATTR_CREATE)
goto out;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册