linux/fs/bcachefs
Kent Overstreet 922bc5a037 bcachefs: Make topology repair a normal recovery pass
This adds bch2_run_explicit_recovery_pass(), for rewinding recovery and
explicitly running a specific recovery pass - this is a more general
replacement for how we were running topology repair before.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22 17:10:08 -04:00
..
acl.c bcachefs: Assorted sparse fixes 2023-10-22 17:10:06 -04:00
acl.h bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
alloc_background.c bcachefs: Enumerate recovery passes 2023-10-22 17:10:06 -04:00
alloc_background.h bcachefs: Kill bch2_bucket_gens_read() 2023-10-22 17:10:06 -04:00
alloc_foreground.c bcachefs: Fix try_decrease_writepoints() 2023-10-22 17:10:06 -04:00
alloc_foreground.h bcachefs: Rename enum alloc_reserve -> bch_watermark 2023-10-22 17:10:04 -04:00
alloc_types.h bcachefs: Kill JOURNAL_WATERMARK 2023-10-22 17:10:05 -04:00
backpointers.c bcachefs: remove duplicate code between backpointer update paths 2023-10-22 17:10:08 -04:00
backpointers.h bcachefs: remove duplicate code between backpointer update paths 2023-10-22 17:10:08 -04:00
bbpos.h bcachefs: Run bch2_check_backpointers_to_extents() in multiple passes if necessary 2023-10-22 17:09:51 -04:00
bcachefs_format.h bcachefs: Extent sb compression type fields to 8 bits 2023-10-22 17:10:07 -04:00
bcachefs_ioctl.h bcachefs: Convert to __packed and __aligned 2023-10-22 17:09:45 -04:00
bcachefs.h bcachefs: Make topology repair a normal recovery pass 2023-10-22 17:10:08 -04:00
bkey_buf.h bcachefs: Move bkey bkey_unpack_key() to bkey.h 2023-10-22 17:09:45 -04:00
bkey_cmp.h bcachefs: bch2_bkey_cmp_packed_inlined() 2023-10-22 17:09:45 -04:00
bkey_methods.c bcachefs: Change check for invalid key types 2023-10-22 17:10:06 -04:00
bkey_methods.h bcachefs: support btree updates of prejournaled keys 2023-10-22 17:10:08 -04:00
bkey_sort.c bcachefs: Use memcpy_u64s_small() for copying keys 2023-10-22 17:10:01 -04:00
bkey_sort.h bcachefs: Kill bch2_sort_repack_merge() 2023-10-22 17:09:19 -04:00
bkey.c bcachefs: Use memcpy_u64s_small() for copying keys 2023-10-22 17:10:01 -04:00
bkey.h bcachefs: Converting to typed bkeys is now allowed for err, null ptrs 2023-10-22 17:10:00 -04:00
bset.c bcachefs: Assorted sparse fixes 2023-10-22 17:10:06 -04:00
bset.h bcachefs: bch2_btree_node_to_text() const correctness 2023-10-22 17:09:56 -04:00
btree_cache.c bcachefs: Enumerate recovery passes 2023-10-22 17:10:06 -04:00
btree_cache.h bcachefs: Assorted sparse fixes 2023-10-22 17:10:06 -04:00
btree_gc.c bcachefs: Make topology repair a normal recovery pass 2023-10-22 17:10:08 -04:00
btree_gc.h bcachefs: Make topology repair a normal recovery pass 2023-10-22 17:10:08 -04:00
btree_io.c bcachefs: Make topology repair a normal recovery pass 2023-10-22 17:10:08 -04:00
btree_io.h bcachefs: Assorted sparse fixes 2023-10-22 17:10:06 -04:00
btree_iter.c bcachefs: Assorted sparse fixes 2023-10-22 17:10:06 -04:00
btree_iter.h bcachefs: Snapshot depth, skiplist fields 2023-10-22 17:10:06 -04:00
btree_key_cache.c bcachefs: mark bch_inode_info and bkey_cached as reclaimable 2023-10-22 17:10:07 -04:00
btree_key_cache.h bcachefs: don't bump key cache journal seq on nojournal commits 2023-10-22 17:09:56 -04:00
btree_locking.c bcachefs: Assorted sparse fixes 2023-10-22 17:10:06 -04:00
btree_locking.h bcachefs: Assorted sparse fixes 2023-10-22 17:10:06 -04:00
btree_types.h bcachefs: support btree updates of prejournaled keys 2023-10-22 17:10:08 -04:00
btree_update_interior.c bcachefs: Fix a write buffer flush deadlock 2023-10-22 17:10:06 -04:00
btree_update_interior.h bcachefs: Fix a null ptr deref in bch2_fs_alloc() error path 2023-10-22 17:10:05 -04:00
btree_update_leaf.c bcachefs: support btree updates of prejournaled keys 2023-10-22 17:10:08 -04:00
btree_update.h bcachefs: support btree updates of prejournaled keys 2023-10-22 17:10:08 -04:00
btree_write_buffer_types.h bcachefs: Btree write buffer 2023-10-22 17:09:50 -04:00
btree_write_buffer.c bcachefs: use prejournaled key updates for write buffer flushes 2023-10-22 17:10:08 -04:00
btree_write_buffer.h bcachefs: Btree write buffer 2023-10-22 17:09:50 -04:00
buckets_types.h bcachefs: Fragmentation LRU 2023-10-22 17:09:53 -04:00
buckets_waiting_for_journal_types.h bcachefs: New data structure for buckets waiting on journal commit 2023-10-22 17:09:22 -04:00
buckets_waiting_for_journal.c bcachefs: Private error codes: ENOMEM 2023-10-22 17:09:57 -04:00
buckets_waiting_for_journal.h bcachefs: New data structure for buckets waiting on journal commit 2023-10-22 17:09:22 -04:00
buckets.c bcachefs: Upgrade path fixes 2023-10-22 17:10:07 -04:00
buckets.h bcachefs: BCH_WATERMARK_reclaim 2023-10-22 17:10:05 -04:00
chardev.c bcachefs: Convert -ENOENT to private error codes 2023-10-22 17:10:03 -04:00
chardev.h
checksum.c bcachefs: Suppresss various error messages in no_data_io mode 2023-10-22 17:10:08 -04:00
checksum.h bcachefs: Compression levels 2023-10-22 17:10:07 -04:00
clock_types.h bcachefs: Persist 64 bit io clocks 2023-10-22 17:08:52 -04:00
clock.c bcachefs: Private error codes: ENOMEM 2023-10-22 17:09:57 -04:00
clock.h bcachefs: Convert various code to printbuf 2023-10-22 17:08:43 -04:00
compress.c bcachefs: Suppresss various error messages in no_data_io mode 2023-10-22 17:10:08 -04:00
compress.h bcachefs: Compression levels 2023-10-22 17:10:07 -04:00
counters.c bcachefs: Assorted sparse fixes 2023-10-22 17:10:06 -04:00
counters.h bcachefs: Add persistent counters 2023-10-22 17:09:32 -04:00
darray.h bcachefs: bch2_buffered_write large folio conversion 2023-10-22 17:09:59 -04:00
data_update.c bcachefs: Compression levels 2023-10-22 17:10:07 -04:00
data_update.h bcachefs: Fix deadlock on nocow locks in data move path 2023-10-22 17:09:52 -04:00
debug.c bcachefs: Fix more lockdep splats in debug.c 2023-10-22 17:10:04 -04:00
debug.h bcachefs: bch2_btree_node_ondisk_to_text() 2023-10-22 17:09:56 -04:00
dirent.c bcachefs: Change check for invalid key types 2023-10-22 17:10:06 -04:00
dirent.h bcachefs: Change check for invalid key types 2023-10-22 17:10:06 -04:00
disk_groups.c bcachefs: bch_opt_fn 2023-10-22 17:10:07 -04:00
disk_groups.h bcachefs: bch_opt_fn 2023-10-22 17:10:07 -04:00
ec_types.h bcachefs: Simplify ec stripes heap 2023-10-22 17:09:54 -04:00
ec.c bcachefs: Convert more -EROFS to private error codes 2023-10-22 17:10:06 -04:00
ec.h bcachefs: Change check for invalid key types 2023-10-22 17:10:06 -04:00
errcode.c bcachefs: More style fixes 2023-10-22 17:09:45 -04:00
errcode.h bcachefs: Make topology repair a normal recovery pass 2023-10-22 17:10:08 -04:00
error.c bcachefs: Make topology repair a normal recovery pass 2023-10-22 17:10:08 -04:00
error.h bcachefs: fix_errors option is now a proper enum 2023-10-22 17:10:07 -04:00
extent_update.c bcachefs: Use for_each_btree_key_upto() more consistently 2023-10-22 17:09:50 -04:00
extent_update.h bcachefs: Reduce iter->trans usage 2023-10-22 17:09:10 -04:00
extents_types.h bcachefs: Limit pointers to being in only one stripe 2023-10-22 17:08:29 -04:00
extents.c bcachefs: Change check for invalid key types 2023-10-22 17:10:06 -04:00
extents.h bcachefs: Change check for invalid key types 2023-10-22 17:10:06 -04:00
eytzinger.h bcachefs: Make eytzinger size parameter more conventional 2023-10-22 17:09:21 -04:00
fifo.h bcachefs: More style fixes 2023-10-22 17:09:45 -04:00
fs-common.c bcachefs: Convert -ENOENT to private error codes 2023-10-22 17:10:03 -04:00
fs-common.h bcachefs: Add BCH_SUBVOLUME_UNLINKED 2023-10-22 17:09:15 -04:00
fs-io.c bcachefs: Fallocate now checks page cache 2023-10-22 17:10:07 -04:00
fs-io.h bcachefs: Delete bch_writepage 2023-10-22 17:09:32 -04:00
fs-ioctl.c bcachefs: Convert -ENOENT to private error codes 2023-10-22 17:10:03 -04:00
fs-ioctl.h bcachefs: Fix mtime/ctime updates 2023-10-22 17:08:07 -04:00
fs.c bcachefs: mark bch_inode_info and bkey_cached as reclaimable 2023-10-22 17:10:07 -04:00
fs.h bcachefs: bch2_xattr_set() now updates ctime 2023-10-22 17:10:06 -04:00
fsck.c bcachefs: bch2_run_explicit_recovery_pass() 2023-10-22 17:10:08 -04:00
fsck.h bcachefs: Enumerate recovery passes 2023-10-22 17:10:06 -04:00
inode.c bcachefs: Change check for invalid key types 2023-10-22 17:10:06 -04:00
inode.h bcachefs: Change check for invalid key types 2023-10-22 17:10:06 -04:00
io_types.h bcachefs: Compression levels 2023-10-22 17:10:07 -04:00
io.c bcachefs: Suppresss various error messages in no_data_io mode 2023-10-22 17:10:08 -04:00
io.h bcachefs: Compression levels 2023-10-22 17:10:07 -04:00
journal_io.c bcachefs: bcachefs_metadata_version_major_minor 2023-10-22 17:10:06 -04:00
journal_io.h bcachefs: Drop some anonymous structs, unions 2023-10-22 17:09:55 -04:00
journal_reclaim.c bcachefs: Fix error path in bch2_journal_flush_device_pins() 2023-10-22 17:10:06 -04:00
journal_reclaim.h bcachefs: Make sure to initialize j->last_flushed 2023-10-22 17:09:02 -04:00
journal_sb.c bcachefs: Assorted sparse fixes 2023-10-22 17:10:06 -04:00
journal_sb.h bcachefs: Journal resize fixes 2023-10-22 17:09:56 -04:00
journal_seq_blacklist.c bcachefs: Private error codes: ENOMEM 2023-10-22 17:09:57 -04:00
journal_seq_blacklist.h Revert "bcachefs: Delete some obsolete journal_seq_blacklist code" 2023-10-22 17:09:21 -04:00
journal_types.h bcachefs: Kill JOURNAL_WATERMARK 2023-10-22 17:10:05 -04:00
journal.c bcachefs: Convert more -EROFS to private error codes 2023-10-22 17:10:06 -04:00
journal.h bcachefs: Kill JOURNAL_WATERMARK 2023-10-22 17:10:05 -04:00
Kconfig bcachefs: Compression levels 2023-10-22 17:10:07 -04:00
keylist_types.h
keylist.c bcachefs: GFP_NOIO -> GFP_NOFS 2023-10-22 17:10:03 -04:00
keylist.h bcachefs: Kill bch2_keylist_add_in_order() 2023-10-22 17:09:54 -04:00
lru.c bcachefs: Change check for invalid key types 2023-10-22 17:10:06 -04:00
lru.h bcachefs: Change check for invalid key types 2023-10-22 17:10:06 -04:00
Makefile bcachefs: Nocow support 2023-10-22 17:09:51 -04:00
mean_and_variance_test.c mean and variance: More tests 2023-10-22 17:10:02 -04:00
mean_and_variance.c bcachefs: Mean and variance 2023-10-22 17:09:43 -04:00
mean_and_variance.h mean and variance: Add a missing include 2023-10-22 17:10:02 -04:00
migrate.c bcachefs: Kill BTREE_INSERT_USE_RESERVE 2023-10-22 17:10:05 -04:00
migrate.h
move_types.h bcachefs: Rhashtable based buckets_in_flight for copygc 2023-10-22 17:09:58 -04:00
move.c bcachefs: Allow for unknown btree IDs 2023-10-22 17:10:05 -04:00
move.h bcachefs: Kill bch2_verify_bucket_evacuated() 2023-10-22 17:10:00 -04:00
movinggc.c bcachefs: Kill BTREE_INSERT_USE_RESERVE 2023-10-22 17:10:05 -04:00
movinggc.h bcachefs: bch2_copygc_wait_to_text() 2023-10-22 17:09:55 -04:00
nocow_locking_types.h bcachefs: Improved nocow locking 2023-10-22 17:09:52 -04:00
nocow_locking.c bcachefs: Add an assert to bch2_bucket_nocow_unlock() 2023-10-22 17:09:52 -04:00
nocow_locking.h bcachefs: Improved nocow locking 2023-10-22 17:09:52 -04:00
opts.c bcachefs: fix_errors option is now a proper enum 2023-10-22 17:10:07 -04:00
opts.h bcachefs: Compression levels 2023-10-22 17:10:07 -04:00
printbuf.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
printbuf.h bcachefs: Improve dev_alloc_debug_to_text() 2023-10-22 17:09:55 -04:00
quota_types.h bcachefs: bch2_fs_quota_transfer 2023-10-22 17:08:13 -04:00
quota.c bcachefs: Convert snapshot table to RCU array 2023-10-22 17:10:07 -04:00
quota.h bcachefs: Change check for invalid key types 2023-10-22 17:10:06 -04:00
rebalance_types.h bcachefs: add progress stats to sysfs 2023-10-22 17:09:10 -04:00
rebalance.c bcachefs: Compression levels 2023-10-22 17:10:07 -04:00
rebalance.h bcachefs: Convert various code to printbuf 2023-10-22 17:08:43 -04:00
recovery.c bcachefs: Make topology repair a normal recovery pass 2023-10-22 17:10:08 -04:00
recovery.h bcachefs: Version table now lists required recovery passes 2023-10-22 17:10:06 -04:00
reflink.c bcachefs: Change check for invalid key types 2023-10-22 17:10:06 -04:00
reflink.h bcachefs: Change check for invalid key types 2023-10-22 17:10:06 -04:00
replicas_types.h bcachefs: Fix bch2_trans_reset_updates() 2023-10-22 17:09:50 -04:00
replicas.c bcachefs: Fix error path in bch2_journal_flush_device_pins() 2023-10-22 17:10:06 -04:00
replicas.h bcachefs: Fix bch2_trans_reset_updates() 2023-10-22 17:09:50 -04:00
seqmutex.h bcachefs: seqmutex; fix a lockdep splat 2023-10-22 17:10:04 -04:00
siphash.c bcachefs: Assorted checkpatch fixes 2023-10-22 17:09:44 -04:00
siphash.h
six.c six locks: Disable percpu read lock mode in userspace 2023-10-22 17:10:02 -04:00
six.h six locks: Split out seq, use atomic_t instead of atomic64_t 2023-10-22 17:10:02 -04:00
str_hash.h bcachefs: Convert -ENOENT to private error codes 2023-10-22 17:10:03 -04:00
subvolume_types.h bcachefs: is_ancestor bitmap 2023-10-22 17:10:07 -04:00
subvolume.c bcachefs: bch2_run_explicit_recovery_pass() 2023-10-22 17:10:08 -04:00
subvolume.h bcachefs: Inline bch2_snapshot_is_ancestor() fast path 2023-10-22 17:10:07 -04:00
super_types.h bcachefs: Freespace, need_discard btrees 2023-10-22 17:09:29 -04:00
super-io.c bcachefs: Upgrade path fixes 2023-10-22 17:10:07 -04:00
super-io.h bcachefs: Version table now lists required recovery passes 2023-10-22 17:10:06 -04:00
super.c bcachefs: Print version, options earlier in startup path 2023-10-22 17:10:08 -04:00
super.h bcachefs: Nocow support 2023-10-22 17:09:51 -04:00
sysfs.c bcachefs: Assorted sparse fixes 2023-10-22 17:10:06 -04:00
sysfs.h bcachefs: Add persistent counters 2023-10-22 17:09:32 -04:00
tests.c bcachefs: Assorted sparse fixes 2023-10-22 17:10:06 -04:00
tests.h bcachefs: Add error handling to unit & perf tests 2023-10-22 17:08:48 -04:00
trace.c bcachefs: Improve trans_restart_split_race tracepoint 2023-10-22 17:09:58 -04:00
trace.h bcachefs: More drop_locks_do() conversions 2023-10-22 17:10:03 -04:00
two_state_shared_lock.c bcachefs: Inline bch2_two_state_(trylock|unlock) 2023-10-22 17:09:51 -04:00
two_state_shared_lock.h bcachefs: Inline bch2_two_state_(trylock|unlock) 2023-10-22 17:09:51 -04:00
util.c mean and variance: More tests 2023-10-22 17:10:02 -04:00
util.h bcachefs: Fix a userspace build error 2023-10-22 17:10:00 -04:00
varint.c bcachefs: Assorted sparse fixes 2023-10-22 17:10:06 -04:00
varint.h bcachefs: Add safe versions of varint encode/decode 2023-10-22 17:09:08 -04:00
vstructs.h bcachefs: Fix 32 bit build 2023-10-22 17:09:25 -04:00
xattr.c bcachefs: bch2_xattr_set() now updates ctime 2023-10-22 17:10:06 -04:00
xattr.h bcachefs: bch2_xattr_set() now updates ctime 2023-10-22 17:10:06 -04:00