linux/fs/bcachefs
Linus Torvalds b3f391fddf bcachefs changes for 6.12-rc1
rcu_pending, btree key cache rework: this solves lock contenting in the
 key cache, eliminating the biggest source of the srcu lock hold time
 warnings, and drastically improving performance on some metadata heavy
 workloads - on multithreaded creates we're now 3-4x faster than xfs.
 
 We're now using an rhashtable instead of the system inode hash table;
 this is another significant performance improvement on multithreaded
 metadata workloads, eliminating more lock contention.
 
 for_each_btree_key_in_subvolume_upto(): new helper for iterating over
 keys within a specific subvolume, eliminating a lot of open coded
 "subvolume_get_snapshot()" and also fixing another source of srcu lock
 time warnings, by running each loop iteration in its own transaction (as
 the existing for_each_btree_key() does).
 
 More work on btree_trans locking asserts; we now assert that we don't
 hold btree node locks when trans->locked is false, which is important
 because we don't use lockdep for tracking individual btree node locks.
 
 Some cleanups and improvements in the bset.c btree node lookup code,
 from Alan.
 
 Rework of btree node pinning, which we use in backpointers fsck. The old
 hacky implementation, where the shrinker just skipped over nodes in the
 pinned range, was causing OOMs; instead we now use another shrinker with
 a much higher seeks number for pinned nodes.
 
 Rebalance now uses BCH_WRITE_ONLY_SPECIFIED_DEVS; this fixes an issue
 where rebalance would sometimes fall back to allocating from the full
 filesystem, which is not what we want when it's trying to move data to a
 specific target.
 
 Use __GFP_ACCOUNT, GFP_RECLAIMABLE for btree node, key cache
 allocations.
 
 Idmap mounts are now supported - Hongbo.
 
 Rename whiteouts are now supported - Hongbo.
 
 Erasure coding can now handle devices being marked as failed, or
 forcibly removed. We still need the evacuate path for erasure coding,
 but it's getting very close to ready for people to start using.
 
 Status, and when will we be taking off experimental:
 ----------------------------------------------------
 
 Going by critical, user facing bugs getting found and fixed, we're
 nearly there. There are a couple key items that need to be finished
 before we can take off the experimental label:
 
 - The end-user experience is still pretty painful when the root
   filesystem needs a fsck; we need some form of limited self healing so
   that necessary repair gets run automatically. Errors (by type) are
   recorded in the superblock, so what we need to do next is convert
   remaining inconsistent() errors to fsck() errors (so that all runtime
   inconsistencies are logged in the superblock), and we need to go
   through the list of fsck errors and classify them by which fsck passes
   are needed to repair them.
 
 - We need comprehensive torture testing for all our repair paths, to
   shake out remaining bugs there. Thomas has been working on the tooling
   for this, so this is coming soonish.
 
 Slightly less critical items:
 
 - We need to improve the end-user experience for degraded mounts: right
   now, a degraded root filesystem means dropping to an initramfs shell
   or somehow inputting mount options manually (we don't want to allow
   degraded mounts without some form of user input, except on unattended
   servers) - we need the mount helper to prompt the user to allow
   mounting degraded, and make sure this works with systemd.
 
 - Scalabiity: we have users running 100TB+ filesystems, and that's
   effectively the limit right now due to fsck times. We have some
   reworks in the pipeline to address this, we're aiming to make petabyte
   sized filesystems practical.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEKnAFLkS8Qha+jvQrE6szbY3KbnYFAmbvHQoACgkQE6szbY3K
 bnYfAw/+IXQ43/O+Jzs0MLD7pKZnrlbHiX9FqYLazD40vWvkyRTQOwgTn8pVNhq3
 4YWmtuZyqh036YC+bGqYFOhz20YetS5UdgbClpwmc99JJ6xsY+Z1mdpYfz5oq1Dw
 /pBX5iYb3rAt8UbQoZ8lcWM+GpT3GKJVgJuiLB2gRp9gATFesuh+0qU42oIVVVU5
 4y3VhDBUmRk4XqEnk8hr7EIDMW0wWP3aptxYMZzeUPW0x1cEQ+FWrJo5D6lXv2KK
 dKv3MogvA0FFNi/eNexclPiu2pXtI7vrxT7umsxAICHLt41rWpV5ttE6io3bC4ZN
 qvwF9w2CpmKPKchFru9PO+QrWHVR7e6bphwf3TzyoKZ7tTn42f1RQlub7gBzI3bz
 ai5ZwGRIvpUoPVBj+CO+Ipog81uUb23Ma+gXg1akEFBOAb+o7I3KOOSBh5l+0cHj
 3Ov1n0TLcsoO2cqoqfsV2QubW9YcWEZ76g5mKwQnUn8Cs6Fp0wWaIyK9aNkIAxcr
 tNDPGtH1gKitxUvju5i/LyI7y1UoeFvqJFee0VsU6QnixHn1ySzhePsJt6UEnIJT
 Ia3C96Igqu2mV9FxhfGHj/qi7TGjqqkZHa8+B610cDpgf15cx7Ps2DYjkuQMFCqZ
 Q3Q1o5De9roRq5xF2hLiYJCbzJKqd5ichFsBtLQuX572ICxbICg=
 =oVCy
 -----END PGP SIGNATURE-----

Merge tag 'bcachefs-2024-09-21' of git://evilpiepirate.org/bcachefs

Pull bcachefs updates from Kent Overstreet:

 - rcu_pending, btree key cache rework: this solves lock contenting in
   the key cache, eliminating the biggest source of the srcu lock hold
   time warnings, and drastically improving performance on some metadata
   heavy workloads - on multithreaded creates we're now 3-4x faster than
   xfs.

 - We're now using an rhashtable instead of the system inode hash table;
   this is another significant performance improvement on multithreaded
   metadata workloads, eliminating more lock contention.

 - for_each_btree_key_in_subvolume_upto(): new helper for iterating over
   keys within a specific subvolume, eliminating a lot of open coded
   "subvolume_get_snapshot()" and also fixing another source of srcu
   lock time warnings, by running each loop iteration in its own
   transaction (as the existing for_each_btree_key() does).

 - More work on btree_trans locking asserts; we now assert that we don't
   hold btree node locks when trans->locked is false, which is important
   because we don't use lockdep for tracking individual btree node
   locks.

 - Some cleanups and improvements in the bset.c btree node lookup code,
   from Alan.

 - Rework of btree node pinning, which we use in backpointers fsck. The
   old hacky implementation, where the shrinker just skipped over nodes
   in the pinned range, was causing OOMs; instead we now use another
   shrinker with a much higher seeks number for pinned nodes.

 - Rebalance now uses BCH_WRITE_ONLY_SPECIFIED_DEVS; this fixes an issue
   where rebalance would sometimes fall back to allocating from the full
   filesystem, which is not what we want when it's trying to move data
   to a specific target.

 - Use __GFP_ACCOUNT, GFP_RECLAIMABLE for btree node, key cache
   allocations.

 - Idmap mounts are now supported (Hongbo Li)

 - Rename whiteouts are now supported (Hongbo Li)

 - Erasure coding can now handle devices being marked as failed, or
   forcibly removed. We still need the evacuate path for erasure coding,
   but it's getting very close to ready for people to start using.

* tag 'bcachefs-2024-09-21' of git://evilpiepirate.org/bcachefs: (99 commits)
  bcachefs: return err ptr instead of null in read sb clean
  bcachefs: Remove duplicated include in backpointers.c
  bcachefs: Don't drop devices with stripe pointers
  bcachefs: bch2_ec_stripe_head_get() now checks for change in rw devices
  bcachefs: bch_fs.rw_devs_change_count
  bcachefs: bch2_dev_remove_stripes()
  bcachefs: bch2_trigger_ptr() calculates sectors even when no device
  bcachefs: improve error messages in bch2_ec_read_extent()
  bcachefs: improve error message on too few devices for ec
  bcachefs: improve bch2_new_stripe_to_text()
  bcachefs: ec_stripe_head.nr_created
  bcachefs: bch_stripe.disk_label
  bcachefs: stripe_to_mem()
  bcachefs: EIO errcode cleanup
  bcachefs: Rework btree node pinning
  bcachefs: split up btree cache counters for live, freeable
  bcachefs: btree cache counters should be size_t
  bcachefs: Don't count "skipped access bit" as touched in btree cache scan
  bcachefs: Failed devices no longer require mounting in degraded mode
  bcachefs: bch2_dev_rcu_noerror()
  ...
2024-09-23 10:05:41 -07:00
..
acl.c bcachefs: switch to rhashtable for vfs inodes hash 2024-09-09 09:41:47 -04:00
acl.h bcachefs: Switch to .get_inode_acl() 2024-08-08 15:14:02 -04:00
alloc_background_format.h bcachefs: Fix compat issue with old alloc_v4 keys 2024-08-22 02:07:23 -04:00
alloc_background.c bcachefs: bch_fs.rw_devs_change_count 2024-09-21 11:39:49 -04:00
alloc_background.h bcachefs: bch2_dev_rcu_noerror() 2024-09-21 11:39:48 -04:00
alloc_foreground.c bcachefs: Move tabstop setup to bch2_dev_usage_to_text() 2024-09-21 11:39:48 -04:00
alloc_foreground.h bcachefs: fix prototype to bch2_alloc_sectors_start_trans() 2024-09-21 11:35:20 -04:00
alloc_types.h bcachefs: Allocator prefers not to expand mi.btree_allocated bitmap 2024-05-08 17:29:24 -04:00
backpointers.c bcachefs: Remove duplicated include in backpointers.c 2024-09-21 11:39:49 -04:00
backpointers.h bcachefs: bch2_trigger_ptr() calculates sectors even when no device 2024-09-21 11:39:49 -04:00
bbpos_types.h bcachefs: Pin btree cache in ram for random access in fsck 2024-03-13 21:22:24 -04:00
bbpos.h
bcachefs_format.h bcachefs: promote_whole_extents is now a normal option 2024-09-09 09:41:48 -04:00
bcachefs_ioctl.h bcachefs: BCH_IOCTL_QUERY_ACCOUNTING 2024-07-14 19:00:15 -04:00
bcachefs.h bcachefs: bch_fs.rw_devs_change_count 2024-09-21 11:39:49 -04:00
bkey_buf.h
bkey_cmp.h
bkey_methods.c bcachefs: Make bkey_fsck_err() a wrapper around fsck_err() 2024-08-13 23:00:50 -04:00
bkey_methods.h bcachefs: Make bkey_fsck_err() a wrapper around fsck_err() 2024-08-13 23:00:50 -04:00
bkey_sort.c bcachefs: Fix needs_whiteout BUG_ON() in bkey_sort() 2024-05-08 14:56:09 -04:00
bkey_sort.h bcachefs: Fix needs_whiteout BUG_ON() in bkey_sort() 2024-05-08 14:56:09 -04:00
bkey_types.h bcachefs: Split out bkey_types.h 2024-03-13 21:22:26 -04:00
bkey.c bcachefs: Fix shift greater than integer size 2024-06-28 19:42:22 -04:00
bkey.h bcachefs: Make bkey_fsck_err() a wrapper around fsck_err() 2024-08-13 23:00:50 -04:00
bset.c bcachefs: Refactor bch2_bset_fix_lookup_table 2024-09-09 09:41:49 -04:00
bset.h bcachefs: Remove unused parameter 2024-09-09 09:41:49 -04:00
btree_cache.c bcachefs: Rework btree node pinning 2024-09-21 11:39:48 -04:00
btree_cache.h bcachefs: Rework btree node pinning 2024-09-21 11:39:48 -04:00
btree_gc_types.h bcachefs: bch2_gc_pos_to_text() 2024-07-14 19:00:15 -04:00
btree_gc.c bcachefs: split up btree cache counters for live, freeable 2024-09-21 11:39:48 -04:00
btree_gc.h bcachefs: bch2_gc_pos_to_text() 2024-07-14 19:00:15 -04:00
btree_io.c bcachefs: split up btree cache counters for live, freeable 2024-09-21 11:39:48 -04:00
btree_io.h bcachefs: btree cache counters should be size_t 2024-09-21 11:39:48 -04:00
btree_iter.c bcachefs: kill bch2_btree_iter_peek_and_restart() 2024-09-09 09:41:48 -04:00
btree_iter.h bcachefs: Hook up RENAME_WHITEOUT in rename. 2024-09-21 11:35:20 -04:00
btree_journal_iter.c bcachefs: Add a cond_resched() to __journal_keys_sort() 2024-09-09 09:41:46 -04:00
btree_journal_iter.h bcachefs: Coalesce accounting keys before journal replay 2024-07-14 19:00:13 -04:00
btree_key_cache_types.h bcachefs: key cache can now allocate from pending 2024-09-09 09:41:47 -04:00
btree_key_cache.c bcachefs: Use __GFP_ACCOUNT for reclaimable memory 2024-09-21 11:39:46 -04:00
btree_key_cache.h bcachefs: Improve trans_blocked_journal_reclaim tracepoint 2024-08-13 23:00:34 -04:00
btree_locking.c bcachefs: Kill bch2_assert_btree_nodes_not_locked() 2024-07-14 19:59:12 -04:00
btree_locking.h bcachefs: Assert that we don't lock nodes when !trans->locked 2024-09-09 09:41:49 -04:00
btree_node_scan_types.h bcachefs: btree node scan: fall back to comparing by journal seq 2024-07-14 19:00:16 -04:00
btree_node_scan.c bcachefs: Make bkey_fsck_err() a wrapper around fsck_err() 2024-08-13 23:00:50 -04:00
btree_node_scan.h bcachefs: Repair pass for scanning for btree nodes 2024-04-03 14:44:18 -04:00
btree_trans_commit.c bcachefs: Remove unused parameter 2024-09-09 09:41:49 -04:00
btree_types.h bcachefs: Rework btree node pinning 2024-09-21 11:39:48 -04:00
btree_update_interior.c bcachefs: Rework btree node pinning 2024-09-21 11:39:48 -04:00
btree_update_interior.h bcachefs: Assert that we don't lock nodes when !trans->locked 2024-09-09 09:41:49 -04:00
btree_update.c bcachefs: Btree path tracepoints 2024-09-09 09:41:48 -04:00
btree_update.h bcachefs: bch2_btree_insert() - add btree iter flags 2024-07-14 19:00:15 -04:00
btree_write_buffer_types.h bcachefs: Eytzinger accumulation for accounting keys 2024-07-14 19:00:14 -04:00
btree_write_buffer.c bcachefs: silence silly kdoc warning 2024-07-18 18:33:30 -04:00
btree_write_buffer.h bcachefs: Eytzinger accumulation for accounting keys 2024-07-14 19:00:14 -04:00
buckets_types.h bcachefs: Switch gc bucket array to a genradix 2024-09-09 09:41:49 -04:00
buckets_waiting_for_journal_types.h
buckets_waiting_for_journal.c bcachefs: Reallocate table when we're increasing size 2024-08-18 20:41:50 -04:00
buckets_waiting_for_journal.h
buckets.c bcachefs: bch2_trigger_ptr() calculates sectors even when no device 2024-09-21 11:39:49 -04:00
buckets.h bcachefs: Switch gc bucket array to a genradix 2024-09-09 09:41:49 -04:00
chardev.c bcachefs: Make read_only a mount option again, but hidden 2024-07-14 19:00:16 -04:00
chardev.h
checksum.c bcachefs: kill redundant is_vmalloc_addr() 2024-09-21 11:35:20 -04:00
checksum.h bcachefs: Standardize helpers for printing enum strs with bounds checks 2024-04-13 22:48:17 -04:00
clock_types.h - In the series "treewide: Refactor heap related implementation", 2024-07-21 17:56:22 -07:00
clock.c - In the series "treewide: Refactor heap related implementation", 2024-07-21 17:56:22 -07:00
clock.h bcachefs: remove the unused macro definition 2024-09-09 09:41:48 -04:00
compress.c bcachefs: kill kvpmalloc() 2024-03-13 18:39:12 -04:00
compress.h bcachefs: Standardize helpers for printing enum strs with bounds checks 2024-04-13 22:48:17 -04:00
darray.c bcachefs: darray: convert to alloc_hooks() 2024-09-09 09:41:49 -04:00
darray.h bcachefs: darray: convert to alloc_hooks() 2024-09-09 09:41:49 -04:00
data_update.c bcachefs: Don't drop devices with stripe pointers 2024-09-21 11:39:49 -04:00
data_update.h bcachefs: bch2_data_update_to_text() 2024-07-10 09:53:39 -04:00
debug.c bcachefs: Convert for_each_btree_node() to lockrestart_do() 2024-08-13 22:56:50 -04:00
debug.h
dirent_format.h bcachefs: dirent_format.h 2024-01-21 13:27:10 -05:00
dirent.c bcachefs: bch2_readdir() -> for_each_btree_key_in_subvolume_upto 2024-09-09 09:41:48 -04:00
dirent.h bcachefs: Make bkey_fsck_err() a wrapper around fsck_err() 2024-08-13 23:00:50 -04:00
disk_accounting_format.h bcachefs: bcachefs_metadata_version_disk_accounting_inum 2024-08-13 23:00:50 -04:00
disk_accounting_types.h bcachefs: Refactor disk accounting data structures 2024-07-14 19:00:15 -04:00
disk_accounting.c bcachefs: bcachefs_metadata_version_disk_accounting_inum 2024-08-13 23:00:50 -04:00
disk_accounting.h bcachefs: bcachefs_metadata_version_disk_accounting_inum 2024-08-13 23:00:50 -04:00
disk_groups_format.h bcachefs: Split out disk_groups_format.h 2024-05-28 17:32:03 -04:00
disk_groups_types.h
disk_groups.c bcachefs: Add error code to defer option parsing 2024-07-14 19:00:12 -04:00
disk_groups.h
ec_format.h bcachefs: bch_stripe.disk_label 2024-09-21 11:39:48 -04:00
ec_types.h bcachefs: bch_stripe.disk_label 2024-09-21 11:39:48 -04:00
ec.c bcachefs: Don't drop devices with stripe pointers 2024-09-21 11:39:49 -04:00
ec.h bcachefs: bch2_ec_stripe_head_get() now checks for change in rw devices 2024-09-21 11:39:49 -04:00
errcode.c bcachefs: Errcode tracepoint, documentation 2024-03-13 21:22:25 -04:00
errcode.h bcachefs: bch2_dev_remove_stripes() 2024-09-21 11:39:49 -04:00
error.c bcachefs: Make bkey_fsck_err() a wrapper around fsck_err() 2024-08-13 23:00:50 -04:00
error.h bcachefs: Make bkey_fsck_err() a wrapper around fsck_err() 2024-08-13 23:00:50 -04:00
extent_update.c bcachefs: iter/update/trigger/str_hash flag cleanup 2024-05-08 17:29:18 -04:00
extent_update.h
extents_format.h bcachefs: reflink_format.h 2024-01-21 13:27:11 -05:00
extents_types.h
extents.c bcachefs: Don't drop devices with stripe pointers 2024-09-21 11:39:49 -04:00
extents.h bcachefs: Don't drop devices with stripe pointers 2024-09-21 11:39:49 -04:00
eytzinger.c bcachefs: Optimize eytzinger0_sort() with bottom-up heapsort 2024-05-08 17:29:18 -04:00
eytzinger.h bcachefs: Fix bch2_gc_accounting_done() locking 2024-07-14 19:00:15 -04:00
fifo.h bcachefs: kill kvpmalloc() 2024-03-13 18:39:12 -04:00
fs-common.c bcachefs: Hook up RENAME_WHITEOUT in rename. 2024-09-21 11:35:20 -04:00
fs-common.h bcachefs: fix missing include 2024-07-14 19:00:12 -04:00
fs-io-buffered.c bcachefs changes for 6.12-rc1 2024-09-23 10:05:41 -07:00
fs-io-buffered.h fs: Convert aops->write_begin to take a folio 2024-08-07 11:33:21 +02:00
fs-io-direct.c bcachefs: switch to rhashtable for vfs inodes hash 2024-09-09 09:41:47 -04:00
fs-io-direct.h
fs-io-pagecache.c bcachefs: bch2_folio_set() -> for_each_btree_key_in_subvolume_upto 2024-09-09 09:41:48 -04:00
fs-io-pagecache.h bcachefs: Do not check folio_has_private() 2024-09-09 09:41:49 -04:00
fs-io.c bcachefs: quota_reserve_range() -> for_each_btree_key_in_subvolume_upto 2024-09-09 09:41:48 -04:00
fs-io.h
fs-ioctl.c bcachefs: switch to rhashtable for vfs inodes hash 2024-09-09 09:41:47 -04:00
fs-ioctl.h bcachefs: x-macro-ify inode flags enum 2023-11-05 13:12:18 -05:00
fs.c bcachefs changes for 6.12-rc1 2024-09-23 10:05:41 -07:00
fs.h bcachefs: Don't delete open files in online fsck 2024-09-09 09:41:47 -04:00
fsck.c bcachefs: Don't delete open files in online fsck 2024-09-09 09:41:47 -04:00
fsck.h bcachefs: bch2_check_subvolume_structure() 2024-03-13 21:22:25 -04:00
inode_format.h bcachefs: inode_format.h 2024-01-21 13:27:10 -05:00
inode.c bcachefs: switch to rhashtable for vfs inodes hash 2024-09-09 09:41:47 -04:00
inode.h bcachefs: Make bkey_fsck_err() a wrapper around fsck_err() 2024-08-13 23:00:50 -04:00
io_misc.c bcachefs: Make allocator stuck timeout configurable, ratelimit messages 2024-08-07 21:04:55 -04:00
io_misc.h
io_read.c bcachefs: improve error messages in bch2_ec_read_extent() 2024-09-21 11:39:49 -04:00
io_read.h
io_write_types.h bcachefs: Move nocow unlock to bch2_write_endio() 2024-05-08 17:29:24 -04:00
io_write.c bcachefs: BCH_WRITE_ALLOC_NOWAIT no longer applies to open bucket allocation 2024-09-21 11:35:20 -04:00
io_write.h bcachefs: Rename BCH_WRITE_DONE -> BCH_WRITE_SUBMITTED 2024-07-14 19:59:12 -04:00
journal_io.c bcachefs: Annotate bch_replicas_entry_{v0,v1} with __counted_by() 2024-09-09 09:41:49 -04:00
journal_io.h bcachefs: s/bkey_invalid_flags/bch_validate_flags 2024-05-09 16:23:36 -04:00
journal_reclaim.c bcachefs: Rework btree node pinning 2024-09-21 11:39:48 -04:00
journal_reclaim.h bcachefs: btree write buffer now slurps keys from journal 2024-01-01 11:47:41 -05:00
journal_sb.c bcachefs: Fix missing validation in bch2_sb_journal_v2_validate() 2024-08-22 02:07:23 -04:00
journal_sb.h
journal_seq_blacklist_format.h bcachefs: Split out journal_seq_blacklist_format.h 2024-05-28 17:32:03 -04:00
journal_seq_blacklist.c bcachefs: Fix shift-out-of-bounds in bch2_blacklist_entries_gc 2024-06-25 17:53:31 -04:00
journal_seq_blacklist.h bcachefs: journal seq blacklist gc no longer has to walk btree 2024-05-08 17:29:20 -04:00
journal_types.h bcachefs: x-macroize journal flags enums 2024-05-08 17:29:22 -04:00
journal.c bcachefs: Fix warning in bch2_fs_journal_stop() 2024-08-22 02:07:23 -04:00
journal.h bcachefs: Use try_cmpxchg() family of functions instead of cmpxchg() 2024-07-14 19:00:12 -04:00
Kconfig bcachefs: Btree path tracepoints 2024-09-09 09:41:48 -04:00
keylist_types.h
keylist.c bcachefs: for_each_keylist_key() declares loop iter 2024-01-01 11:47:43 -05:00
keylist.h bcachefs: for_each_keylist_key() declares loop iter 2024-01-01 11:47:43 -05:00
logged_ops_format.h bcachefs: logged_ops_format.h 2024-01-21 13:27:11 -05:00
logged_ops.c bcachefs: iter/update/trigger/str_hash flag cleanup 2024-05-08 17:29:18 -04:00
logged_ops.h
lru_format.h bcachefs: split out lru_format.h 2024-07-14 19:00:16 -04:00
lru.c bcachefs: Make bkey_fsck_err() a wrapper around fsck_err() 2024-08-13 23:00:50 -04:00
lru.h bcachefs: Make bkey_fsck_err() a wrapper around fsck_err() 2024-08-13 23:00:50 -04:00
Makefile bcachefs: rcu_pending 2024-09-09 09:41:47 -04:00
mean_and_variance_test.c bcachefs: add missing MODULE_DESCRIPTION() 2024-05-28 11:29:26 -04:00
mean_and_variance.c bcachefs: mean_and_variance: put struct mean_and_variance_weighted on a diet 2024-03-13 21:37:58 -04:00
mean_and_variance.h bcachefs: mean_and_variance: Avoid too-large shift amounts 2024-07-18 18:33:30 -04:00
migrate.c bcachefs: iter/update/trigger/str_hash flag cleanup 2024-05-08 17:29:18 -04:00
migrate.h
move_types.h
move.c bcachefs: btree_ptr_sectors_written() now takes bkey_s_c 2024-07-14 19:00:12 -04:00
move.h bcachefs: rebalance should wakeup on shutdown if disabled 2024-01-01 11:47:39 -05:00
movinggc.c bcachefs: Fix failure to flush moves before sleeping in copygc 2024-08-24 10:16:21 -04:00
movinggc.h
nocow_locking_types.h
nocow_locking.c
nocow_locking.h
opts.c bcachefs: bch2_opts_to_text() 2024-09-21 11:39:48 -04:00
opts.h bcachefs: bch2_opts_to_text() 2024-09-21 11:39:48 -04:00
printbuf.c bcachefs: bch2_printbuf_strip_trailing_newline() 2024-07-14 19:00:12 -04:00
printbuf.h bcachefs: bch2_printbuf_strip_trailing_newline() 2024-07-14 19:00:12 -04:00
quota_format.h bcachefs; quota_format.h 2024-01-21 13:27:10 -05:00
quota_types.h
quota.c bcachefs: Make bkey_fsck_err() a wrapper around fsck_err() 2024-08-13 23:00:50 -04:00
quota.h bcachefs: Make bkey_fsck_err() a wrapper around fsck_err() 2024-08-13 23:00:50 -04:00
rcu_pending.c bcachefs: rcu_pending now works in userspace 2024-09-09 09:41:47 -04:00
rcu_pending.h bcachefs: rcu_pending now works in userspace 2024-09-09 09:41:47 -04:00
rebalance_types.h
rebalance.c bcachefs: rebalance writes use BCH_WRITE_ONLY_SPECIFIED_DEVS 2024-09-21 11:35:20 -04:00
rebalance.h
recovery_passes_types.h bcachefs: Disk space accounting rewrite 2024-07-14 19:00:13 -04:00
recovery_passes.c bcachefs: Options for recovery_passes, recovery_passes_exclude 2024-09-21 11:39:48 -04:00
recovery_passes.h bcachefs: bch2_run_explicit_recovery_pass_persistent() 2024-03-31 20:36:12 -04:00
recovery.c bcachefs: Options for recovery_passes, recovery_passes_exclude 2024-09-21 11:39:48 -04:00
recovery.h bcachefs: Flag btrees with missing data 2024-04-03 14:46:51 -04:00
reflink_format.h bcachefs: reflink_format.h 2024-01-21 13:27:11 -05:00
reflink.c bcachefs: Make bkey_fsck_err() a wrapper around fsck_err() 2024-08-13 23:00:50 -04:00
reflink.h bcachefs: Make bkey_fsck_err() a wrapper around fsck_err() 2024-08-13 23:00:50 -04:00
replicas_format.h bcachefs: Annotate bch_replicas_entry_{v0,v1} with __counted_by() 2024-09-09 09:41:49 -04:00
replicas_types.h bcachefs: Disk space accounting rewrite 2024-07-14 19:00:13 -04:00
replicas.c bcachefs: Failed devices no longer require mounting in degraded mode 2024-09-21 11:39:48 -04:00
replicas.h bcachefs: Convert gc to new accounting 2024-07-14 19:00:13 -04:00
sb-clean.c bcachefs: return err ptr instead of null in read sb clean 2024-09-21 11:39:49 -04:00
sb-clean.h
sb-counters_format.h bcachefs: sb-counters_format.h 2024-01-21 13:27:10 -05:00
sb-counters.c bcachefs: Plumb bch_validate_flags to sb_field_ops.validate() 2024-05-09 16:23:36 -04:00
sb-counters.h bcachefs: counters.c -> sb-counters.c 2024-01-21 13:27:10 -05:00
sb-downgrade_format.h bcachefs: split out sb-downgrade_format.h 2024-05-28 17:32:03 -04:00
sb-downgrade.c bcachefs: Fix rebalance_work accounting 2024-08-24 10:16:21 -04:00
sb-downgrade.h bcachefs: metadata version bucket_stripe_sectors 2024-07-14 19:00:12 -04:00
sb-errors_format.h bcachefs: Mark more errors as autofix 2024-08-31 19:27:01 -04:00
sb-errors_types.h bcachefs: Split out sb-errors_format.h 2024-05-28 17:33:45 -04:00
sb-errors.c bcachefs: slab-use-after-free Read in bch2_sb_errors_from_cpu 2024-06-25 17:51:26 -04:00
sb-errors.h bcachefs: bch_sb.recovery_passes_required 2024-01-01 11:47:07 -05:00
sb-members_format.h bcachefs: BCH_SB_MEMBER_INVALID 2024-09-03 20:43:14 -04:00
sb-members_types.h bcachefs: bucket_valid() 2024-05-08 17:29:19 -04:00
sb-members.c bcachefs: Fix compilation error for bch2_sb_member_alloc 2024-09-21 11:39:48 -04:00
sb-members.h bcachefs: bch2_dev_rcu_noerror() 2024-09-21 11:39:48 -04:00
seqmutex.h bcachefs: fix seqmutex_relock() 2024-06-23 00:57:21 -04:00
siphash.c
siphash.h
six.c sched/rt: Rename realtime_{prio, task}() to rt_or_dl_{prio, task}() 2024-08-07 18:32:38 +02:00
six.h bcachefs: six lock: fix typos 2024-01-01 11:47:40 -05:00
snapshot_format.h bcachefs: snapshot_format.h 2024-01-21 13:27:10 -05:00
snapshot.c bcachefs: Make bkey_fsck_err() a wrapper around fsck_err() 2024-08-13 23:00:50 -04:00
snapshot.h bcachefs: Make bkey_fsck_err() a wrapper around fsck_err() 2024-08-13 23:00:50 -04:00
str_hash.h bcachefs: Hook up RENAME_WHITEOUT in rename. 2024-09-21 11:35:20 -04:00
subvolume_format.h bcachefs: bch_subvolume::fs_path_parent 2024-03-13 21:22:24 -04:00
subvolume_types.h bcachefs: switch to rhashtable for vfs inodes hash 2024-09-09 09:41:47 -04:00
subvolume.c bcachefs: Make bkey_fsck_err() a wrapper around fsck_err() 2024-08-13 23:00:50 -04:00
subvolume.h bcachefs: for_each_btree_key_in_subvolume_upto() 2024-09-09 09:41:48 -04:00
super_types.h bcachefs: bucket_valid() 2024-05-08 17:29:19 -04:00
super-io.c bcachefs: bch2_sb_nr_devices() 2024-09-09 09:41:49 -04:00
super-io.h bcachefs: Plumb bch_validate_flags to sb_field_ops.validate() 2024-05-09 16:23:36 -04:00
super.c bcachefs: btree cache counters should be size_t 2024-09-21 11:39:48 -04:00
super.h bcachefs: convert bch_fs_flags to x-macro 2024-01-01 11:47:38 -05:00
sysfs.c bcachefs: Rework btree node pinning 2024-09-21 11:39:48 -04:00
sysfs.h
tests.c bcachefs: bch2_btree_insert() - add btree iter flags 2024-07-14 19:00:15 -04:00
tests.h
thread_with_file_types.h bcachefs: twf: delete dead struct fields 2024-07-14 19:00:14 -04:00
thread_with_file.c bcachefs: Convert to use jiffies macros 2024-09-09 09:41:49 -04:00
thread_with_file.h bcachefs: bch2_stdio_redirect_readline_timeout() 2024-07-14 19:00:14 -04:00
time_stats.c bcachefs: bch2_time_stats_reset() 2024-09-09 09:41:49 -04:00
time_stats.h bcachefs: bch2_time_stats_reset() 2024-09-09 09:41:49 -04:00
trace.c bcachefs: Improve trans_blocked_journal_reclaim tracepoint 2024-08-13 23:00:34 -04:00
trace.h bcachefs: Btree path tracepoints 2024-09-09 09:41:48 -04:00
two_state_shared_lock.c
two_state_shared_lock.h bcachefs: Use try_cmpxchg() family of functions instead of cmpxchg() 2024-07-14 19:00:12 -04:00
util.c bcachefs: Options for recovery_passes, recovery_passes_exclude 2024-09-21 11:39:48 -04:00
util.h bcachefs: data_allowed is now an opts.h option 2024-09-09 09:41:47 -04:00
varint.c bcachefs: varint: Avoid left-shift of a negative value 2024-07-18 18:33:30 -04:00
varint.h
vstructs.h bcachefs: vstruct_for_each() now declares loop iter 2024-01-01 11:47:42 -05:00
xattr_format.h bcachefs: Annotate struct bch_xattr with __counted_by() 2024-09-09 09:41:49 -04:00
xattr.c bcachefs: Simplify bch2_xattr_emit() implementation 2024-09-09 09:41:49 -04:00
xattr.h bcachefs: Make bkey_fsck_err() a wrapper around fsck_err() 2024-08-13 23:00:50 -04:00