mirror of
https://github.com/koverstreet/bcachefs-tools.git
synced 2025-12-09 00:00:17 +03:00
29 lines
1019 B
C
29 lines
1019 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _BCACHEFS_ALLOC_CHECK_H
|
|
#define _BCACHEFS_ALLOC_CHECK_H
|
|
|
|
int bch2_need_discard_or_freespace_err(struct btree_trans *, struct bkey_s_c, bool, bool, bool);
|
|
|
|
#define need_discard_or_freespace_err(...) \
|
|
fsck_err_wrap(bch2_need_discard_or_freespace_err(__VA_ARGS__))
|
|
|
|
#define need_discard_or_freespace_err_on(cond, ...) \
|
|
(unlikely(cond) ? need_discard_or_freespace_err(__VA_ARGS__) : false)
|
|
|
|
int __bch2_check_discard_freespace_key(struct btree_trans *, struct btree_iter *, u8 *,
|
|
enum bch_fsck_flags);
|
|
|
|
static inline int bch2_check_discard_freespace_key_async(struct btree_trans *trans, struct btree_iter *iter, u8 *gen)
|
|
{
|
|
return __bch2_check_discard_freespace_key(trans, iter, gen, FSCK_ERR_NO_LOG);
|
|
}
|
|
|
|
int bch2_check_alloc_info(struct bch_fs *);
|
|
int bch2_check_alloc_to_lru_refs(struct bch_fs *);
|
|
|
|
int bch2_dev_freespace_init(struct bch_fs *, struct bch_dev *, u64, u64);
|
|
int bch2_fs_freespace_init(struct bch_fs *);
|
|
|
|
#endif /* _BCACHEFS_ALLOC_CHECK_H */
|
|
|