Here, ENOMEM and EINVAL are not from internal interface. So I think
these can return directly.
On 2024/3/1 11:29, Kent Overstreet wrote:
On Fri, Mar 01, 2024 at 11:26:51AM +0800, Jinjie Ruan wrote:
On 2024/3/1 11:17, Hongbo Li wrote:
Avoid the private error code return to caller. The error code
should be transformed into genernal error code.
Signed-off-by: Hongbo Li <[email protected]>
---
fs/bcachefs/xattr.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/fs/bcachefs/xattr.c b/fs/bcachefs/xattr.c
index 9c0d2316031b..754f17bba68e 100644
--- a/fs/bcachefs/xattr.c
+++ b/fs/bcachefs/xattr.c
@@ -544,11 +544,11 @@ static int bch2_xattr_bcachefs_set(const struct
xattr_handler *handler,
kfree(buf);
if (ret < 0)
- return ret;
+ goto err_class_exit;
ret = bch2_opt_check_may_set(c, opt_id, v);
if (ret < 0)
- return ret;
+ goto err_class_exit;
s.v = v + 1;
s.defined = true;
@@ -595,6 +595,7 @@ static int bch2_xattr_bcachefs_set(const struct
xattr_handler *handler,
(opt_id == Opt_compression && !inode_opt_get(c, &inode->ei_inode,
background_compression))))
bch2_set_rebalance_needs_scan(c, inode->ei_inode.bi_inum);
+err_class_exit:
return bch2_err_class(ret);
那前面的return -ENOMEM和return -EINVAL不用转换吗
Don't follow?