linux/fs/bcachefs
Kent Overstreet 6fed42bb77 bcachefs: Plumb through subvolume id
To implement snapshots, we need every filesystem btree operation (every
btree operation without a subvolume) to start by looking up the
subvolume and getting the current snapshot ID, with
bch2_subvolume_get_snapshot() - then, that snapshot ID is used for doing
btree lookups in BTREE_ITER_FILTER_SNAPSHOTS mode.

This patch adds those bch2_subvolume_get_snapshot() calls, and also
switches to passing around a subvol_inum instead of just an inode
number.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2023-10-22 17:09:12 -04:00
..
acl.c bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
acl.h bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
alloc_background.c bcachefs: btree_path 2023-10-22 17:09:11 -04:00
alloc_background.h bcachefs: Add open_buckets to sysfs 2023-10-22 17:09:08 -04:00
alloc_foreground.c bcachefs: Allocator refactoring 2023-10-22 17:09:01 -04:00
alloc_foreground.h bcachefs: Don't let copygc buckets be stolen by other threads 2023-10-22 17:08:43 -04:00
alloc_types.h bcachefs: Add allocator thread state to sysfs 2023-10-22 17:08:54 -04:00
bcachefs.h bcachefs: Subvolumes, snapshots 2023-10-22 17:09:12 -04:00
bcachefs_format.h bcachefs: Subvolumes, snapshots 2023-10-22 17:09:12 -04:00
bcachefs_ioctl.h bcachefs: Subvolumes, snapshots 2023-10-22 17:09:12 -04:00
bkey.c bcachefs: Fix shift-by-64 in bch2_bkey_format_validate() 2023-10-22 17:09:07 -04:00
bkey.h bcachefs: Kill bpos_diff() XXX check for perf regression 2023-10-22 17:09:11 -04:00
bkey_buf.h bcachefs: Reduce/kill BKEY_PADDED use 2023-10-22 17:08:50 -04:00
bkey_methods.c bcachefs: Subvolumes, snapshots 2023-10-22 17:09:12 -04:00
bkey_methods.h bcachefs: Re-implement extent merging in transaction commit path 2023-10-22 17:09:06 -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: btree_path 2023-10-22 17:09:11 -04:00
bset.h bcachefs: Increase BSET_CACHELINE to 256 bytes 2023-10-22 17:08:59 -04:00
btree_cache.c bcachefs: Improve btree_node_mem_ptr optimization 2023-10-22 17:09:12 -04:00
btree_cache.h bcachefs: btree_path 2023-10-22 17:09:11 -04:00
btree_gc.c bcachefs: btree_path 2023-10-22 17:09:11 -04:00
btree_gc.h bcachefs: Split out SPOS_MAX 2023-10-22 17:09:07 -04:00
btree_io.c bcachefs: Fix some compiler warnings 2023-10-22 17:09:12 -04:00
btree_io.h bcachefs: Clean up/rename bch2_trans_node_* fns 2023-10-22 17:09:11 -04:00
btree_iter.c bcachefs: BTREE_ITER_FILTER_SNAPSHOTS 2023-10-22 17:09:12 -04:00
btree_iter.h bcachefs: BTREE_ITER_FILTER_SNAPSHOTS 2023-10-22 17:09:12 -04:00
btree_key_cache.c bcachefs: BTREE_ITER_FILTER_SNAPSHOTS 2023-10-22 17:09:12 -04:00
btree_key_cache.h bcachefs: btree_path 2023-10-22 17:09:11 -04:00
btree_locking.h Revert "bcachefs: Add more assertions for locking btree iterators out of order" 2023-10-22 17:09:12 -04:00
btree_types.h bcachefs: BTREE_ITER_FILTER_SNAPSHOTS 2023-10-22 17:09:12 -04:00
btree_update.h bcachefs: btree_path 2023-10-22 17:09:11 -04:00
btree_update_interior.c bcachefs: Kill retry loop in btree merge path 2023-10-22 17:09:11 -04:00
btree_update_interior.h bcachefs: Kill retry loop in btree merge path 2023-10-22 17:09:11 -04:00
btree_update_leaf.c bcachefs: Subvolumes, snapshots 2023-10-22 17:09:12 -04:00
buckets.c bcachefs: Subvolumes, snapshots 2023-10-22 17:09:12 -04:00
buckets.h bcachefs: btree_path 2023-10-22 17:09:11 -04:00
buckets_types.h bcachefs: Fix bch2_trans_mark_dev_sb() 2023-10-22 17:09:00 -04:00
chardev.c bcachefs: set disk state should check new_state 2023-10-22 17:09:08 -04:00
chardev.h
checksum.c bcachefs: add bcachefs xxhash support 2023-10-22 17:09:07 -04:00
checksum.h bcachefs: add bcachefs xxhash support 2023-10-22 17:09:07 -04:00
clock.c bcachefs: Persist 64 bit io clocks 2023-10-22 17:08:52 -04:00
clock.h bcachefs: Convert various code to printbuf 2023-10-22 17:08:43 -04:00
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: btree_path 2023-10-22 17:09:11 -04:00
debug.h bcachefs: Update bch2_btree_verify() 2023-10-22 17:09:01 -04:00
dirent.c bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
dirent.h bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
disk_groups.c bcachefs: Fix a couple null ptr derefs when no disk groups exist 2023-10-22 17:08:43 -04:00
disk_groups.h bcachefs: Fix disk groups not being updated when set via sysfs 2023-10-22 17:08:43 -04:00
ec.c bcachefs: btree_path 2023-10-22 17:09:11 -04:00
ec.h bcachefs: Clean up bch2_btree_and_journal_walk() 2023-10-22 17:09:02 -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: Don't ratelimit certain fsck errors 2023-10-22 17:09:07 -04:00
error.h bcachefs: Don't ratelimit certain fsck errors 2023-10-22 17:09:07 -04:00
extent_update.c bcachefs: btree_path 2023-10-22 17:09:11 -04:00
extent_update.h bcachefs: Reduce iter->trans usage 2023-10-22 17:09:10 -04:00
extents.c bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
extents.h bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
extents_types.h bcachefs: Limit pointers to being in only one stripe 2023-10-22 17:08:29 -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: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
fs-common.h bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
fs-io.c bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
fs-io.h bcachefs: fix truncate with ATTR_MODE 2023-10-22 17:09:07 -04:00
fs-ioctl.c bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
fs-ioctl.h bcachefs: Fix mtime/ctime updates 2023-10-22 17:08:07 -04:00
fs.c bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
fs.h bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
fsck.c bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
fsck.h bcachefs: Drop bch2_fsck_inode_nlink() 2023-10-22 17:08:59 -04:00
inode.c bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
inode.h bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
io.c bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
io.h bcachefs: Kill bch_write_op.index_update_fn 2023-10-22 17:09:04 -04:00
io_types.h bcachefs: Update btree ptrs after every write 2023-10-22 17:09:08 -04:00
journal.c bcachefs: Add a workqueue for btree io completions 2023-10-22 17:09:04 -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: Allow shorter JSET_ENTRY_dev_usage entries 2023-10-22 17:09:06 -04:00
journal_io.h bcachefs: Fix compat code for superblock 2023-10-22 17:08:55 -04:00
journal_reclaim.c bcachefs: Journal space calculation fix 2023-10-22 17:09:05 -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: btree_path 2023-10-22 17:09:11 -04:00
journal_seq_blacklist.h bcachefs: Fix a bug with the journal_seq_blacklist mechanism 2023-10-22 17:08:43 -04:00
journal_types.h bcachefs: Fix journal write error path 2023-10-22 17:09:04 -04:00
Kconfig bcachefs: add bcachefs xxhash support 2023-10-22 17:09:07 -04:00
keylist.c bcachefs: Fix bch2_verify_keylist_sorted 2023-10-22 17:09:02 -04:00
keylist.h bcachefs: Interior btree updates are now fully transactional 2023-10-22 17:08:40 -04:00
keylist_types.h
Makefile bcachefs: Subvolumes, snapshots 2023-10-22 17:09:12 -04:00
migrate.c bcachefs: btree_path 2023-10-22 17:09:11 -04:00
migrate.h
move.c bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
move.h bcachefs: add progress stats to sysfs 2023-10-22 17:09:10 -04:00
move_types.h bcachefs: add progress stats to sysfs 2023-10-22 17:09:10 -04:00
movinggc.c bcachefs: add progress stats to sysfs 2023-10-22 17:09:10 -04:00
movinggc.h bcachefs: Make copygc thread global 2023-10-22 17:08:42 -04:00
opts.c bcachefs: Subvolumes, snapshots 2023-10-22 17:09:12 -04:00
opts.h bcachefs: Disable quota support 2023-10-22 17:09:12 -04:00
quota.c bcachefs: btree_path 2023-10-22 17:09:11 -04:00
quota.h bcachefs: more project quota fixes 2023-10-22 17:08:14 -04:00
quota_types.h bcachefs: bch2_fs_quota_transfer 2023-10-22 17:08:13 -04:00
rebalance.c bcachefs: add progress stats to sysfs 2023-10-22 17:09:10 -04:00
rebalance.h bcachefs: Convert various code to printbuf 2023-10-22 17:08:43 -04:00
rebalance_types.h bcachefs: add progress stats to sysfs 2023-10-22 17:09:10 -04:00
recovery.c bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
recovery.h bcachefs: Clean up bch2_btree_and_journal_walk() 2023-10-22 17:09:02 -04:00
reflink.c bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
reflink.h bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
replicas.c bcachefs: Fix unitialized use of a value 2023-10-22 17:09:05 -04:00
replicas.h bcachefs: Kill bch2_fs_usage_scratch_get() 2023-10-22 17:08:59 -04:00
replicas_types.h bcachefs: Switch replicas to mark_lock 2023-10-22 17:08:13 -04:00
siphash.c
siphash.h
six.c
six.h
str_hash.h bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
subvolume.c bcachefs: Subvolumes, snapshots 2023-10-22 17:09:12 -04:00
subvolume.h bcachefs: Subvolumes, snapshots 2023-10-22 17:09:12 -04:00
super-io.c bcachefs: Mask out unknown compat features when going read-write 2023-10-22 17:09:08 -04:00
super-io.h bcachefs: Fix compat code for superblock 2023-10-22 17:08:55 -04:00
super.c bcachefs: Subvolumes, snapshots 2023-10-22 17:09:12 -04:00
super.h bcachefs: Fix some refcounting bugs 2023-10-22 17:09:03 -04:00
super_types.h bcachefs: Eliminate more PAGE_SIZE uses 2023-10-22 17:08:59 -04:00
sysfs.c bcachefs: btree_path 2023-10-22 17:09:11 -04:00
sysfs.h
tests.c bcachefs: btree_path 2023-10-22 17:09:11 -04:00
tests.h bcachefs: Add error handling to unit & perf tests 2023-10-22 17:08:48 -04:00
trace.c
trace.h bcachefs: Better approach to write vs. read lock deadlocks 2023-10-22 17:09:12 -04:00
util.c bcachefs: Don't disable preemption unnecessarily 2023-10-22 17:09:07 -04:00
util.h bcachefs: Keep a sorted list of btree iterators 2023-10-22 17:09:10 -04:00
varint.c bcachefs: Fix a valgrind conditional jump 2023-10-22 17:09:10 -04:00
varint.h bcachefs: Add safe versions of varint encode/decode 2023-10-22 17:09:08 -04:00
vstructs.h
xattr.c bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
xattr.h bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00