mirror-linux/fs/bcachefs
Linus Torvalds ff0905bbf9 bcachefs updates for 6.16, part 2
- More stack usage improvements (~600 bytes).
 
 - Define CLASS()es for some commonly used types, and convert most
   rcu_read_lock() uses to the new lock guards
 
 - New introspection:
   - Superblock error counters are now available in sysfs: previously,
     they were only visible with 'show-super', which doesn't provide a
     live view
   - New tracepoint, error_throw(), which is called any time we return an
     error and start to unwind
 
 - Repair
   - check_fix_ptrs() can now repair btree node roots
   - We can now repair when we've somehow ended up with the journal using
     a superblock bucket
 
 - Revert some leftovers from the aborted directory i_size feature, and
   add repair code: some userspace programs (e.g. sshfs) were getting
   confused.
 
 It seems in 6.15 there's a bug where i_nlink on the vfs inode has been
 getting incorrectly set to 0, with some unfortunate results;
 list_journal analysis showed bch2_inode_rm() being called (by
 bch2_evict_inode()) when it clearly should not have been.
 
 - bch2_inode_rm() now runs "should we be deleting this inode?" checks
   that were previously only run when deleting unlinked inodes in
   recovery.
 
 - check_subvol() was treating a dangling subvol (pointing to a missing
   root inode) like a dangling dirent, and deleting it. This was the
   really unfortunate one: check_subvol() will now recreate the root
   inode if necessary.
 
 This took longer to debug than it should have, and we lost several
 filesystems unnecessarily, becuase users have been ignoring the release
 notes and blindly running 'fsck -y'. Debugging required reconstructing
 what happened through analyzing the journal, when ideally someone would
 have noticed 'hey, fsck is asking me if I want to repair this: it
 usually doesn't, maybe I should run this in dry run mode and check
 what's going on?'.
 
 As a reminder, fsck errors are being marked as autofix once we've
 verified, in real world usage, that they're working correctly; blindly
 running 'fsck -y' on an experimental filesystem is playing with fire.
 
 Up to this incident we've had an excellent track record of not losing
 data, so let's try to learn from this one.
 
 This is a community effort, I wouldn't be able to get this done without
 the help of all the people QAing and providing excellent bug reports and
 feedback based on real world usage. But please don't ignore advice and
 expect me to pick up the pieces.
 
 If an error isn't marked as autofix, and it /is/ happening in the wild,
 that's also something I need to know about so we can check it out and
 add it to the autofix list if repair looks good. I haven't been getting
 those reports, and I should be; since we don't have any sort of
 telemetry yet I am absolutely dependent on user reports.
 
 Now I'll be spending the weekend working on new repair code to see if I
 can get a filesystem back for a user who didn't have backups.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEKnAFLkS8Qha+jvQrE6szbY3KbnYFAmhAuL0ACgkQE6szbY3K
 bnZlCg/+Pu2TgWBbkwrmHgKH9v4K3pwQRREXSj0TlbWQp9bK00zEBrmdEfTZKgUC
 q5nAAa6zCs0w/A9TFA7t1W/3+JY28ENhoArKFWemLhFZ2qEEXTZlVHvqyHOyuPBf
 Loe+hQO8qgWJm6KO9VMCT1pEupslQLRlhI8GhbPPcxPvYXVjmTne7KCanhjeSEx5
 TLaOiMn7jr+qPeLZ7xSMaaUTbH2SASjwl2E9/4kG6VqaTTF2MnPNwrdJI0exjyvs
 QRaUvYbwBBTe/ru5ddmJuWj+61awKS87ANg+rkO2FWpOrai2HfgHd6o+zge/IR2Z
 /Cfarv1SSd1+0caVaGUAzhnoVhOpY1FU4emJwVvcwnBXeXdGIb/kpaw+Lxm7fr+U
 J6EnqgUoBsBWBCWgvUxlNHVeJ6wBdVNtDlTHabaH8RSCJZjgjg2JaSQM/v9VPLNa
 6jTy3rhkPo50BJBb/F/AZmrobWXR2MkgID3iPEMcpjEyLaRZvW9FPqMFIxKQrUfB
 XGDU4dAu3C+Q9i1KDkFIvIG3e7z9nSmv6np4O57CgrmrmmCpRUz7Yy0yhqNs36/H
 WhLh/Pjb9gupdFK0TwFiEEG3wfnmXlde2c8IfrXXzKSKPIZ0T/RnLZapS7i94c2E
 DumhLYjNjSCiciQZh4eLK0bKx0NETUG79eLUTz5Gi3Pc02E0pU8=
 =ZGDn
 -----END PGP SIGNATURE-----

Merge tag 'bcachefs-2025-06-04' of git://evilpiepirate.org/bcachefs

Pull more bcachefs updates from Kent Overstreet:
 "More bcachefs updates:

   - More stack usage improvements (~600 bytes)

   - Define CLASS()es for some commonly used types, and convert most
     rcu_read_lock() uses to the new lock guards

   - New introspection:
       - Superblock error counters are now available in sysfs:
         previously, they were only visible with 'show-super', which
         doesn't provide a live view
       - New tracepoint, error_throw(), which is called any time we
         return an error and start to unwind

   - Repair
       - check_fix_ptrs() can now repair btree node roots
       - We can now repair when we've somehow ended up with the journal
         using a superblock bucket

   - Revert some leftovers from the aborted directory i_size feature,
     and add repair code: some userspace programs (e.g. sshfs) were
     getting confused

  It seems in 6.15 there's a bug where i_nlink on the vfs inode has been
  getting incorrectly set to 0, with some unfortunate results;
  list_journal analysis showed bch2_inode_rm() being called (by
  bch2_evict_inode()) when it clearly should not have been.

   - bch2_inode_rm() now runs "should we be deleting this inode?" checks
     that were previously only run when deleting unlinked inodes in
     recovery

   - check_subvol() was treating a dangling subvol (pointing to a
     missing root inode) like a dangling dirent, and deleting it. This
     was the really unfortunate one: check_subvol() will now recreate
     the root inode if necessary

  This took longer to debug than it should have, and we lost several
  filesystems unnecessarily, because users have been ignoring the
  release notes and blindly running 'fsck -y'. Debugging required
  reconstructing what happened through analyzing the journal, when
  ideally someone would have noticed 'hey, fsck is asking me if I want
  to repair this: it usually doesn't, maybe I should run this in dry run
  mode and check what's going on?'

  As a reminder, fsck errors are being marked as autofix once we've
  verified, in real world usage, that they're working correctly; blindly
  running 'fsck -y' on an experimental filesystem is playing with fire

  Up to this incident we've had an excellent track record of not losing
  data, so let's try to learn from this one

  This is a community effort, I wouldn't be able to get this done
  without the help of all the people QAing and providing excellent bug
  reports and feedback based on real world usage. But please don't
  ignore advice and expect me to pick up the pieces

  If an error isn't marked as autofix, and it /is/ happening in the
  wild, that's also something I need to know about so we can check it
  out and add it to the autofix list if repair looks good. I haven't
  been getting those reports, and I should be; since we don't have any
  sort of telemetry yet I am absolutely dependent on user reports

  Now I'll be spending the weekend working on new repair code to see if
  I can get a filesystem back for a user who didn't have backups"

* tag 'bcachefs-2025-06-04' of git://evilpiepirate.org/bcachefs: (69 commits)
  bcachefs: add cond_resched() to handle_overwrites()
  bcachefs: Make journal read log message a bit quieter
  bcachefs: Fix subvol to missing root repair
  bcachefs: Run may_delete_deleted_inode() checks in bch2_inode_rm()
  bcachefs: delete dead code from may_delete_deleted_inode()
  bcachefs: Add flags to subvolume_to_text()
  bcachefs: Fix oops in btree_node_seq_matches()
  bcachefs: Fix dirent_casefold_mismatch repair
  bcachefs: Fix bch2_fsck_rename_dirent() for casefold
  bcachefs: Redo bch2_dirent_init_name()
  bcachefs: Fix -Wc23-extensions in bch2_check_dirents()
  bcachefs: Run check_dirents second time if required
  bcachefs: Run snapshot deletion out of system_long_wq
  bcachefs: Make check_key_has_snapshot safer
  bcachefs: BCH_RECOVERY_PASS_NO_RATELIMIT
  bcachefs: bch2_require_recovery_pass()
  bcachefs: bch_err_throw()
  bcachefs: Repair code for directory i_size
  bcachefs: Kill un-reverted directory i_size code
  bcachefs: Delete redundant fsck_err()
  ...
2025-06-04 19:14:24 -07:00
..
Kconfig bcachefs: Async object debugging 2025-05-21 20:14:29 -04:00
Makefile bcachefs: Async object debugging 2025-05-21 20:14:29 -04:00
acl.c bcachefs: Kill btree_iter.trans 2025-04-02 10:24:34 -04:00
acl.h
alloc_background.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
alloc_background.h bcachefs: Replace rcu_read_lock() with guards 2025-06-01 00:03:12 -04:00
alloc_background_format.h bcachefs: Fix reuse of bucket before journal flush on multiple empty -> nonempty transition 2024-12-21 01:36:22 -05:00
alloc_foreground.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
alloc_foreground.h bcachefs: Move devs_sorted to alloc_request 2025-05-30 01:21:13 -04:00
alloc_types.h bcachefs: alloc_request.counters 2025-05-21 20:13:37 -04:00
async_objs.c bcachefs: async objs now support bch_write_ops 2025-05-21 20:15:05 -04:00
async_objs.h bcachefs: Async object debugging 2025-05-21 20:14:29 -04:00
async_objs_types.h bcachefs: async objs now support bch_write_ops 2025-05-21 20:15:05 -04:00
backpointers.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
backpointers.h bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
bbpos.h bcachefs: Avoid bch2_btree_id_str() 2024-12-21 01:36:15 -05:00
bbpos_types.h
bcachefs.h bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
bcachefs_format.h bcachefs: BCH_INODE_has_case_insensitive 2025-05-21 20:15:10 -04:00
bcachefs_ioctl.h bcachefs: Convert migrate to move_data_phys() 2025-03-14 21:02:12 -04:00
bkey.c bcachefs: debug_check_bkey_unpack 2025-05-21 20:14:55 -04:00
bkey.h bcachefs: debug_check_bset_lookups 2025-05-21 20:14:55 -04:00
bkey_buf.h
bkey_cmp.h
bkey_methods.c bcachefs: Debug params are now static_keys 2025-05-21 20:14:54 -04:00
bkey_methods.h bcachefs: struct bkey_validate_context 2024-12-21 01:36:20 -05:00
bkey_sort.c
bkey_sort.h
bkey_types.h bcachefs: Plumb bkey_validate_context to journal_entry_validate 2024-12-21 01:36:22 -05:00
bset.c bcachefs: debug_check_bset_lookups 2025-05-21 20:14:55 -04:00
bset.h bcachefs: debug_check_bset_lookups 2025-05-21 20:14:55 -04:00
btree_cache.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
btree_cache.h bcachefs: __bch2_btree_pos_to_text() 2025-01-09 23:38:42 -05:00
btree_gc.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
btree_gc.h bcachefs: Move various init code to _init_early() 2025-05-21 20:14:02 -04:00
btree_gc_types.h
btree_io.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
btree_io.h bcachefs: Single err message for btree node reads 2025-05-21 20:14:35 -04:00
btree_iter.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
btree_iter.h bcachefs: CLASS(btree_trans) 2025-06-01 00:03:12 -04:00
btree_journal_iter.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
btree_journal_iter.h bcachefs: fix O(n^2) issue with whiteouts in journal keys 2024-12-21 01:36:18 -05:00
btree_journal_iter_types.h bcachefs: fix O(n^2) issue with whiteouts in journal keys 2024-12-21 01:36:18 -05:00
btree_key_cache.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
btree_key_cache.h bcachefs: Fix bch2_btree_path_traverse_cached() when paths realloced 2025-05-17 18:46:17 -04:00
btree_key_cache_types.h
btree_locking.c bcachefs: Replace rcu_read_lock() with guards 2025-06-01 00:03:12 -04:00
btree_locking.h bcachefs: Plumb btree_trans for more locking asserts 2025-05-23 07:59:43 -04:00
btree_node_scan.c bcachefs: add cond_resched() to handle_overwrites() 2025-06-04 16:45:41 -04:00
btree_node_scan.h
btree_node_scan_types.h bcachefs: Use a heap for handling overwrites in btree node scan 2024-12-21 01:36:22 -05:00
btree_trans_commit.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
btree_types.h bcachefs: Kill bkey_buf in btree_path_down() 2025-05-30 01:21:12 -04:00
btree_update.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
btree_update.h bcachefs: __bch2_insert_snapshot_whiteouts() refactoring 2025-05-31 22:03:17 -04:00
btree_update_interior.c bcachefs: Fix oops in btree_node_seq_matches() 2025-06-04 16:45:41 -04:00
btree_update_interior.h bcachefs: Debug params are now static_keys 2025-05-21 20:14:54 -04:00
btree_write_buffer.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
btree_write_buffer.h bcachefs: Move various init code to _init_early() 2025-05-21 20:14:02 -04:00
btree_write_buffer_types.h
buckets.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
buckets.h bcachefs: Replace rcu_read_lock() with guards 2025-06-01 00:03:12 -04:00
buckets_types.h bcachefs: bch_dev_usage_full 2025-04-02 10:24:34 -04:00
buckets_waiting_for_journal.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
buckets_waiting_for_journal.h bcachefs: Fix discard path journal flushing 2025-02-06 22:35:11 -05:00
buckets_waiting_for_journal_types.h
chardev.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
chardev.h
checksum.c bcachefs updates for 6.16, part 2 2025-06-04 19:14:24 -07:00
checksum.h bcachefs: export bch2_chacha20 2025-05-21 20:14:11 -04:00
clock.c bcachefs: bch2_kthread_io_clock_wait_once() 2025-05-27 00:02:44 -04:00
clock.h bcachefs: bch2_kthread_io_clock_wait_once() 2025-05-27 00:02:44 -04:00
clock_types.h
compress.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
compress.h bcachefs: Improve decompression error messages 2025-01-25 14:43:13 -05:00
darray.c bcachefs: Workaround for kvmalloc() not supporting > INT_MAX allocations 2024-10-20 16:50:14 -04:00
darray.h bcachefs: CLASS(darray) 2025-05-31 22:03:17 -04:00
data_update.c bcachefs: Make check_key_has_snapshot safer 2025-06-02 12:16:36 -04:00
data_update.h bcachefs: Make various async objs visible in debugfs 2025-05-21 20:14:30 -04:00
debug.c bcachefs: Replace rcu_read_lock() with guards 2025-06-01 00:03:12 -04:00
debug.h bcachefs: Debug params are now static_keys 2025-05-21 20:14:54 -04:00
dirent.c bcachefs: Fix dirent_casefold_mismatch repair 2025-06-04 16:45:41 -04:00
dirent.h bcachefs: Fix dirent_casefold_mismatch repair 2025-06-04 16:45:41 -04:00
dirent_format.h bcachefs: bcachefs_metadata_version_casefolding 2025-03-14 21:02:15 -04:00
disk_accounting.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
disk_accounting.h bcachefs: Replace rcu_read_lock() with guards 2025-06-01 00:03:12 -04:00
disk_accounting_format.h bcachefs: Document disk accounting keys and conuters 2025-03-26 16:26:35 -04:00
disk_accounting_types.h
disk_groups.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
disk_groups.h
disk_groups_format.h
disk_groups_types.h
ec.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
ec.h bcachefs: bch2_dev_remove_stripes() respects degraded flags 2025-05-21 20:14:48 -04:00
ec_format.h bcachefs: Document issue with bch_stripe layout 2025-01-14 10:45:31 -05:00
ec_types.h bcachefs: Avoid -Wflex-array-member-not-at-end warnings 2025-05-21 20:14:38 -04:00
enumerated_ref.c bcachefs: enumerated_ref.c 2025-05-21 20:14:27 -04:00
enumerated_ref.h bcachefs: enumerated_ref.c 2025-05-21 20:14:27 -04:00
enumerated_ref_types.h bcachefs: enumerated_ref.c 2025-05-21 20:14:27 -04:00
errcode.c bcachefs: Mark bch_errcode helpers __attribute__((const)) 2025-05-30 11:20:18 -04:00
errcode.h bcachefs: Run may_delete_deleted_inode() checks in bch2_inode_rm() 2025-06-04 16:45:41 -04:00
error.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
error.h bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
extent_update.c bcachefs: Simplify bch2_extent_atomic_end() 2025-05-21 20:15:07 -04:00
extent_update.h bcachefs: Simplify bch2_extent_atomic_end() 2025-05-21 20:15:07 -04:00
extents.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
extents.h bcachefs: bch2_mark_btree_validate_failure() 2025-05-21 20:14:35 -04:00
extents_format.h bcachefs: bcachefs_metadata_version_extent_flags 2025-03-14 21:02:15 -04:00
extents_types.h bcachefs: bch2_mark_btree_validate_failure() 2025-05-21 20:14:35 -04:00
eytzinger.c bcachefs: convert eytzinger sort to be 1-based (2) 2025-03-14 21:02:14 -04:00
eytzinger.h bcachefs: eytzinger1_{next,prev} cleanup 2025-03-14 21:02:14 -04:00
fast_list.c bcachefs: fast_list 2025-05-21 20:14:29 -04:00
fast_list.h bcachefs: fast_list 2025-05-21 20:14:29 -04:00
fifo.h
fs-io-buffered.c bcachefs: Don't stack allocate bch_writepage_state 2025-05-30 01:21:12 -04:00
fs-io-buffered.h
fs-io-direct.c bcachefs: bch_fs.writes -> enumerated_refs 2025-05-21 20:14:27 -04:00
fs-io-direct.h
fs-io-pagecache.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
fs-io-pagecache.h
fs-io.c bcachefs: Replace rcu_read_lock() with guards 2025-06-01 00:03:12 -04:00
fs-io.h
fs-ioctl.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
fs-ioctl.h bcachefs: Implement fileattr_(get|set) 2025-04-21 19:50:56 -04:00
fs.c bcachefs: Run may_delete_deleted_inode() checks in bch2_inode_rm() 2025-06-04 16:45:41 -04:00
fs.h bcachefs: Use separate rhltable for bch2_inode_or_descendents_is_open() 2024-12-21 01:36:19 -05:00
fsck.c bcachefs: Fix dirent_casefold_mismatch repair 2025-06-04 16:45:41 -04:00
fsck.h bcachefs: bch2_str_hash_check_key() may now be called without snapshots_seen 2025-05-31 22:03:17 -04:00
inode.c bcachefs: Run may_delete_deleted_inode() checks in bch2_inode_rm() 2025-06-04 16:45:41 -04:00
inode.h bcachefs: Delete redundant fsck_err() 2025-06-02 12:16:35 -04:00
inode_format.h bcachefs: BCH_INODE_has_case_insensitive 2025-05-21 20:15:10 -04:00
io_misc.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
io_misc.h
io_read.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
io_read.h bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
io_write.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
io_write.h bcachefs: struct alloc_request 2025-05-21 20:13:27 -04:00
io_write_types.h bcachefs: async objs now support bch_write_ops 2025-05-21 20:15:05 -04:00
journal.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
journal.h bcachefs: bch2_dev_journal_bucket_delete() 2025-05-31 22:03:17 -04:00
journal_io.c bcachefs: Make journal read log message a bit quieter 2025-06-04 16:45:41 -04:00
journal_io.h bcachefs: Journal read error message improvements 2025-05-30 01:21:12 -04:00
journal_reclaim.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
journal_reclaim.h bcachefs: Improve journal pin flushing 2025-01-25 19:37:43 -05:00
journal_sb.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
journal_sb.h
journal_seq_blacklist.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
journal_seq_blacklist.h bcachefs: Ensure we don't use a blacklisted journal seq 2025-05-23 19:52:31 -04:00
journal_seq_blacklist_format.h
journal_types.h bcachefs: darray: provide typedefs for primitive types 2025-05-21 20:13:47 -04:00
keylist.c
keylist.h
keylist_types.h
logged_ops.c bcachefs: bcachefs_metadata_version_persistent_inode_cursors 2025-01-09 23:38:41 -05:00
logged_ops.h bcachefs: Rework logged op error handling 2024-10-04 20:25:32 -04:00
logged_ops_format.h bcachefs: bcachefs_metadata_version_persistent_inode_cursors 2025-01-09 23:38:41 -05:00
lru.c bcachefs: Replace rcu_read_lock() with guards 2025-06-01 00:03:12 -04:00
lru.h bcachefs: bcachefs_metadata_version_stripe_lru 2025-03-14 21:02:15 -04:00
lru_format.h bcachefs: bcachefs_metadata_version_stripe_lru 2025-03-14 21:02:15 -04:00
mean_and_variance.c
mean_and_variance.h
mean_and_variance_test.c
migrate.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
migrate.h bcachefs: bch2_dev_data_drop_by_backpointers() 2025-05-21 20:14:49 -04:00
move.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
move.h bcachefs: do_rebalance_scan() now only updates bch_extent_rebalance 2025-05-21 20:15:01 -04:00
move_types.h bcachefs: kill move_bucket_in_flight 2025-05-21 20:14:57 -04:00
movinggc.c bcachefs: Replace rcu_read_lock() with guards 2025-06-01 00:03:12 -04:00
movinggc.h bcachefs: Replace rcu_read_lock() with guards 2025-06-01 00:03:12 -04:00
namei.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
namei.h bcachefs: BCH_INODE_has_case_insensitive 2025-05-21 20:15:10 -04:00
nocow_locking.c bcachefs: Move various init code to _init_early() 2025-05-21 20:14:02 -04:00
nocow_locking.h bcachefs: Move various init code to _init_early() 2025-05-21 20:14:02 -04:00
nocow_locking_types.h
opts.c bcachefs: Incompatible features may now be enabled at runtime 2025-05-21 20:14:16 -04:00
opts.h bcachefs: Knob for manual snapshot deletion 2025-05-21 20:14:49 -04:00
printbuf.c bcachefs: Consistent indentation of multiline fsck errors 2025-03-28 22:31:47 -04:00
printbuf.h bcachefs: CLASS(printbuf) 2025-05-31 22:03:17 -04:00
progress.c bcachefs: Don't use designated initializers for disk_accounting_pos 2025-03-30 16:35:13 -04:00
progress.h bcachefs: Factor out progress.[ch] 2025-03-14 21:02:12 -04:00
quota.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
quota.h bcachefs: struct bkey_validate_context 2024-12-21 01:36:20 -05:00
quota_format.h
quota_types.h
rcu_pending.c bcachefs: rcu_pending now works in userspace 2024-12-21 01:36:21 -05:00
rcu_pending.h
rebalance.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
rebalance.h bcachefs: Fix lost rebalance wakeups 2025-05-27 00:02:44 -04:00
rebalance_format.h bcachefs: Move bch_extent_rebalance code to rebalance.c 2024-12-21 01:36:16 -05:00
rebalance_types.h bcachefs: Fix lost rebalance wakeups 2025-05-27 00:02:44 -04:00
recovery.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
recovery.h bcachefs: Plumb printbuf through bch2_btree_lost_data() 2025-05-21 20:14:34 -04:00
recovery_passes.c bcachefs: BCH_RECOVERY_PASS_NO_RATELIMIT 2025-06-02 12:16:36 -04:00
recovery_passes.h bcachefs: BCH_RECOVERY_PASS_NO_RATELIMIT 2025-06-02 12:16:36 -04:00
recovery_passes_format.h bcachefs: BCH_RECOVERY_PASS_NO_RATELIMIT 2025-06-02 12:16:36 -04:00
recovery_passes_types.h bcachefs: Run recovery passes asynchronously 2025-05-21 20:15:04 -04:00
reflink.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
reflink.h bcachefs: bcachefs_metadata_version_reflink_p_may_update_opts 2024-12-29 13:30:39 -05:00
reflink_format.h bcachefs: bcachefs_metadata_version_reflink_p_may_update_opts 2024-12-29 13:30:39 -05:00
replicas.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
replicas.h
replicas_format.h
replicas_types.h
sb-clean.c bcachefs: Plumb bkey_validate_context to journal_entry_validate 2024-12-21 01:36:22 -05:00
sb-clean.h
sb-counters.c bcachefs: BCH_IOCTL_QUERY_COUNTERS 2025-03-14 21:02:11 -04:00
sb-counters.h bcachefs: BCH_IOCTL_QUERY_COUNTERS 2025-03-14 21:02:11 -04:00
sb-counters_format.h bcachefs: io_move_evacuate_bucket tracepoint, counter 2025-05-30 01:21:12 -04:00
sb-downgrade.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
sb-downgrade.h
sb-downgrade_format.h
sb-errors.c bcachefs: sysfs/errors 2025-05-30 11:20:18 -04:00
sb-errors.h bcachefs: sysfs/errors 2025-05-30 11:20:18 -04:00
sb-errors_format.h bcachefs: Run may_delete_deleted_inode() checks in bch2_inode_rm() 2025-06-04 16:45:41 -04:00
sb-errors_types.h
sb-members.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
sb-members.h bcachefs: Replace rcu_read_lock() with guards 2025-06-01 00:03:12 -04:00
sb-members_format.h bcachefs: BCH_SB_MEMBER_DELETED_UUID 2025-05-21 20:14:49 -04:00
sb-members_types.h bcachefs: BCH_MEMBER_RESIZE_ON_MOUNT 2025-05-21 20:14:21 -04:00
seqmutex.h
siphash.c
siphash.h
six.c bcachefs: Replace rcu_read_lock() with guards 2025-06-01 00:03:12 -04:00
six.h bcachefs: Fix deadlock 2025-02-26 19:31:05 -05:00
snapshot.c bcachefs: Run snapshot deletion out of system_long_wq 2025-06-02 12:16:36 -04:00
snapshot.h bcachefs: Replace rcu_read_lock() with guards 2025-06-01 00:03:12 -04:00
snapshot_format.h bcachefs: bcachefs_metadata_version_snapshot_deletion_v2 2025-05-21 20:14:45 -04:00
snapshot_types.h bcachefs: Knob for manual snapshot deletion 2025-05-21 20:14:49 -04:00
str_hash.c bcachefs: Fix dirent_casefold_mismatch repair 2025-06-04 16:45:41 -04:00
str_hash.h bcachefs: Fix dirent_casefold_mismatch repair 2025-06-04 16:45:41 -04:00
subvolume.c bcachefs: Fix subvol to missing root repair 2025-06-04 16:45:41 -04:00
subvolume.h bcachefs: snapshot delete progress indicator 2025-05-21 20:14:40 -04:00
subvolume_format.h
subvolume_types.h bcachefs: bcachefs_metadata_version_snapshot_deletion_v2 2025-05-21 20:14:45 -04:00
super-io.c bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
super-io.h bcachefs: Incompatible features may now be enabled at runtime 2025-05-21 20:14:16 -04:00
super.c bcachefs: Fix bch2_fsck_rename_dirent() for casefold 2025-06-04 16:45:41 -04:00
super.h bcachefs: bch2_fs_emergency_read_only2() 2025-05-21 20:14:56 -04:00
super_types.h bcachefs: Stash a pointer to the filesystem for blk_holder_ops 2025-03-14 21:02:16 -04:00
sysfs.c bcachefs: sysfs trigger_journal_commit 2025-05-31 22:03:17 -04:00
sysfs.h bcachefs: Device options now use standard sysfs code 2025-03-24 09:50:35 -04:00
tests.c bcachefs: Unit test fixes 2025-04-24 19:09:52 -04:00
tests.h
thread_with_file.c bcachefs: thread_with_stdio: fix spinning instead of exiting 2025-05-04 14:00:14 -04:00
thread_with_file.h
thread_with_file_types.h
time_stats.c bcachefs: bch2_time_stats_init_no_pcpu() 2025-03-28 22:31:47 -04:00
time_stats.h bcachefs: bch2_time_stats_init_no_pcpu() 2025-03-28 22:31:47 -04:00
trace.c
trace.h bcachefs: bch_err_throw() 2025-06-02 12:16:35 -04:00
two_state_shared_lock.c
two_state_shared_lock.h
util.c bcachefs: bch2_fs_open() now takes a darray 2025-05-21 20:14:37 -04:00
util.h - The 3 patch series "hung_task: extend blocking task stacktrace dump to 2025-05-31 19:12:53 -07:00
varint.c bcachefs: Use proper errcodes for inode unpack errors 2024-12-21 01:36:23 -05:00
varint.h
vstructs.h
xattr.c bcachefs: Add comments for inode snapshot requirements 2025-05-21 20:14:41 -04:00
xattr.h bcachefs: Rename x_name to x_name_and_value 2025-05-21 20:14:39 -04:00
xattr_format.h bcachefs: Rename x_name to x_name_and_value 2025-05-21 20:14:39 -04:00