linux/fs/bcachefs
Kent Overstreet 0dd092bf10 bcachefs: Fix lock ordering with snapshot_create_lock
We must not hold btree locks while taking snapshot_create_lock - this
fixes a lockdep splat.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
2023-10-31 12:18:11 -04:00
..
acl.c bcachefs: acl: Add missing check in bch2_acl_chmod() 2023-10-22 17:10:14 -04:00
acl.h bcachefs: bch2_acl_to_text() 2023-10-22 17:10:12 -04:00
alloc_background.c bcachefs: Correctly initialize new buckets on device resize 2023-10-22 17:10:16 -04:00
alloc_background.h bcachefs: Correctly initialize new buckets on device resize 2023-10-22 17:10:16 -04:00
alloc_foreground.c bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -04:00
alloc_foreground.h bcachefs: sb-members.c 2023-10-22 17:10:10 -04:00
alloc_types.h bcachefs: Fix assorted checkpatch nits 2023-10-22 17:10:10 -04:00
backpointers.c bcachefs: Fix a null ptr deref in bch2_get_alloc_in_memory_pos() 2023-10-22 17:10:15 -04:00
backpointers.h bcachefs: remove duplicate code between backpointer update paths 2023-10-22 17:10:08 -04:00
bbpos.h
bcachefs_format.h bcachefs: Add iops fields to bch_member 2023-10-22 17:10:15 -04:00
bcachefs_ioctl.h
bcachefs.h bcachefs: snapshot_create_lock 2023-10-22 17:10:16 -04:00
bkey_buf.h
bkey_cmp.h
bkey_methods.c bcachefs: Fix handling of unknown bkey types 2023-10-22 17:10:16 -04:00
bkey_methods.h bcachefs: BCH_COMPAT_bformat_overflow_done no longer required 2023-10-22 17:10:09 -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: Array bounds fixes 2023-10-22 17:10:12 -04:00
bkey.c bcachefs: Fix W=12 build errors 2023-10-22 17:10:13 -04:00
bkey.h bcachefs: Array bounds fixes 2023-10-22 17:10:12 -04:00
bset.c bcachefs: Kill other unreachable() uses 2023-10-22 17:10:13 -04:00
bset.h bcachefs: bch2_btree_node_to_text() const correctness 2023-10-22 17:09:56 -04:00
btree_cache.c bcachefs: Minor bch2_btree_node_get() smatch fixes 2023-10-22 17:10:14 -04:00
btree_cache.h bcachefs: Assorted sparse fixes 2023-10-22 17:10:06 -04:00
btree_gc.c bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -04:00
btree_gc.h bcachefs: Split up btree_update_leaf.c 2023-10-22 17:10:10 -04:00
btree_io.c bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -04:00
btree_io.h bcachefs: Break up io.c 2023-10-22 17:10:12 -04:00
btree_iter.c bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -04:00
btree_iter.h bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -04:00
btree_journal_iter.c bcachefs: btree_journal_iter.c 2023-10-22 17:10:10 -04:00
btree_journal_iter.h bcachefs: btree_journal_iter.c 2023-10-22 17:10:10 -04:00
btree_key_cache.c bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -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 fixes for clang 2023-10-22 17:10:09 -04:00
btree_locking.h bcachefs: Fix silent enum conversion error 2023-10-22 17:10:12 -04:00
btree_trans_commit.c bcachefs: Always check for invalid bkeys in main commit path 2023-10-22 17:10:15 -04:00
btree_types.h bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -04:00
btree_update_interior.c bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -04:00
btree_update_interior.h bcachefs: Move some declarations to the correct header 2023-10-22 17:10:08 -04:00
btree_update.c bcachefs: More minor smatch fixes 2023-10-22 17:10:14 -04:00
btree_update.h bcachefs: Remove duplicate include 2023-10-22 17:10:14 -04:00
btree_write_buffer_types.h
btree_write_buffer.c bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -04:00
btree_write_buffer.h
buckets_types.h
buckets_waiting_for_journal_types.h
buckets_waiting_for_journal.c bcachefs: Fix -Wformat in bch2_set_bucket_needs_journal_commit() 2023-10-22 17:10:13 -04:00
buckets_waiting_for_journal.h
buckets.c bcachefs: Switch to unsafe_memcpy() in a few places 2023-10-22 17:10:16 -04:00
buckets.h bcachefs: bucket_lock() is now a sleepable lock 2023-10-22 17:10:15 -04:00
chardev.c bcachefs: Fix strndup_user() error checking 2023-10-22 17:10:14 -04:00
chardev.h bcachefs: Fix assorted checkpatch nits 2023-10-22 17:10:10 -04:00
checksum.c bcachefs: bch2_sb_field_get() refactoring 2023-10-22 17:10:16 -04:00
checksum.h bcachefs: Fixes for building in userspace 2023-10-22 17:10:15 -04:00
clock_types.h
clock.c bcachefs: Private error codes: ENOMEM 2023-10-22 17:09:57 -04:00
clock.h
compress.c bcachefs: Fix W=12 build errors 2023-10-22 17:10:13 -04:00
compress.h bcachefs: Compression levels 2023-10-22 17:10:07 -04:00
counters.c bcachefs: bch2_sb_field_get() refactoring 2023-10-22 17:10:16 -04:00
counters.h
darray.h bcachefs: Assorted fixes for clang 2023-10-22 17:10:09 -04:00
data_update.c bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -04:00
data_update.h bcachefs: Break up io.c 2023-10-22 17:10:12 -04:00
debug.c bcachefs: Fix copy_to_user() usage in flush_buf() 2023-10-22 17:10:14 -04:00
debug.h bcachefs: bch2_btree_node_ondisk_to_text() 2023-10-22 17:09:56 -04:00
dirent.c bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -04:00
dirent.h bcachefs: Introduce bch2_dirent_get_name 2023-10-22 17:10:10 -04:00
disk_groups.c bcachefs: bch2_sb_field_get() refactoring 2023-10-22 17:10:16 -04:00
disk_groups.h bcachefs: bch_opt_fn 2023-10-22 17:10:07 -04:00
ec_types.h
ec.c bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -04:00
ec.h bcachefs: Kill other unreachable() uses 2023-10-22 17:10:13 -04:00
errcode.c bcachefs: Fix W=12 build errors 2023-10-22 17:10:13 -04:00
errcode.h bcachefs: New superblock section members_v2 2023-10-22 17:10:15 -04:00
error.c bcachefs: Break up io.c 2023-10-22 17:10:12 -04:00
error.h bcachefs: fix_errors option is now a proper enum 2023-10-22 17:10:07 -04:00
extent_update.c
extent_update.h
extents_types.h
extents.c bcachefs: Fix 'pointer to invalid device' check 2023-10-22 17:10:11 -04:00
extents.h bcachefs: Refactor memcpy into direct assignment 2023-10-22 17:10:16 -04:00
eytzinger.h
fifo.h
fs-common.c bcachefs: Convert -ENOENT to private error codes 2023-10-22 17:10:03 -04:00
fs-common.h
fs-io-buffered.c bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -04:00
fs-io-buffered.h bcachefs: Split up fs-io.[ch] 2023-10-22 17:10:10 -04:00
fs-io-direct.c closures: Fix race in closure_sync() 2023-10-30 21:48:22 -04:00
fs-io-direct.h bcachefs: Split up fs-io.[ch] 2023-10-22 17:10:10 -04:00
fs-io-pagecache.c bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -04:00
fs-io-pagecache.h bcachefs: Split up fs-io.[ch] 2023-10-22 17:10:10 -04:00
fs-io.c bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -04:00
fs-io.h bcachefs: New io_misc.c helpers 2023-10-22 17:10:12 -04:00
fs-ioctl.c bcachefs: snapshot_create_lock 2023-10-22 17:10:16 -04:00
fs-ioctl.h bcachefs: Fix W=12 build errors 2023-10-22 17:10:13 -04:00
fs.c Initial bcachefs pull request for 6.7-rc1 2023-10-30 11:09:38 -10:00
fs.h bcachefs: Fixes for building in userspace 2023-10-22 17:10:15 -04:00
fsck.c bcachefs: bch_err_msg(), bch_err_fn() now filters out transaction restart errors 2023-10-22 17:10:15 -04:00
fsck.h bcachefs: Enumerate recovery passes 2023-10-22 17:10:06 -04:00
inode.c bcachefs: Fix bch2_inode_delete_keys() 2023-10-22 17:10:15 -04:00
inode.h bcachefs: Kill missing inode warnings in bch2_quota_read() 2023-10-22 17:10:12 -04:00
io_misc.c bcachefs: snapshot_create_lock 2023-10-22 17:10:16 -04:00
io_misc.h bcachefs: Log finsert/fcollapse operations 2023-10-22 17:10:12 -04:00
io_read.c bcachefs: Fixes for building in userspace 2023-10-22 17:10:15 -04:00
io_read.h bcachefs: Break up io.c 2023-10-22 17:10:12 -04:00
io_write_types.h bcachefs: Break up io.c 2023-10-22 17:10:12 -04:00
io_write.c bcachefs: nocow locking: Fix lock leak 2023-10-22 17:10:15 -04:00
io_write.h bcachefs: Break up io.c 2023-10-22 17:10:12 -04:00
journal_io.c bcachefs: drop journal lock before calling journal_write 2023-10-22 17:10:14 -04:00
journal_io.h bcachefs: Convert journal validation to bkey_invalid_flags 2023-10-22 17:10:10 -04:00
journal_reclaim.c bcachefs: refactor pin put helpers 2023-10-22 17:10:14 -04:00
journal_reclaim.h bcachefs: refactor pin put helpers 2023-10-22 17:10:14 -04:00
journal_sb.c bcachefs: bch2_sb_field_get() refactoring 2023-10-22 17:10:16 -04:00
journal_sb.h bcachefs: Journal resize fixes 2023-10-22 17:09:56 -04:00
journal_seq_blacklist.c bcachefs: bch2_sb_field_get() refactoring 2023-10-22 17:10:16 -04:00
journal_seq_blacklist.h
journal_types.h bcachefs: Kill JOURNAL_WATERMARK 2023-10-22 17:10:05 -04:00
journal.c bcachefs: bch2_sb_field_get() refactoring 2023-10-22 17:10:16 -04:00
journal.h bcachefs: fix race between journal entry close and pin set 2023-10-22 17:10:14 -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
logged_ops.c bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -04:00
logged_ops.h bcachefs: Log finsert/fcollapse operations 2023-10-22 17:10:12 -04:00
lru.c bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -04:00
lru.h bcachefs: bch2_btree_bit_mod() 2023-10-22 17:10:08 -04:00
Makefile bcachefs: BTREE_ID_logged_ops 2023-10-22 17:10:12 -04:00
mean_and_variance_test.c mean and variance: More tests 2023-10-22 17:10:02 -04:00
mean_and_variance.c
mean_and_variance.h mean and variance: Add a missing include 2023-10-22 17:10:02 -04:00
migrate.c bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -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: More minor smatch fixes 2023-10-22 17:10:14 -04:00
move.h bcachefs: Break up io.c 2023-10-22 17:10:12 -04:00
movinggc.c bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -04:00
movinggc.h
nocow_locking_types.h
nocow_locking.c bcachefs: More assertions for nocow locking 2023-10-22 17:10:15 -04:00
nocow_locking.h bcachefs: More assertions for nocow locking 2023-10-22 17:10:15 -04:00
opts.c bcachefs: Add iops fields to bch_member 2023-10-22 17:10:15 -04:00
opts.h bcachefs: Add iops fields to bch_member 2023-10-22 17:10:15 -04:00
printbuf.c bcachefs: Fix W=12 build errors 2023-10-22 17:10:13 -04:00
printbuf.h
quota_types.h
quota.c bcachefs: bch2_sb_field_get() refactoring 2023-10-22 17:10:16 -04:00
quota.h bcachefs: Change check for invalid key types 2023-10-22 17:10:06 -04:00
rebalance_types.h
rebalance.c bcachefs: Break up io.c 2023-10-22 17:10:12 -04:00
rebalance.h
recovery_types.h bcachefs: BTREE_ID_logged_ops 2023-10-22 17:10:12 -04:00
recovery.c bcachefs: Fix drop_alloc_keys() 2023-10-22 17:10:16 -04:00
recovery.h bcachefs: btree_journal_iter.c 2023-10-22 17:10:10 -04:00
reflink.c bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -04:00
reflink.h bcachefs: Change check for invalid key types 2023-10-22 17:10:06 -04:00
replicas_types.h
replicas.c bcachefs: bch2_sb_field_get() refactoring 2023-10-22 17:10:16 -04:00
replicas.h
sb-clean.c bcachefs: bch2_sb_field_get() refactoring 2023-10-22 17:10:16 -04:00
sb-clean.h bcachefs: sb-clean.c 2023-10-22 17:10:10 -04:00
sb-members.c bcachefs: bch2_sb_field_get() refactoring 2023-10-22 17:10:16 -04:00
sb-members.h bcachefs: Rename bch_sb_field_members -> bch_sb_field_members_v1 2023-10-22 17:10:15 -04:00
seqmutex.h bcachefs: seqmutex; fix a lockdep splat 2023-10-22 17:10:04 -04:00
siphash.c
siphash.h
six.c six locks: Lock contended tracepoints 2023-10-30 22:26:45 -04:00
six.h six locks: Split out seq, use atomic_t instead of atomic64_t 2023-10-22 17:10:02 -04:00
snapshot.c bcachefs: Fix lock ordering with snapshot_create_lock 2023-10-31 12:18:11 -04:00
snapshot.h bcachefs: Make sure to initialize equiv when creating new snapshots 2023-10-22 17:10:15 -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: Heap allocate btree_trans 2023-10-22 17:10:13 -04:00
subvolume.h bcachefs: Fix -Wincompatible-function-pointer-types-strict from key_invalid callbacks 2023-10-22 17:10:13 -04:00
super_types.h bcachefs: Use struct_size() 2023-10-22 17:10:16 -04:00
super-io.c bcachefs: bch2_sb_field_get() refactoring 2023-10-22 17:10:16 -04:00
super-io.h bcachefs: bch2_sb_field_get() refactoring 2023-10-22 17:10:16 -04:00
super.c bcachefs: snapshot_create_lock 2023-10-22 17:10:16 -04:00
super.h bcachefs: sb-members.c 2023-10-22 17:10:10 -04:00
sysfs.c bcachefs: New superblock section members_v2 2023-10-22 17:10:15 -04:00
sysfs.h
tests.c bcachefs: bch_err_msg(), bch_err_fn() now filters out transaction restart errors 2023-10-22 17:10:15 -04:00
tests.h
trace.c bcachefs: Improve trans_restart_split_race tracepoint 2023-10-22 17:09:58 -04:00
trace.h bcachefs: trace_read_nopromote() 2023-10-22 17:10:12 -04:00
two_state_shared_lock.c
two_state_shared_lock.h
util.c bcachefs: Fix W=12 build errors 2023-10-22 17:10:13 -04:00
util.h bcachefs: Fix W=12 build errors 2023-10-22 17:10:13 -04:00
varint.c bcachefs: Fix W=12 build errors 2023-10-22 17:10:13 -04:00
varint.h
vstructs.h bcachefs: Array bounds fixes 2023-10-22 17:10:12 -04:00
xattr.c bcachefs: Heap allocate btree_trans 2023-10-22 17:10:13 -04:00
xattr.h bcachefs: bch2_xattr_set() now updates ctime 2023-10-22 17:10:06 -04:00