linux/fs/bcachefs
Kent Overstreet 39fb2983c5 bcachefs: Kill bkey_type_successor
Previously, BTREE_ID_INODES was special - inodes were indexed by the
inode field, which meant the offset field of struct bpos wasn't used,
which led to special cases in e.g. the btree iterator code.

Now, inodes in the inodes btree are indexed by the offset field.

Also: prevously min_key was special for extents btrees, min_key for
extents would equal max_key for the previous node. Now, min_key =
bkey_successor() of the previous node, same as non extent btrees.

This means we can completely get rid of
btree_type_sucessor/predecessor.

Also make some improvements to the metadata IO validate/compat code.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-22 17:08:37 -04:00
..
acl.c bcachefs: Split out btree_trigger_flags 2023-10-22 17:08:33 -04:00
acl.h
alloc_background.c bcachefs: btree_and_journal_iter 2023-10-22 17:08:35 -04:00
alloc_background.h bcachefs: Refactor bch2_alloc_write() 2023-10-22 17:08:26 -04:00
alloc_foreground.c bcachefs: Drop unused arg to bch2_open_buckets_stop_dev() 2023-10-22 17:08:27 -04:00
alloc_foreground.h bcachefs: Drop unused arg to bch2_open_buckets_stop_dev() 2023-10-22 17:08:27 -04:00
alloc_types.h bcachefs: Fix some reserve calculations 2023-10-22 17:08:14 -04:00
bcachefs_format.h bcachefs: Kill bkey_type_successor 2023-10-22 17:08:37 -04:00
bcachefs_ioctl.h bcachefs: Redo filesystem usage ioctls 2023-10-22 17:08:33 -04:00
bcachefs.h bcachefs: Add an option for keeping journal entries after startup 2023-10-22 17:08:37 -04:00
bkey_methods.c bcachefs: Kill bkey_type_successor 2023-10-22 17:08:37 -04:00
bkey_methods.h bcachefs: Kill bkey_type_successor 2023-10-22 17:08:37 -04:00
bkey_on_stack.h bcachefs: bkey_on_stack_reassemble() 2023-10-22 17:08:32 -04:00
bkey_sort.c bcachefs: Disable extent merging 2023-10-22 17:08:37 -04:00
bkey_sort.h bcachefs: Kill btree_node_iter_large 2023-10-22 17:08:32 -04:00
bkey.c bcachefs: Make __bch2_bkey_cmp_packed() smaller 2023-10-22 17:08:31 -04:00
bkey.h bcachefs: Disable extent merging 2023-10-22 17:08:37 -04:00
bset.c bcachefs: Iterator debug code improvements 2023-10-22 17:08:36 -04:00
bset.h bcachefs: Fix bch2_sort_keys() to not modify src keys 2023-10-22 17:08:34 -04:00
btree_cache.c bcachefs: Kill bkey_type_successor 2023-10-22 17:08:37 -04:00
btree_cache.h bcachefs: trans_commit() path can now insert to interior nodes 2023-10-22 17:08:37 -04:00
btree_gc.c bcachefs: Kill bkey_type_successor 2023-10-22 17:08:37 -04:00
btree_gc.h bcachefs: btree_bkey_cached_common 2023-10-22 17:08:21 -04:00
btree_io.c bcachefs: Kill bkey_type_successor 2023-10-22 17:08:37 -04:00
btree_io.h bcachefs: Kill bkey_type_successor 2023-10-22 17:08:37 -04:00
btree_iter.c bcachefs: Kill bkey_type_successor 2023-10-22 17:08:37 -04:00
btree_iter.h bcachefs: Kill bkey_type_successor 2023-10-22 17:08:37 -04:00
btree_locking.h bcachefs: Inline more of bch2_trans_commit hot path 2023-10-22 17:08:30 -04:00
btree_types.h bcachefs: Journal updates to interior nodes 2023-10-22 17:08:37 -04:00
btree_update_interior.c bcachefs: Kill bkey_type_successor 2023-10-22 17:08:37 -04:00
btree_update_interior.h bcachefs: Journal updates to interior nodes 2023-10-22 17:08:37 -04:00
btree_update_leaf.c bcachefs: Kill bkey_type_successor 2023-10-22 17:08:37 -04:00
btree_update.h bcachefs: Journal updates to interior nodes 2023-10-22 17:08:37 -04:00
buckets_types.h bcachefs: Make replicas_delta_list smaller 2023-10-22 17:08:30 -04:00
buckets.c bcachefs: Don't use peek_filter() unnecessarily 2023-10-22 17:08:36 -04:00
buckets.h bcachefs: Move extent overwrite handling out of core btree code 2023-10-22 17:08:36 -04:00
chardev.c bcachefs: Redo filesystem usage ioctls 2023-10-22 17:08:33 -04:00
chardev.h
checksum.c bcachefs: Track incompressible data 2023-10-22 17:08:34 -04:00
checksum.h bcachefs: Track incompressible data 2023-10-22 17:08:34 -04:00
clock_types.h bcachefs: Make io timers less buggy 2023-10-22 17:08:33 -04:00
clock.c bcachefs: Make io timers less buggy 2023-10-22 17:08:33 -04:00
clock.h bcachefs: Make io timers less buggy 2023-10-22 17:08:33 -04:00
compress.c bcachefs: Use kvpmalloc mempools for compression bounce 2023-10-22 17:08:37 -04:00
compress.h
debug.c bcachefs: Kill direct access to bi_io_vec 2023-10-22 17:08:23 -04:00
debug.h
dirent.c bcachefs: Kill TRANS_RESET_MEM|TRANS_RESET_ITERS 2023-10-22 17:08:35 -04:00
dirent.h bcachefs: Convert all bch2_trans_commit() users to BTREE_INSERT_ATOMIC 2023-10-22 17:08:33 -04:00
disk_groups.c bcachefs: revamp to_text methods 2023-10-22 17:08:11 -04:00
disk_groups.h bcachefs: Erasure coding 2023-10-22 17:08:11 -04:00
ec_types.h bcachefs: Persist stripe blocks_used 2023-10-22 17:08:15 -04:00
ec.c bcachefs: Kill TRANS_RESET_MEM|TRANS_RESET_ITERS 2023-10-22 17:08:35 -04:00
ec.h bcachefs: Fix bch2_ptr_swab for indirect extents 2023-10-22 17:08:35 -04:00
error.c bcachefs: Add an option for fsck error ratelimiting 2023-10-22 17:08:31 -04:00
error.h bcachefs: Kill bch2_fs_bug() 2023-10-22 17:08:34 -04:00
extent_update.c bcachefs: Kill bkey_type_successor 2023-10-22 17:08:37 -04:00
extent_update.h bcachefs: Move extent overwrite handling out of core btree code 2023-10-22 17:08:36 -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: Kill bkey_type_successor 2023-10-22 17:08:37 -04:00
extents.h bcachefs: Kill bkey_type_successor 2023-10-22 17:08:37 -04:00
eytzinger.h bcachefs: Fix check for if extent update is allocating 2023-10-22 17:08:14 -04:00
fifo.h bcachefs: Convert bucket invalidation to key marking path 2023-10-22 17:08:16 -04:00
fs-common.c bcachefs: Make sure we're releasing btree iterators 2023-10-22 17:08:35 -04:00
fs-common.h bcachefs: Update directory timestamps during link 2023-10-22 17:08:33 -04:00
fs-io.c bcachefs: Fix a use after free in dio write path 2023-10-22 17:08:36 -04:00
fs-io.h bcachefs: Kill bchfs_extent_update() 2023-10-22 17:08:29 -04:00
fs-ioctl.c bcachefs: Factor out fs-common.c 2023-10-22 17:08:28 -04:00
fs-ioctl.h bcachefs: Fix mtime/ctime updates 2023-10-22 17:08:07 -04:00
fs.c bcachefs: Kill BTREE_INSERT_ATOMIC 2023-10-22 17:08:33 -04:00
fs.h bcachefs: Factor out fs-common.c 2023-10-22 17:08:28 -04:00
fsck.c bcachefs: Kill bkey_type_successor 2023-10-22 17:08:37 -04:00
fsck.h bcachefs: some improvements to startup messages and options 2023-10-22 17:08:21 -04:00
inode.c bcachefs: Kill bkey_type_successor 2023-10-22 17:08:37 -04:00
inode.h bcachefs: Kill bchfs_extent_update() 2023-10-22 17:08:29 -04:00
io_types.h bcachefs: Fix an uninitialized field in bch_write_op 2023-10-22 17:08:35 -04:00
io.c bcachefs: Shut down quicker 2023-10-22 17:08:37 -04:00
io.h bcachefs: Don't log errors that are expected during shutdown 2023-10-22 17:08:36 -04:00
journal_io.c bcachefs: Kill bkey_type_successor 2023-10-22 17:08:37 -04:00
journal_io.h bcachefs: Journal replay refactoring 2023-10-22 17:08:20 -04:00
journal_reclaim.c bcachefs: Journal pin cleanups 2023-10-22 17:08:36 -04:00
journal_reclaim.h bcachefs: Journal pin cleanups 2023-10-22 17:08:36 -04:00
journal_seq_blacklist.c bcachefs: Convert some enums to x-macros 2023-10-22 17:08:33 -04:00
journal_seq_blacklist.h bcachefs: Rewrite journal_seq_blacklist machinery 2023-10-22 17:08:20 -04:00
journal_types.h bcachefs: Journal replay refactoring 2023-10-22 17:08:20 -04:00
journal.c bcachefs: Switch a BUG_ON() to a warning 2023-10-22 17:08:37 -04:00
journal.h bcachefs: Refactor bch2_trans_commit() path 2023-10-22 17:08:30 -04:00
Kconfig bcachefs: use crc64 from lib/ 2023-10-22 17:08:14 -04:00
keylist_types.h
keylist.c
keylist.h
Makefile bcachefs: Split out extent_update.c 2023-10-22 17:08:32 -04:00
migrate.c bcachefs: introduce b->hash_val 2023-10-22 17:08:35 -04:00
migrate.h
move_types.h bcachefs: Only get btree iters from btree transactions 2023-10-22 17:08:18 -04:00
move.c bcachefs: Don't log errors that are expected during shutdown 2023-10-22 17:08:36 -04:00
move.h bcachefs: Reflink 2023-10-22 17:08:25 -04:00
movinggc.c bcachefs: Redo copygc throttling 2023-10-22 17:08:33 -04:00
movinggc.h
opts.c bcachefs: Convert some enums to x-macros 2023-10-22 17:08:33 -04:00
opts.h bcachefs: Add an option for keeping journal entries after startup 2023-10-22 17:08:37 -04:00
quota_types.h bcachefs: bch2_fs_quota_transfer 2023-10-22 17:08:13 -04:00
quota.c bcachefs: Split out btree_trigger_flags 2023-10-22 17:08:33 -04:00
quota.h bcachefs: more project quota fixes 2023-10-22 17:08:14 -04:00
rebalance_types.h
rebalance.c bcachefs: Track incompressible data 2023-10-22 17:08:34 -04:00
rebalance.h
recovery.c bcachefs: Read journal when keep_journal on 2023-10-22 17:08:37 -04:00
recovery.h bcachefs: Add an option for keeping journal entries after startup 2023-10-22 17:08:37 -04:00
reflink.c bcachefs: Kill TRANS_RESET_MEM|TRANS_RESET_ITERS 2023-10-22 17:08:35 -04:00
reflink.h bcachefs: Fix bch2_ptr_swab for indirect extents 2023-10-22 17:08:35 -04:00
replicas_types.h bcachefs: Switch replicas to mark_lock 2023-10-22 17:08:13 -04:00
replicas.c bcachefs: btree_ptr_v2 2023-10-22 17:08:35 -04:00
replicas.h bcachefs: Redo filesystem usage ioctls 2023-10-22 17:08:33 -04:00
siphash.c
siphash.h
six.c
six.h
str_hash.h bcachefs: Kill TRANS_RESET_MEM|TRANS_RESET_ITERS 2023-10-22 17:08:35 -04:00
super_types.h bcachefs: Verify fs hasn't been modified before going rw 2023-10-22 17:08:18 -04:00
super-io.c bcachefs: Journal updates to interior nodes 2023-10-22 17:08:37 -04:00
super-io.h bcachefs: bch2_check_set_feature() 2023-10-22 17:08:32 -04:00
super.c bcachefs: Add an option for keeping journal entries after startup 2023-10-22 17:08:37 -04:00
super.h bcachefs: Don't export __bch2_fs_read_write 2023-10-22 17:08:33 -04:00
sysfs.c bcachefs: Track incompressible data 2023-10-22 17:08:34 -04:00
sysfs.h
tests.c bcachefs: Some btree iterator improvements 2023-10-22 17:08:36 -04:00
tests.h
trace.c
trace.h bcachefs: More work to avoid transaction restarts 2023-10-22 17:08:22 -04:00
util.c bcachefs: Make memcpy_to_bio() param const 2023-10-22 17:08:32 -04:00
util.h bcachefs: Make memcpy_to_bio() param const 2023-10-22 17:08:32 -04:00
vstructs.h
xattr.c bcachefs: Kill BTREE_INSERT_ATOMIC 2023-10-22 17:08:33 -04:00
xattr.h bcachefs: Make bkey types globally unique 2023-10-22 17:08:12 -04:00