]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - libbcachefs/xattr.c
Update bcachefs sources to 7c0fe6f104 bcachefs: Fix bch2_fsck_ask_yn()
[bcachefs-tools-debian] / libbcachefs / xattr.c
index 4fc6e065d4212c31962d502dd41e95a0b603e631..10e545c05906e64f916410236f987198b3af134a 100644 (file)
@@ -163,7 +163,7 @@ static int bch2_xattr_get_trans(struct btree_trans *trans, struct bch_inode_info
 err2:
        bch2_trans_iter_exit(trans, &iter);
 err1:
-       return ret == -ENOENT ? -ENODATA : ret;
+       return ret < 0 && bch2_err_matches(ret, ENOENT) ? -ENODATA : ret;
 }
 
 int bch2_xattr_get(struct bch_fs *c, struct bch_inode_info *inode,
@@ -229,7 +229,7 @@ int bch2_xattr_set(struct btree_trans *trans, subvol_inum inum,
                                       hash_info, inum, &search);
        }
 
-       if (ret == -ENOENT)
+       if (bch2_err_matches(ret, ENOENT))
                ret = flags & XATTR_REPLACE ? -ENODATA : 0;
 
        return ret;
@@ -589,7 +589,7 @@ err:
             opt_id == Opt_background_target))
                bch2_rebalance_add_work(c, inode->v.i_blocks);
 
-       return ret;
+       return bch2_err_class(ret);
 }
 
 static const struct xattr_handler bch_xattr_bcachefs_handler = {