linux/fs/bcachefs
Kent Overstreet bf7e49a4ae bcachefs: Change bch2_dev_lookup() to not use lookup_bdev()
bch2_dev_lookup() is used from the extended attribute set methods, for
setting the target options, where we're already holding an inode lock -
it turns out pathname lookups also take inode locks, so that was
susceptible to deadlocks.

Fortunately we already stash the device name in ca->name. This does
change user-visible behaviour though: instead of specifying e.g.
/dev/sda1, user must now specify sda1.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2023-10-22 17:09:24 -04:00
..
acl.c bcachefs: bch2_assert_pos_locked() 2023-10-22 17:09:16 -04:00
acl.h bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00
alloc_background.c bcachefs: btree_gc no longer uses main in-memory bucket array 2023-10-22 17:09:23 -04:00
alloc_background.h bcachefs: btree_gc no longer uses main in-memory bucket array 2023-10-22 17:09:23 -04:00
alloc_foreground.c bcachefs: Kill verify_not_stale() 2023-10-22 17:09:24 -04:00
alloc_foreground.h bcachefs: Put open_buckets in a hashtable 2023-10-22 17:09:20 -04:00
alloc_types.h bcachefs: Put open_buckets in a hashtable 2023-10-22 17:09:20 -04:00
bcachefs_format.h bcachefs: bch2_journal_entry_to_text() 2023-10-22 17:09:21 -04:00
bcachefs_ioctl.h bcachefs: Subvolumes, snapshots 2023-10-22 17:09:12 -04:00
bcachefs.h bcachefs: Kill bch2_bkey_debugcheck 2023-10-22 17:09:23 -04:00
bkey_buf.h bcachefs: Reduce/kill BKEY_PADDED use 2023-10-22 17:08:50 -04:00
bkey_methods.c bcachefs: Kill bch2_bkey_debugcheck 2023-10-22 17:09:23 -04:00
bkey_methods.h bcachefs: Kill bch2_bkey_debugcheck 2023-10-22 17:09:23 -04:00
bkey_sort.c bcachefs: Don't call bch2_bkey_transform() unnecessarily 2023-10-22 17:09:19 -04:00
bkey_sort.h bcachefs: Kill bch2_sort_repack_merge() 2023-10-22 17:09:19 -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: Whiteouts for snapshots 2023-10-22 17:09:12 -04:00
bset.c bcachefs: Make eytzinger size parameter more conventional 2023-10-22 17:09:21 -04:00
bset.h bcachefs: Kill bch2_bset_fix_invalidated_key() 2023-10-22 17:09:21 -04:00
btree_cache.c bcachefs: Tracepoint improvements 2023-10-22 17:09:22 -04:00
btree_cache.h bcachefs: Option improvements 2023-10-22 17:09:19 -04:00
btree_gc.c bcachefs: Stale ptr cleanup is now done by gc_gens 2023-10-22 17:09:24 -04:00
btree_gc.h bcachefs: bch2_bucket_alloc_new_fs() no longer depends on bucket marks 2023-10-22 17:09:19 -04:00
btree_io.c bcachefs: Log & error message improvements 2023-10-22 17:09:21 -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: Fix __btree_path_traverse_all 2023-10-22 17:09:24 -04:00
btree_iter.h bcachefs: BTREE_ITER_WITH_KEY_CACHE 2023-10-22 17:09:23 -04:00
btree_key_cache.c bcachefs: Delete redundant tracepoint 2023-10-22 17:09:23 -04:00
btree_key_cache.h bcachefs: Btree key cache coherency 2023-10-22 17:09:23 -04:00
btree_locking.h bcachefs: Also show when blocked on write locks 2023-10-22 17:09:23 -04:00
btree_types.h bcachefs: Also show when blocked on write locks 2023-10-22 17:09:23 -04:00
btree_update_interior.c bcachefs: Also show when blocked on write locks 2023-10-22 17:09:23 -04:00
btree_update_interior.h bcachefs: Fix keylist size in btree_update 2023-10-22 17:09:20 -04:00
btree_update_leaf.c bcachefs: Also show when blocked on write locks 2023-10-22 17:09:23 -04:00
btree_update.h bcachefs: Btree key cache coherency 2023-10-22 17:09:23 -04:00
buckets_types.h bcachefs: bch2_gc_gens() no longer uses bucket array 2023-10-22 17:09:23 -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
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.c bcachefs: Only allocate buckets_nouse when requested 2023-10-22 17:09:24 -04:00
buckets.h bcachefs: bch2_gc_gens() no longer uses bucket array 2023-10-22 17:09:23 -04:00
chardev.c bcachefs: bch_dev->dev 2023-10-22 17:09:21 -04:00
chardev.h
checksum.c bcachefs: Log & error message improvements 2023-10-22 17:09:21 -04:00
checksum.h bcachefs: More enum strings 2023-10-22 17:09:17 -04:00
clock_types.h bcachefs: Persist 64 bit io clocks 2023-10-22 17:08:52 -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
compress.c bcachefs: Turn encoded_extent_max into a regular option 2023-10-22 17:09:19 -04:00
compress.h
debug.c bcachefs: Fix debugfs -bfloat-failed 2023-10-22 17:09:19 -04:00
debug.h bcachefs: Update bch2_btree_verify() 2023-10-22 17:09:01 -04:00
dirent.c bcachefs: Fix debug build in userspace 2023-10-22 17:09:18 -04:00
dirent.h bcachefs: Update export_operations for snapshots 2023-10-22 17:09:17 -04:00
disk_groups.c bcachefs: Improved superblock-related error messages 2023-10-22 17:09:21 -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_types.h bcachefs: Split out struct gc_stripe from struct stripe 2023-10-22 17:09:18 -04:00
ec.c bcachefs: BTREE_ITER_WITH_JOURNAL 2023-10-22 17:09:21 -04:00
ec.h bcachefs: Kill bch2_ec_mem_alloc() 2023-10-22 17:09:20 -04:00
errcode.h bcachefs: Convert bucket_alloc_ret to negative error codes 2023-10-22 17:09:17 -04:00
error.c bcachefs: Log message improvements 2023-10-22 17:09:23 -04:00
error.h bcachefs: Don't ratelimit certain fsck errors 2023-10-22 17:09:07 -04:00
extent_update.c bcachefs: Fix restart handling in for_each_btree_key() 2023-10-22 17:09:14 -04:00
extent_update.h bcachefs: Reduce iter->trans usage 2023-10-22 17:09:10 -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: Turn encoded_extent_max into a regular option 2023-10-22 17:09:19 -04:00
extents.h bcachefs: Fix implementation of KEY_TYPE_error 2023-10-22 17:09:13 -04:00
eytzinger.h bcachefs: Make eytzinger size parameter more conventional 2023-10-22 17:09:21 -04:00
fifo.h bcachefs: Convert bucket invalidation to key marking path 2023-10-22 17:08:16 -04:00
fs-common.c bcachefs: Add more time_stats 2023-10-22 17:09:18 -04:00
fs-common.h bcachefs: Add BCH_SUBVOLUME_UNLINKED 2023-10-22 17:09:15 -04:00
fs-io.c bcachefs: Check for stale dirty pointer before reads 2023-10-22 17:09:24 -04:00
fs-io.h bcachefs: fix truncate with ATTR_MODE 2023-10-22 17:09:07 -04:00
fs-ioctl.c bcachefs: Add BCH_SUBVOLUME_UNLINKED 2023-10-22 17:09:15 -04:00
fs-ioctl.h bcachefs: Fix mtime/ctime updates 2023-10-22 17:08:07 -04:00
fs.c bcachefs: btree_id_cached() 2023-10-22 17:09:23 -04:00
fs.h bcachefs: Fix quota support for snapshots 2023-10-22 17:09:17 -04:00
fsck.c bcachefs: Small fsck fix 2023-10-22 17:09:23 -04:00
fsck.h bcachefs: Drop bch2_fsck_inode_nlink() 2023-10-22 17:08:59 -04:00
inode.c bcachefs: Inode create no longer needs to probe key cache 2023-10-22 17:09:23 -04:00
inode.h bcachefs: btree_id_cached() 2023-10-22 17:09:23 -04:00
io_types.h bcachefs: Convert io paths for snapshots 2023-10-22 17:09:12 -04:00
io.c bcachefs: Check for stale dirty pointer before reads 2023-10-22 17:09:24 -04:00
io.h bcachefs: Switch fsync to use bi_journal_seq 2023-10-22 17:09:16 -04:00
journal_io.c bcachefs: Improve journal_entry_btree_keys_to_text() 2023-10-22 17:09:24 -04:00
journal_io.h bcachefs: bch2_journal_entry_to_text() 2023-10-22 17:09:21 -04:00
journal_reclaim.c bcachefs: Simplify journal replay 2023-10-22 17:09:21 -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 Revert "bcachefs: Delete some obsolete journal_seq_blacklist code" 2023-10-22 17:09:21 -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: Simplify journal replay 2023-10-22 17:09:21 -04:00
journal.c bcachefs: bch2_journal_noflush_seq() 2023-10-22 17:09:20 -04:00
journal.h bcachefs: bch2_journal_noflush_seq() 2023-10-22 17:09:20 -04:00
Kconfig bcachefs: Split out CONFIG_BCACHEFS_DEBUG_TRANSACTIONS 2023-10-22 17:09:19 -04:00
keylist_types.h
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
Makefile bcachefs: New data structure for buckets waiting on journal commit 2023-10-22 17:09:22 -04:00
migrate.c bcachefs: Handle transaction restarts in bch2_blacklist_entries_gc() 2023-10-22 17:09:14 -04:00
migrate.h
move_types.h bcachefs: add progress stats to sysfs 2023-10-22 17:09:10 -04:00
move.c bcachefs: Check for stale dirty pointer before reads 2023-10-22 17:09:24 -04:00
move.h bcachefs: add progress stats to sysfs 2023-10-22 17:09:10 -04:00
movinggc.c bcachefs: Copygc no longer uses bucket array 2023-10-22 17:09:23 -04:00
movinggc.h bcachefs: Make copygc thread global 2023-10-22 17:08:42 -04:00
opts.c bcachefs: bch2_journal_entry_to_text() 2023-10-22 17:09:21 -04:00
opts.h bcachefs: Only allocate buckets_nouse when requested 2023-10-22 17:09:24 -04:00
quota_types.h bcachefs: bch2_fs_quota_transfer 2023-10-22 17:08:13 -04:00
quota.c bcachefs: Improved superblock-related error messages 2023-10-22 17:09:21 -04:00
quota.h bcachefs: more project quota fixes 2023-10-22 17:08:14 -04:00
rebalance_types.h bcachefs: add progress stats to sysfs 2023-10-22 17:09:10 -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
recovery.c bcachefs: Print a better message for mark and sweep pass 2023-10-22 17:09:23 -04:00
recovery.h bcachefs: run_one_trigger() now checks journal keys 2023-10-22 17:09:23 -04:00
reflink.c bcachefs: Fix reflink path for snapshots 2023-10-22 17:09:18 -04:00
reflink.h bcachefs: Switch fsync to use bi_journal_seq 2023-10-22 17:09:16 -04:00
replicas_types.h bcachefs: Switch replicas to mark_lock 2023-10-22 17:08:13 -04:00
replicas.c bcachefs: Delete some dead code 2023-10-22 17:09:22 -04:00
replicas.h bcachefs: Handle replica marking fsck errors locally 2023-10-22 17:09:18 -04:00
siphash.c
siphash.h
six.c
six.h
str_hash.h bcachefs: More enum strings 2023-10-22 17:09:17 -04:00
subvolume_types.h bcachefs: Add BCH_SUBVOLUME_UNLINKED 2023-10-22 17:09:15 -04:00
subvolume.c bcachefs: New snapshot unit test 2023-10-22 17:09:22 -04:00
subvolume.h bcachefs: New snapshot unit test 2023-10-22 17:09:22 -04:00
super_types.h bcachefs: Kill non-lru cache replacement policies 2023-10-22 17:09:19 -04:00
super-io.c bcachefs: Improved superblock-related error messages 2023-10-22 17:09:21 -04:00
super-io.h bcachefs: Improved superblock-related error messages 2023-10-22 17:09:21 -04:00
super.c bcachefs: Change bch2_dev_lookup() to not use lookup_bdev() 2023-10-22 17:09:24 -04:00
super.h bcachefs: Improved superblock-related error messages 2023-10-22 17:09:21 -04:00
sysfs.c bcachefs: bch2_gc_gens() no longer uses bucket array 2023-10-22 17:09:23 -04:00
sysfs.h
tests.c bcachefs: New snapshot unit test 2023-10-22 17:09:22 -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: Fix slow tracepoints 2023-10-22 17:09:24 -04:00
util.c bcachefs: bch2_hprint(): don't print decimal if conversion was exact 2023-10-22 17:09:20 -04:00
util.h bcachefs: Improve journal_entry_btree_keys_to_text() 2023-10-22 17:09:24 -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
xattr.c bcachefs: Option improvements 2023-10-22 17:09:19 -04:00
xattr.h bcachefs: Plumb through subvolume id 2023-10-22 17:09:12 -04:00