linux-stable/fs/bcachefs
Kent Overstreet e68031fb46 bcachefs: Mark newly allocated btree nodes as accessed
This was a major oversight - this means under memory pressure we can end
up reading in a btree node, then having it evicted before we get to use
it.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22 17:09:02 -04:00
..
acl.c bcachefs: Require all btree iterators to be freed 2023-10-22 17:08:56 -04:00
acl.h bcachefs: Kill ei_str_hash 2023-10-22 17:08:55 -04:00
alloc_background.c bcachefs: Allocator refactoring 2023-10-22 17:09:01 -04:00
alloc_background.h bcachefs: Fix for copygc getting stuck waiting for reserve to be filled 2023-10-22 17:08:54 -04:00
alloc_foreground.c bcachefs: Allocator refactoring 2023-10-22 17:09:01 -04:00
alloc_foreground.h
alloc_types.h bcachefs: Add allocator thread state to sysfs 2023-10-22 17:08:54 -04:00
bcachefs.h bcachefs: Fix time handling 2023-10-22 17:09:02 -04:00
bcachefs_format.h bcachefs: New and improved topology repair code 2023-10-22 17:09:02 -04:00
bcachefs_ioctl.h bcachefs: Add code to scan for/rewite old btree nodes 2023-10-22 17:08:54 -04:00
bkey.c bcachefs: Start using bpos.snapshot field 2023-10-22 17:08:57 -04:00
bkey.h bcachefs: Start using bpos.snapshot field 2023-10-22 17:08:57 -04:00
bkey_buf.h bcachefs: Reduce/kill BKEY_PADDED use 2023-10-22 17:08:50 -04:00
bkey_methods.c bcachefs: Check that keys are in the correct btrees 2023-10-22 17:09:01 -04:00
bkey_methods.h bcachefs: Kill bkey ops->debugcheck method 2023-10-22 17:08:56 -04:00
bkey_sort.c bcachefs: Drop bkey noops 2023-10-22 17:08:57 -04:00
bkey_sort.h bcachefs: Kill support for !BTREE_NODE_NEW_EXTENT_OVERWRITE() 2023-10-22 17:08:55 -04:00
bset.c bcachefs: kill bset_tree->max_key 2023-10-22 17:08:59 -04:00
bset.h bcachefs: Increase BSET_CACHELINE to 256 bytes 2023-10-22 17:08:59 -04:00
btree_cache.c bcachefs: Mark newly allocated btree nodes as accessed 2023-10-22 17:09:02 -04:00
btree_cache.h bcachefs: Evict btree nodes we're deleting 2023-10-22 17:09:02 -04:00
btree_gc.c bcachefs: Evict btree nodes we're deleting 2023-10-22 17:09:02 -04:00
btree_gc.h bcachefs: gc shouldn't care about owned_by_allocator 2023-10-22 17:09:01 -04:00
btree_io.c bcachefs: New and improved topology repair code 2023-10-22 17:09:02 -04:00
btree_io.h bcachefs: New and improved topology repair code 2023-10-22 17:09:02 -04:00
btree_iter.c bcachefs: New tracepoint for bch2_trans_get_iter() 2023-10-22 17:09:02 -04:00
btree_iter.h bcachefs: Improve bch2_btree_iter_traverse_all() 2023-10-22 17:09:00 -04:00
btree_key_cache.c bcachefs: Change bch2_btree_key_cache_count() to exclude dirty keys 2023-10-22 17:09:02 -04:00
btree_key_cache.h bcachefs: Don't flush btree writes more aggressively because of btree key cache 2023-10-22 17:08:59 -04:00
btree_locking.h bcachefs: Drop trans->nounlock 2023-10-22 17:08:58 -04:00
btree_types.h bcachefs: Fix BTREE_ITER_NOT_EXTENTS 2023-10-22 17:08:59 -04:00
btree_update.h bcachefs: Rewrite btree nodes with errors 2023-10-22 17:09:02 -04:00
btree_update_interior.c bcachefs: New and improved topology repair code 2023-10-22 17:09:02 -04:00
btree_update_interior.h bcachefs: Improve bset compaction 2023-10-22 17:08:59 -04:00
btree_update_leaf.c bcachefs: Add a tracepoint for when we block on journal reclaim 2023-10-22 17:09:02 -04:00
buckets.c bcachefs: Call bch2_inconsistent_error() on missing stripe/indirect extent 2023-10-22 17:09:02 -04:00
buckets.h bcachefs: gc shouldn't care about owned_by_allocator 2023-10-22 17:09:01 -04:00
buckets_types.h bcachefs: Fix bch2_trans_mark_dev_sb() 2023-10-22 17:09:00 -04:00
chardev.c bcachefs: Refactor dev usage 2023-10-22 17:08:52 -04:00
chardev.h
checksum.c
checksum.h bcachefs: Use x-macros for more enums 2023-10-22 17:08:55 -04:00
clock.c bcachefs: Persist 64 bit io clocks 2023-10-22 17:08:52 -04:00
clock.h
clock_types.h bcachefs: Persist 64 bit io clocks 2023-10-22 17:08:52 -04:00
compress.c bcachefs: Work around a zstd bug 2023-10-22 17:08:50 -04:00
compress.h
debug.c bcachefs: Update bch2_btree_verify() 2023-10-22 17:09:01 -04:00
debug.h bcachefs: Update bch2_btree_verify() 2023-10-22 17:09:01 -04:00
dirent.c bcachefs: Move some dirent checks to bch2_dirent_invalid() 2023-10-22 17:08:59 -04:00
dirent.h bcachefs: Inode backpointers 2023-10-22 17:08:58 -04:00
disk_groups.c
disk_groups.h
ec.c bcachefs: Fix two btree iterator leaks 2023-10-22 17:09:01 -04:00
ec.h bcachefs: Have fsck check for stripe pointers matching stripe 2023-10-22 17:08:55 -04:00
ec_types.h bcachefs: Have fsck check for stripe pointers matching stripe 2023-10-22 17:08:55 -04:00
error.c bcachefs: New and improved topology repair code 2023-10-22 17:09:02 -04:00
error.h bcachefs: New and improved topology repair code 2023-10-22 17:09:02 -04:00
extent_update.c bcachefs: Rename BTREE_ID enums for consistency with other enums 2023-10-22 17:08:55 -04:00
extent_update.h
extents.c bcachefs: Start using bpos.snapshot field 2023-10-22 17:08:57 -04:00
extents.h bcachefs: Split out bpos_cmp() and bkey_cmp() 2023-10-22 17:08:57 -04:00
extents_types.h
eytzinger.h
fifo.h
fs-common.c bcachefs: Improved check_directory_structure() 2023-10-22 17:09:00 -04:00
fs-common.h
fs-io.c bcachefs: Ensure that fpunch updates inode timestamps 2023-10-22 17:09:02 -04:00
fs-io.h
fs-ioctl.c bcachefs: Kill ei_str_hash 2023-10-22 17:08:55 -04:00
fs-ioctl.h
fs.c bcachefs: Fix time handling 2023-10-22 17:09:02 -04:00
fs.h bcachefs: Kill ei_str_hash 2023-10-22 17:08:55 -04:00
fsck.c bcachefs: New check_nlinks algorithm for snapshots 2023-10-22 17:09:02 -04:00
fsck.h bcachefs: Drop bch2_fsck_inode_nlink() 2023-10-22 17:08:59 -04:00
inode.c bcachefs: Improved check_directory_structure() 2023-10-22 17:09:00 -04:00
inode.h bcachefs: Improved check_directory_structure() 2023-10-22 17:09:00 -04:00
io.c bcachefs: Call bch2_inconsistent_error() on missing stripe/indirect extent 2023-10-22 17:09:02 -04:00
io.h bcachefs: Fix read retry path for indirect extents 2023-10-22 17:08:56 -04:00
io_types.h bcachefs: Fix read retry path for indirect extents 2023-10-22 17:08:56 -04:00
journal.c bcachefs: Make sure to initialize j->last_flushed 2023-10-22 17:09:02 -04:00
journal.h bcachefs: Fix for btree_gc repairing interior btree ptrs 2023-10-22 17:09:01 -04:00
journal_io.c bcachefs: Start using bpos.snapshot field 2023-10-22 17:08:57 -04:00
journal_io.h bcachefs: Fix compat code for superblock 2023-10-22 17:08:55 -04:00
journal_reclaim.c bcachefs: Make sure to initialize j->last_flushed 2023-10-22 17:09:02 -04:00
journal_reclaim.h bcachefs: Make sure to initialize j->last_flushed 2023-10-22 17:09:02 -04:00
journal_seq_blacklist.c bcachefs: Don't require flush/fua on every journal write 2023-10-22 17:08:49 -04:00
journal_seq_blacklist.h
journal_types.h bcachefs: Make sure to initialize j->last_flushed 2023-10-22 17:09:02 -04:00
Kconfig
keylist.c bcachefs: Fix bch2_verify_keylist_sorted 2023-10-22 17:09:02 -04:00
keylist.h
keylist_types.h
Makefile
migrate.c bcachefs: Replace bch2_btree_iter_next() calls with bch2_btree_iter_advance 2023-10-22 17:08:56 -04:00
migrate.h
move.c bcachefs: Fix two btree iterator leaks 2023-10-22 17:09:01 -04:00
move.h bcachefs: Scan for old btree nodes if necessary on mount 2023-10-22 17:08:54 -04:00
move_types.h
movinggc.c bcachefs: Change copygc wait amount to be min of per device waits 2023-10-22 17:09:02 -04:00
movinggc.h
opts.c bcachefs: Use x-macros for more enums 2023-10-22 17:08:55 -04:00
opts.h bcachefs: Kill reflink option 2023-10-22 17:08:56 -04:00
quota.c bcachefs: Require all btree iterators to be freed 2023-10-22 17:08:56 -04:00
quota.h
quota_types.h
rebalance.c bcachefs: Use bch2_bpos_to_text() more consistently 2023-10-22 17:08:55 -04:00
rebalance.h
rebalance_types.h bcachefs: Persist 64 bit io clocks 2023-10-22 17:08:52 -04:00
recovery.c bcachefs: New and improved topology repair code 2023-10-22 17:09:02 -04:00
recovery.h bcachefs: Add support for doing btree updates prior to journal replay 2023-10-22 17:08:52 -04:00
reflink.c bcachefs: Require all btree iterators to be freed 2023-10-22 17:08:56 -04:00
reflink.h
replicas.c bcachefs: Fix some small memory leaks 2023-10-22 17:09:01 -04:00
replicas.h bcachefs: Kill bch2_fs_usage_scratch_get() 2023-10-22 17:08:59 -04:00
replicas_types.h
siphash.c
siphash.h
six.c
six.h
str_hash.h bcachefs: Use x-macros for more enums 2023-10-22 17:08:55 -04:00
super-io.c bcachefs: Fix time handling 2023-10-22 17:09:02 -04:00
super-io.h bcachefs: Fix compat code for superblock 2023-10-22 17:08:55 -04:00
super.c bcachefs: New and improved topology repair code 2023-10-22 17:09:02 -04:00
super.h bcachefs: Use x-macros for more enums 2023-10-22 17:08:55 -04:00
super_types.h bcachefs: Eliminate more PAGE_SIZE uses 2023-10-22 17:08:59 -04:00
sysfs.c bcachefs: Drop old style btree node coalescing 2023-10-22 17:09:00 -04:00
sysfs.h
tests.c bcachefs: Add a perf test for multiple updates per commit 2023-10-22 17:09:00 -04:00
tests.h
trace.c
trace.h bcachefs: Add a tracepoint for when we block on journal reclaim 2023-10-22 17:09:02 -04:00
util.c bcachefs: Eliminate more PAGE_SIZE uses 2023-10-22 17:08:59 -04:00
util.h bcachefs: Check for duplicate device ptrs in bch2_bkey_ptrs_invalid() 2023-10-22 17:08:50 -04:00
varint.c
varint.h
vstructs.h
xattr.c bcachefs: Require all btree iterators to be freed 2023-10-22 17:08:56 -04:00
xattr.h