diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2022-09-25 22:28:34 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2022-09-28 11:41:03 -0400 |
commit | 99caca2c70f312c4a2504a7e7a9c92a91426d885 (patch) | |
tree | 6ac490ba2a93cf0c74f16b54323beea4d254826d /libbcachefs/errcode.h | |
parent | 7af94e14b5a9945c28a3c34e58b920e81c696a53 (diff) |
Update bcachefs sources to 24c6361e20 bcachefs: Fix a trans path overflow in bch2_btree_delete_range_trans()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'libbcachefs/errcode.h')
-rw-r--r-- | libbcachefs/errcode.h | 115 |
1 files changed, 68 insertions, 47 deletions
diff --git a/libbcachefs/errcode.h b/libbcachefs/errcode.h index 232f7c79..fc0bb5f8 100644 --- a/libbcachefs/errcode.h +++ b/libbcachefs/errcode.h @@ -2,53 +2,67 @@ #ifndef _BCACHEFS_ERRCODE_H #define _BCACHEFS_ERRCODE_H -#define BCH_ERRCODES() \ - x(0, open_buckets_empty) \ - x(0, freelist_empty) \ - x(freelist_empty, no_buckets_found) \ - x(0, insufficient_devices) \ - x(0, transaction_restart) \ - x(transaction_restart, transaction_restart_fault_inject) \ - x(transaction_restart, transaction_restart_relock) \ - x(transaction_restart, transaction_restart_relock_path) \ - x(transaction_restart, transaction_restart_relock_path_intent) \ - x(transaction_restart, transaction_restart_relock_after_fill) \ - x(transaction_restart, transaction_restart_too_many_iters) \ - x(transaction_restart, transaction_restart_lock_node_reused) \ - x(transaction_restart, transaction_restart_fill_relock) \ - x(transaction_restart, transaction_restart_fill_mem_alloc_fail)\ - x(transaction_restart, transaction_restart_mem_realloced) \ - x(transaction_restart, transaction_restart_in_traverse_all) \ - x(transaction_restart, transaction_restart_would_deadlock) \ - x(transaction_restart, transaction_restart_would_deadlock_write)\ - x(transaction_restart, transaction_restart_upgrade) \ - x(transaction_restart, transaction_restart_key_cache_upgrade) \ - x(transaction_restart, transaction_restart_key_cache_fill) \ - x(transaction_restart, transaction_restart_key_cache_raced) \ - x(transaction_restart, transaction_restart_key_cache_realloced)\ - x(transaction_restart, transaction_restart_journal_preres_get) \ - x(transaction_restart, transaction_restart_nested) \ - x(0, no_btree_node) \ - x(no_btree_node, no_btree_node_relock) \ - x(no_btree_node, no_btree_node_upgrade) \ - x(no_btree_node, no_btree_node_drop) \ - x(no_btree_node, no_btree_node_lock_root) \ - x(no_btree_node, no_btree_node_up) \ - x(no_btree_node, no_btree_node_down) \ - x(no_btree_node, no_btree_node_init) \ - x(no_btree_node, no_btree_node_cached) \ - x(0, backpointer_to_overwritten_btree_node) \ - x(0, lock_fail_node_reused) \ - x(0, lock_fail_root_changed) \ - x(0, journal_reclaim_would_deadlock) \ - x(0, fsck) \ - x(fsck, fsck_fix) \ - x(fsck, fsck_ignore) \ - x(fsck, fsck_errors_not_fixed) \ - x(fsck, fsck_repair_unimplemented) \ - x(fsck, fsck_repair_impossible) \ - x(0, need_snapshot_cleanup) \ - x(0, need_topology_repair) +#define BCH_ERRCODES() \ + x(ENOSPC, ENOSPC_disk_reservation) \ + x(ENOSPC, ENOSPC_bucket_alloc) \ + x(ENOSPC, ENOSPC_disk_label_add) \ + x(ENOSPC, ENOSPC_stripe_create) \ + x(ENOSPC, ENOSPC_stripe_reuse) \ + x(ENOSPC, ENOSPC_inode_create) \ + x(ENOSPC, ENOSPC_str_hash_create) \ + x(ENOSPC, ENOSPC_snapshot_create) \ + x(ENOSPC, ENOSPC_subvolume_create) \ + x(ENOSPC, ENOSPC_sb) \ + x(ENOSPC, ENOSPC_sb_journal) \ + x(ENOSPC, ENOSPC_sb_quota) \ + x(ENOSPC, ENOSPC_sb_replicas) \ + x(ENOSPC, ENOSPC_sb_members) \ + x(0, open_buckets_empty) \ + x(0, freelist_empty) \ + x(BCH_ERR_freelist_empty, no_buckets_found) \ + x(0, insufficient_devices) \ + x(0, transaction_restart) \ + x(BCH_ERR_transaction_restart, transaction_restart_fault_inject) \ + x(BCH_ERR_transaction_restart, transaction_restart_relock) \ + x(BCH_ERR_transaction_restart, transaction_restart_relock_path) \ + x(BCH_ERR_transaction_restart, transaction_restart_relock_path_intent) \ + x(BCH_ERR_transaction_restart, transaction_restart_relock_after_fill) \ + x(BCH_ERR_transaction_restart, transaction_restart_too_many_iters) \ + x(BCH_ERR_transaction_restart, transaction_restart_lock_node_reused) \ + x(BCH_ERR_transaction_restart, transaction_restart_fill_relock) \ + x(BCH_ERR_transaction_restart, transaction_restart_fill_mem_alloc_fail)\ + x(BCH_ERR_transaction_restart, transaction_restart_mem_realloced) \ + x(BCH_ERR_transaction_restart, transaction_restart_in_traverse_all) \ + x(BCH_ERR_transaction_restart, transaction_restart_would_deadlock) \ + x(BCH_ERR_transaction_restart, transaction_restart_would_deadlock_write)\ + x(BCH_ERR_transaction_restart, transaction_restart_deadlock_recursion_limit)\ + x(BCH_ERR_transaction_restart, transaction_restart_upgrade) \ + x(BCH_ERR_transaction_restart, transaction_restart_key_cache_upgrade) \ + x(BCH_ERR_transaction_restart, transaction_restart_key_cache_fill) \ + x(BCH_ERR_transaction_restart, transaction_restart_key_cache_raced) \ + x(BCH_ERR_transaction_restart, transaction_restart_key_cache_realloced)\ + x(BCH_ERR_transaction_restart, transaction_restart_journal_preres_get) \ + x(BCH_ERR_transaction_restart, transaction_restart_nested) \ + x(0, no_btree_node) \ + x(BCH_ERR_no_btree_node, no_btree_node_relock) \ + x(BCH_ERR_no_btree_node, no_btree_node_upgrade) \ + x(BCH_ERR_no_btree_node, no_btree_node_drop) \ + x(BCH_ERR_no_btree_node, no_btree_node_lock_root) \ + x(BCH_ERR_no_btree_node, no_btree_node_up) \ + x(BCH_ERR_no_btree_node, no_btree_node_down) \ + x(BCH_ERR_no_btree_node, no_btree_node_init) \ + x(BCH_ERR_no_btree_node, no_btree_node_cached) \ + x(0, backpointer_to_overwritten_btree_node) \ + x(0, lock_fail_root_changed) \ + x(0, journal_reclaim_would_deadlock) \ + x(0, fsck) \ + x(BCH_ERR_fsck, fsck_fix) \ + x(BCH_ERR_fsck, fsck_ignore) \ + x(BCH_ERR_fsck, fsck_errors_not_fixed) \ + x(BCH_ERR_fsck, fsck_repair_unimplemented) \ + x(BCH_ERR_fsck, fsck_repair_impossible) \ + x(0, need_snapshot_cleanup) \ + x(0, need_topology_repair) enum bch_errcode { BCH_ERR_START = 2048, @@ -72,4 +86,11 @@ static inline bool _bch2_err_matches(int err, int class) _bch2_err_matches(_err, _class); \ }) +int __bch2_err_class(int); + +static inline long bch2_err_class(long err) +{ + return err < 0 ? __bch2_err_class(err) : err; +} + #endif /* _BCACHFES_ERRCODE_H */ |