linux/fs/bcachefs
Kent Overstreet 30f0349d62 bcachefs: Split out dev_buckets_free()
Previously, dev_buckets_available() only counted buckets that are
eligible to be allocated right now - i.e. buckets that don't have cached
data, or need discard, or need gc gens, etc.

But most users of this function want to know how many buckets are
eligible to be allocated from without moving data around - copygc,
allocator striping, which means we should be including cached data
buckets etc.

Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
2023-10-22 17:09:34 -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: Fix refcount leak in bch2_do_invalidates() 2023-10-22 17:09:34 -04:00
alloc_background.h bcachefs: Plumb btree_id & level to trans_mark 2023-10-22 17:09:32 -04:00
alloc_foreground.c bcachefs: Split out dev_buckets_free() 2023-10-22 17:09:34 -04:00
alloc_foreground.h bcachefs: Kill allocator threads & freelists 2023-10-22 17:09:29 -04:00
alloc_types.h bcachefs: Fold bucket_state in to BCH_DATA_TYPES() 2023-10-22 17:09:30 -04:00
bcachefs_format.h bcachefs: Add a persistent counter for bucket discards 2023-10-22 17:09:33 -04:00
bcachefs_ioctl.h bcachefs: Fold bucket_state in to BCH_DATA_TYPES() 2023-10-22 17:09:30 -04:00
bcachefs.h bcachefs: Go RW before bch2_check_lrus() 2023-10-22 17:09:32 -04:00
bkey_buf.h bcachefs: Reduce/kill BKEY_PADDED use 2023-10-22 17:08:50 -04:00
bkey_methods.c bcachefs: Improve an error message 2023-10-22 17:09:34 -04:00
bkey_methods.h bcachefs: Plumb btree_id & level to trans_mark 2023-10-22 17:09:32 -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: Heap allocate printbufs 2023-10-22 17:09:25 -04:00
bkey.h bcachefs: Whiteouts for snapshots 2023-10-22 17:09:12 -04:00
bset.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
bset.h bcachefs: Kill bch2_bset_fix_invalidated_key() 2023-10-22 17:09:21 -04:00
btree_cache.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
btree_cache.h bcachefs: Fix usage of six lock's percpu mode 2023-10-22 17:09:26 -04:00
btree_gc.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
btree_gc.h bcachefs: Fix a null ptr deref 2023-10-22 17:09:31 -04:00
btree_io.c bcachefs: Fix btree node read retries 2023-10-22 17:09:33 -04:00
btree_io.h bcachefs: Shutdown path improvements 2023-10-22 17:09:32 -04:00
btree_iter.c bcachefs: Improve an error message 2023-10-22 17:09:34 -04:00
btree_iter.h bcachefs: Improve an error message 2023-10-22 17:09:34 -04:00
btree_key_cache.c bcachefs: btree key cache pcpu freedlist 2023-10-22 17:09:34 -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: btree key cache pcpu freedlist 2023-10-22 17:09:34 -04:00
btree_update_interior.c bcachefs: Always use percpu_ref_tryget_live() on c->writes 2023-10-22 17:09:34 -04:00
btree_update_interior.h bcachefs: Shutdown path improvements 2023-10-22 17:09:32 -04:00
btree_update_leaf.c bcachefs: Always use percpu_ref_tryget_live() on c->writes 2023-10-22 17:09:34 -04:00
btree_update.h bcachefs: bch2_trans_reset_updates() 2023-10-22 17:09:33 -04:00
buckets_types.h bcachefs: Fold bucket_state in to BCH_DATA_TYPES() 2023-10-22 17:09:30 -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: Printbuf rework 2023-10-22 17:09:33 -04:00
buckets.h bcachefs: Split out dev_buckets_free() 2023-10-22 17:09:34 -04:00
chardev.c bcachefs: Fold bucket_state in to BCH_DATA_TYPES() 2023-10-22 17:09:30 -04:00
chardev.h
checksum.c bcachefs: Improve checksum error messages 2023-10-22 17:09:34 -04:00
checksum.h bcachefs: Check for errors from crypto_skcipher_encrypt() 2023-10-22 17:09:24 -04:00
clock_types.h bcachefs: Persist 64 bit io clocks 2023-10-22 17:08:52 -04:00
clock.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -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
counters.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
counters.h bcachefs: Add persistent counters 2023-10-22 17:09:32 -04:00
darray.h bcachefs: darrays 2023-10-22 17:09:28 -04:00
debug.c bcachefs: Improve an error message 2023-10-22 17:09:34 -04:00
debug.h bcachefs: Update bch2_btree_verify() 2023-10-22 17:09:01 -04:00
dirent.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
dirent.h bcachefs: Add rw to .key_invalid() 2023-10-22 17:09:30 -04:00
disk_groups.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
disk_groups.h bcachefs: Convert bch2_sb_to_text to master option list 2023-10-22 17:09:27 -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: Always use percpu_ref_tryget_live() on c->writes 2023-10-22 17:09:34 -04:00
ec.h bcachefs: Initialize ec work structs early 2023-10-22 17:09:31 -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: bch2_trans_inconsistent() 2023-10-22 17:09:27 -04:00
extent_update.c bcachefs: Freespace, need_discard btrees 2023-10-22 17:09:29 -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: Check for extents with too many ptrs 2023-10-22 17:09:34 -04:00
extents.h bcachefs: Add rw to .key_invalid() 2023-10-22 17:09:30 -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: Always use percpu_ref_tryget_live() on c->writes 2023-10-22 17:09:34 -04:00
fs-io.h bcachefs: Delete bch_writepage 2023-10-22 17:09:32 -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: Delete bch_writepage 2023-10-22 17:09:32 -04:00
fs.h bcachefs: darrays 2023-10-22 17:09:28 -04:00
fsck.c bcachefs: Fix hash_check_key() 2023-10-22 17:09:32 -04:00
fsck.h bcachefs: Drop bch2_fsck_inode_nlink() 2023-10-22 17:08:59 -04:00
inode.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
inode.h bcachefs: Add rw to .key_invalid() 2023-10-22 17:09:30 -04:00
io_types.h bcachefs: Run btree updates after write out of write_point 2023-10-22 17:09:29 -04:00
io.c bcachefs: Always use percpu_ref_tryget_live() on c->writes 2023-10-22 17:09:34 -04:00
io.h bcachefs: Run btree updates after write out of write_point 2023-10-22 17:09:29 -04:00
journal_io.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
journal_io.h bcachefs: Use a genradix for reading journal entries 2023-10-22 17:09:30 -04:00
journal_reclaim.c bcachefs: Tracepoint improvements 2023-10-22 17:09:32 -04:00
journal_reclaim.h bcachefs: Make sure to initialize j->last_flushed 2023-10-22 17:09:02 -04:00
journal_sb.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
journal_sb.h bcachefs: bch_sb_field_journal_v2 2023-10-22 17:09:29 -04:00
journal_seq_blacklist.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -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: Introduce a separate journal watermark for copygc 2023-10-22 17:09:29 -04:00
journal.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
journal.h bcachefs: Refactor journal entry adding 2023-10-22 17:09:33 -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
lru.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
lru.h bcachefs: LRU repair tweaks 2023-10-22 17:09:32 -04:00
Makefile bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
migrate.c bcachefs: Shutdown path improvements 2023-10-22 17:09:32 -04:00
migrate.h
move_types.h bcachefs: add progress stats to sysfs 2023-10-22 17:09:10 -04:00
move.c bcachefs: Make IO in flight by copygc/rebalance configurable 2023-10-22 17:09:34 -04:00
move.h bcachefs: add progress stats to sysfs 2023-10-22 17:09:10 -04:00
movinggc.c bcachefs: Fold bucket_state in to BCH_DATA_TYPES() 2023-10-22 17:09:30 -04:00
movinggc.h bcachefs: Make copygc thread global 2023-10-22 17:08:42 -04:00
opts.c bcachefs: Improve an error message 2023-10-22 17:09:34 -04:00
opts.h bcachefs: Make IO in flight by copygc/rebalance configurable 2023-10-22 17:09:34 -04:00
printbuf.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
printbuf.h bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
quota_types.h bcachefs: bch2_fs_quota_transfer 2023-10-22 17:08:13 -04:00
quota.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
quota.h bcachefs: Add rw to .key_invalid() 2023-10-22 17:09:30 -04:00
rebalance_types.h bcachefs: add progress stats to sysfs 2023-10-22 17:09:10 -04:00
rebalance.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
rebalance.h bcachefs: Convert various code to printbuf 2023-10-22 17:08:43 -04:00
recovery.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
recovery.h bcachefs: Fix btree_and_journal_iter 2023-10-22 17:09:33 -04:00
reflink.c bcachefs: Always use percpu_ref_tryget_live() on c->writes 2023-10-22 17:09:34 -04:00
reflink.h bcachefs: Plumb btree_id & level to trans_mark 2023-10-22 17:09:32 -04:00
replicas_types.h bcachefs: Switch replicas to mark_lock 2023-10-22 17:08:13 -04:00
replicas.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
replicas.h bcachefs: Add .to_text() methods for all superblock sections 2023-10-22 17:09:24 -04:00
siphash.c
siphash.h
six.c
six.h
str_hash.h bcachefs: bch2_btree_iter_peek_upto() 2023-10-22 17:09:27 -04:00
subvolume_types.h bcachefs: darrays 2023-10-22 17:09:28 -04:00
subvolume.c bcachefs: Always use percpu_ref_tryget_live() on c->writes 2023-10-22 17:09:34 -04:00
subvolume.h bcachefs: Add rw to .key_invalid() 2023-10-22 17:09:30 -04:00
super_types.h bcachefs: Freespace, need_discard btrees 2023-10-22 17:09:29 -04:00
super-io.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
super-io.h bcachefs: Freespace, need_discard btrees 2023-10-22 17:09:29 -04:00
super.c bcachefs: Call bch2_do_invalidates() when going read write 2023-10-22 17:09:33 -04:00
super.h bcachefs: Fix assertion in bch2_dev_list_add_dev() 2023-10-22 17:09:34 -04:00
sysfs.c bcachefs: Always use percpu_ref_tryget_live() on c->writes 2023-10-22 17:09:34 -04:00
sysfs.h bcachefs: Add persistent counters 2023-10-22 17:09:32 -04:00
tests.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -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: Tracepoint improvements 2023-10-22 17:09:32 -04:00
util.c bcachefs: Improved human readable integer parsing 2023-10-22 17:09:33 -04:00
util.h bcachefs: Printbuf rework 2023-10-22 17:09:33 -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 bcachefs: Fix 32 bit build 2023-10-22 17:09:25 -04:00
xattr.c bcachefs: Printbuf rework 2023-10-22 17:09:33 -04:00
xattr.h bcachefs: Add rw to .key_invalid() 2023-10-22 17:09:30 -04:00