mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

Previously, calling bch2_btree_has_scanned_nodes() when btree node scan hadn't actually run would erroniously return false - causing us to think a btree was entirely gone. This fixes a 6.16 regression from moving the scheduling of btree node scan out of bch2_btree_lost_data() (fixing the bug where we'd schedule it persistently in the superblock) and only scheduling it when check_toploogy() is asking for scanned btree nodes. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
11 lines
488 B
C
11 lines
488 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _BCACHEFS_BTREE_NODE_SCAN_H
|
|
#define _BCACHEFS_BTREE_NODE_SCAN_H
|
|
|
|
int bch2_scan_for_btree_nodes(struct bch_fs *);
|
|
bool bch2_btree_node_is_stale(struct bch_fs *, struct btree *);
|
|
int bch2_btree_has_scanned_nodes(struct bch_fs *, enum btree_id);
|
|
int bch2_get_scanned_nodes(struct bch_fs *, enum btree_id, unsigned, struct bpos, struct bpos);
|
|
void bch2_find_btree_nodes_exit(struct find_btree_nodes *);
|
|
|
|
#endif /* _BCACHEFS_BTREE_NODE_SCAN_H */
|