linux-stable/fs/bcachefs
Kent Overstreet b32f9a577b bcachefs: Run check_extents_to_backpointers() in multiple passes
Similer to the previous patch for check_backpointers_to_extents(), if
the alloc + backpointers btrees do not fit in ram we need to run into
multiple passes.

The counting of btree nodes that fit in memory is different here,
because we have to walk the alloc and backpointers btrees at the same
time, since a backpointer could reside in either of them and we don't
know which without checking both.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22 17:09:51 -04:00
..
acl.c bcachefs: Assorted checkpatch fixes 2023-10-22 17:09:44 -04:00
acl.h bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
alloc_background.c bcachefs: New on disk format: Backpointers 2023-10-22 17:09:50 -04:00
alloc_background.h bcachefs: New on disk format: Backpointers 2023-10-22 17:09:50 -04:00
alloc_foreground.c bcachefs: New on disk format: Backpointers 2023-10-22 17:09:50 -04:00
alloc_foreground.h bcachefs: Better inlining in core write path 2023-10-22 17:09:49 -04:00
alloc_types.h bcachefs: bucket_alloc_state 2023-10-22 17:09:42 -04:00
backpointers.c bcachefs: Run check_extents_to_backpointers() in multiple passes 2023-10-22 17:09:51 -04:00
backpointers.h bcachefs: New on disk format: Backpointers 2023-10-22 17:09:50 -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.h bcachefs: New on disk format: Backpointers 2023-10-22 17:09:50 -04:00
bcachefs_format.h bcachefs: New on disk format: Backpointers 2023-10-22 17:09:50 -04:00
bcachefs_ioctl.h bcachefs: Convert to __packed and __aligned 2023-10-22 17:09:45 -04:00
bkey.c bcachefs: Add some unlikely() annotations 2023-10-22 17:09:48 -04:00
bkey.h bcachefs: bkey_min(), bkey_max() 2023-10-22 17:09:48 -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: New on disk format: Backpointers 2023-10-22 17:09:50 -04:00
bkey_methods.h bcachefs: New bpos_cmp(), bkey_cmp() replacements 2023-10-22 17:09:47 -04:00
bkey_sort.c bcachefs: Btree split improvement 2023-10-22 17:09:46 -04:00
bkey_sort.h bcachefs: Kill bch2_sort_repack_merge() 2023-10-22 17:09:19 -04:00
bset.c bcachefs: New bpos_cmp(), bkey_cmp() replacements 2023-10-22 17:09:47 -04:00
bset.h bcachefs: Btree split improvement 2023-10-22 17:09:46 -04:00
btree_cache.c bcachefs: Use six_lock_ip() 2023-10-22 17:09:50 -04:00
btree_cache.h bcachefs: Move bkey bkey_unpack_key() to bkey.h 2023-10-22 17:09:45 -04:00
btree_gc.c bcachefs: Better inlining for bch2_alloc_to_v4_mut 2023-10-22 17:09:49 -04:00
btree_gc.h bcachefs: Fix a null ptr deref 2023-10-22 17:09:31 -04:00
btree_io.c bcachefs: Improve btree node read error path 2023-10-22 17:09:50 -04:00
btree_io.h bcachefs: Plumb saw_error through to btree_err() 2023-10-22 17:09:48 -04:00
btree_iter.c bcachefs: Btree write buffer 2023-10-22 17:09:50 -04:00
btree_iter.h bcachefs: Use for_each_btree_key_upto() more consistently 2023-10-22 17:09:50 -04:00
btree_key_cache.c bcachefs: Kill trans->flags 2023-10-22 17:09:50 -04:00
btree_key_cache.h bcachefs: Kill trans->flags 2023-10-22 17:09:50 -04:00
btree_locking.c bcachefs: trans->notrace_relock_fail 2023-10-22 17:09:50 -04:00
btree_locking.h bcachefs: Use six_lock_ip() 2023-10-22 17:09:50 -04:00
btree_types.h bcachefs: Btree write buffer 2023-10-22 17:09:50 -04:00
btree_update.h bcachefs: Btree write buffer 2023-10-22 17:09:50 -04:00
btree_update_interior.c bcachefs: Debug mode for c->writes references 2023-10-22 17:09:50 -04:00
btree_update_interior.h bcachefs: Improved btree write statistics 2023-10-22 17:09:45 -04:00
btree_update_leaf.c bcachefs: Btree write buffer 2023-10-22 17:09:50 -04:00
btree_write_buffer.c bcachefs: Btree write buffer 2023-10-22 17:09:50 -04:00
btree_write_buffer.h bcachefs: Btree write buffer 2023-10-22 17:09:50 -04:00
btree_write_buffer_types.h bcachefs: Btree write buffer 2023-10-22 17:09:50 -04:00
buckets.c bcachefs: New on disk format: Backpointers 2023-10-22 17:09:50 -04:00
buckets.h bcachefs: New on disk format: Backpointers 2023-10-22 17:09:50 -04:00
buckets_types.h bcachefs: Copygc now uses backpointers 2023-10-22 17:09:51 -04:00
buckets_waiting_for_journal.c bcachefs: New data structure for buckets waiting on journal commit 2023-10-22 17:09:22 -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_waiting_for_journal_types.h bcachefs: New data structure for buckets waiting on journal commit 2023-10-22 17:09:22 -04:00
chardev.c bcachefs: Fix BCH_IOCTL_DISK_SET_STATE 2023-10-22 17:09:47 -04:00
chardev.h
checksum.c bcachefs: Inlining improvements 2023-10-22 17:09:45 -04:00
checksum.h bcachefs: Inlining improvements 2023-10-22 17:09:45 -04:00
clock.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
clock.h
clock_types.h
compress.c bcachefs: __bio_compress() fix up. 2023-10-22 17:09:44 -04:00
compress.h
counters.c bcachefs: Fix sb_field_counters formatting 2023-10-22 17:09:40 -04:00
counters.h bcachefs: Add persistent counters 2023-10-22 17:09:32 -04:00
darray.h bcachefs: darrays 2023-10-22 17:09:28 -04:00
data_update.c bcachefs: Delete in memory ec backpointers 2023-10-22 17:09:51 -04:00
data_update.h bcachefs: Handle dropping pointers in data_update path 2023-10-22 17:09:42 -04:00
debug.c bcachefs: debug: Fix some locking bugs 2023-10-22 17:09:49 -04:00
debug.h
dirent.c bcachefs: More errcode cleanup 2023-10-22 17:09:48 -04:00
dirent.h bcachefs: More style fixes 2023-10-22 17:09:45 -04:00
disk_groups.c bcachefs: More errcode cleanup 2023-10-22 17:09:48 -04:00
disk_groups.h bcachefs: Fix adding a device with a label 2023-10-22 17:09:39 -04:00
ec.c bcachefs: Delete in memory ec backpointers 2023-10-22 17:09:51 -04:00
ec.h bcachefs: Delete in memory ec backpointers 2023-10-22 17:09:51 -04:00
ec_types.h bcachefs: Fix an include 2023-10-22 17:09:47 -04:00
errcode.c bcachefs: More style fixes 2023-10-22 17:09:45 -04:00
errcode.h bcachefs: New on disk format: Backpointers 2023-10-22 17:09:50 -04:00
error.c bcachefs: Improve btree node read error path 2023-10-22 17:09:50 -04:00
error.h bcachefs: Dump transaction updates before panicing 2023-10-22 17:09:49 -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.c bcachefs: Better inlining in core write path 2023-10-22 17:09:49 -04:00
extents.h bcachefs: Better inlining in core write path 2023-10-22 17:09:49 -04:00
extents_types.h
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: Assorted checkpatch fixes 2023-10-22 17:09:44 -04:00
fs-common.h bcachefs: Add BCH_SUBVOLUME_UNLINKED 2023-10-22 17:09:15 -04:00
fs-io.c bcachefs: Debug mode for c->writes references 2023-10-22 17:09:50 -04:00
fs-io.h bcachefs: Delete bch_writepage 2023-10-22 17:09:32 -04:00
fs-ioctl.c bcachefs: Support FS_XFLAG_PROJINHERIT 2023-10-22 17:09:43 -04:00
fs-ioctl.h
fs.c bcachefs: More errcode cleanup 2023-10-22 17:09:48 -04:00
fs.h bcachefs: Factor out two_state_shared_lock 2023-10-22 17:09:45 -04:00
fsck.c bcachefs: Use for_each_btree_key_upto() more consistently 2023-10-22 17:09:50 -04:00
fsck.h
inode.c bcachefs: bch2_inode_opts_get() 2023-10-22 17:09:49 -04:00
inode.h bcachefs: bch2_inode_opts_get() 2023-10-22 17:09:49 -04:00
io.c bcachefs: Delete in memory ec backpointers 2023-10-22 17:09:51 -04:00
io.h bcachefs: Kill BCH_WRITE_FLUSH 2023-10-22 17:09:45 -04:00
io_types.h bcachefs: Error message improvement 2023-10-22 17:09:46 -04:00
journal.c bcachefs: Convert EAGAIN errors to private error codes 2023-10-22 17:09:49 -04:00
journal.h bcachefs: Convert EAGAIN errors to private error codes 2023-10-22 17:09:49 -04:00
journal_io.c bcachefs: Log more messages in the journal 2023-10-22 17:09:48 -04:00
journal_io.h bcachefs: Log more messages in the journal 2023-10-22 17:09:48 -04:00
journal_reclaim.c bcachefs: Fix bch2_journal_flush_device_pins() 2023-10-22 17:09:48 -04:00
journal_reclaim.h
journal_sb.c bcachefs: More errcode cleanup 2023-10-22 17:09:48 -04:00
journal_sb.h bcachefs: bch_sb_field_journal_v2 2023-10-22 17:09:29 -04:00
journal_seq_blacklist.c bcachefs: More errcode cleanup 2023-10-22 17:09:48 -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: Log more messages in the journal 2023-10-22 17:09:48 -04:00
Kconfig bcachefs: time stats now uses the mean_and_variance module. 2023-10-22 17:09:43 -04:00
keylist.c bcachefs: New bpos_cmp(), bkey_cmp() replacements 2023-10-22 17:09:47 -04:00
keylist.h bcachefs: DIO write path optimization 2023-10-22 17:09:45 -04:00
keylist_types.h
lru.c bcachefs: Better inlining for bch2_alloc_to_v4_mut 2023-10-22 17:09:49 -04:00
lru.h bcachefs: More style fixes 2023-10-22 17:09:45 -04:00
Makefile bcachefs: New on disk format: Backpointers 2023-10-22 17:09:50 -04:00
mean_and_variance.c bcachefs: Mean and variance 2023-10-22 17:09:43 -04:00
mean_and_variance.h bcachefs: Mean and variance 2023-10-22 17:09:43 -04:00
mean_and_variance_test.c bcachefs: Mean and variance 2023-10-22 17:09:43 -04:00
migrate.c bcachefs: New btree helpers 2023-10-22 17:09:48 -04:00
migrate.h
move.c bcachefs: Copygc now uses backpointers 2023-10-22 17:09:51 -04:00
move.h bcachefs: Copygc now uses backpointers 2023-10-22 17:09:51 -04:00
move_types.h bcachefs: add progress stats to sysfs 2023-10-22 17:09:10 -04:00
movinggc.c bcachefs: Copygc now uses backpointers 2023-10-22 17:09:51 -04:00
movinggc.h bcachefs: Improve bucket_alloc_fail tracepoint 2023-10-22 17:09:36 -04:00
opts.c bcachefs: bch2_inode_opts_get() 2023-10-22 17:09:49 -04:00
opts.h bcachefs: Btree write buffer 2023-10-22 17:09:50 -04:00
printbuf.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
printbuf.h bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
quota.c bcachefs: Use for_each_btree_key_upto() more consistently 2023-10-22 17:09:50 -04:00
quota.h bcachefs: More style fixes 2023-10-22 17:09:45 -04:00
quota_types.h
rebalance.c bcachefs: Fixes for building in userspace 2023-10-22 17:09:46 -04:00
rebalance.h
rebalance_types.h bcachefs: add progress stats to sysfs 2023-10-22 17:09:10 -04:00
recovery.c bcachefs: New on disk format: Backpointers 2023-10-22 17:09:50 -04:00
recovery.h bcachefs: Fix btree_and_journal_iter 2023-10-22 17:09:33 -04:00
reflink.c bcachefs: Debug mode for c->writes references 2023-10-22 17:09:50 -04:00
reflink.h bcachefs: More style fixes 2023-10-22 17:09:45 -04:00
replicas.c bcachefs: Fix memleak in replicas_table_update() 2023-10-22 17:09:50 -04:00
replicas.h bcachefs: Fix bch2_trans_reset_updates() 2023-10-22 17:09:50 -04:00
replicas_types.h bcachefs: Fix bch2_trans_reset_updates() 2023-10-22 17:09:50 -04:00
siphash.c bcachefs: Assorted checkpatch fixes 2023-10-22 17:09:44 -04:00
siphash.h
six.c six locks: Improved optimistic spinning 2023-10-22 17:09:50 -04:00
six.h six locks: Improved optimistic spinning 2023-10-22 17:09:50 -04:00
str_hash.h bcachefs: Add private error codes for ENOSPC 2023-10-22 17:09:40 -04:00
subvolume.c bcachefs: Debug mode for c->writes references 2023-10-22 17:09:50 -04:00
subvolume.h bcachefs: More style fixes 2023-10-22 17:09:45 -04:00
subvolume_types.h bcachefs: darrays 2023-10-22 17:09:28 -04:00
super-io.c bcachefs: Convert EROFS errors to private error codes 2023-10-22 17:09:49 -04:00
super-io.h bcachefs: Freespace, need_discard btrees 2023-10-22 17:09:29 -04:00
super.c bcachefs: Don't stop copygc while removing devices 2023-10-22 17:09:51 -04:00
super.h bcachefs: Debug mode for c->writes references 2023-10-22 17:09:50 -04:00
super_types.h bcachefs: Freespace, need_discard btrees 2023-10-22 17:09:29 -04:00
sysfs.c bcachefs: Debug mode for c->writes references 2023-10-22 17:09:50 -04:00
sysfs.h bcachefs: Add persistent counters 2023-10-22 17:09:32 -04:00
tests.c bcachefs: Use for_each_btree_key_upto() more consistently 2023-10-22 17:09:50 -04:00
tests.h
trace.c bcachefs: Tracepoint improvements 2023-10-22 17:09:38 -04:00
trace.h bcachefs: Copygc now uses backpointers 2023-10-22 17:09:51 -04:00
two_state_shared_lock.c bcachefs: Factor out two_state_shared_lock 2023-10-22 17:09:45 -04:00
two_state_shared_lock.h bcachefs: Factor out two_state_shared_lock 2023-10-22 17:09:45 -04:00
util.c bcachefs: Use trylock in bch2_prt_backtrace() 2023-10-22 17:09:49 -04:00
util.h bcachefs: Delete atomic_inc_bug() 2023-10-22 17:09:46 -04:00
varint.c bcachefs: Add a valgrind memcheck hint 2023-10-22 17:09:13 -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: More errcode cleanup 2023-10-22 17:09:48 -04:00
xattr.h bcachefs: More style fixes 2023-10-22 17:09:45 -04:00