lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <oxkibsokaa3jw2flrbbzb5brx5ere724f3b2nyr2t5nsqfjw4u@23q3ardus43h>
Date: Sat, 24 May 2025 20:47:56 -0400
From: Kent Overstreet <kent.overstreet@...ux.dev>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: linux-bcachefs@...r.kernel.org, linux-fsdevel@...r.kernel.org, 
	linux-kernel@...r.kernel.org
Subject: [GIT PULL] bcachefs changes for 6.16

The following changes since commit 010c89468134d1991b87122379f86feae23d512f:

  bcachefs: Check for casefolded dirents in non casefolded dirs (2025-05-21 20:13:14 -0400)

are available in the Git repository at:

  git://evilpiepirate.org/bcachefs.git tags/bcachefs-2025-05-24

for you to fetch changes up to 9caea9208fc3fbdbd4a41a2de8c6a0c969b030f9:

  bcachefs: Don't mount bs > ps without TRANSPARENT_HUGEPAGE (2025-05-23 22:00:07 -0400)

----------------------------------------------------------------
bcachefs updates for 6.16

Lots of changes:

- Poisoned extents can now be moved: this lets us handle bitrotted data
  without deleting it. For now, reading from poisoned extents only
  returns -EIO: in the future we'll have an API for specifying "read
  this data even if there were bitflips".

- Incompatible features may now be enabled at runtime, via
  "opts/version_upgrade" in sysfs. Toggle it to incompatible, and then
  toggle it back - option changes via the sysfs interface are
  persistent.

- Various changes to support deployable disk images:
  - RO mounts now use less memory
  - Images may be stripped of alloc info, particularly useful for
    slimming them down if they will primarily be mounted RO. Alloc info
    will be automatically regenerated on first RW mount, and this is
    quite fast.
  - Filesystem images generated with 'bcachefs image' will be
    automatically resized the first time they're mounted on a larger
    device.

    The images 'bcachefs image' generates with compression enabled have
    been comparable in size to those generated by squashfs and erofs -
    but you get a full RW capable filesystem.

- Major error message improvements for btree node reads, data reads,
  and elsewhere. We now build up a single error message that lists all
  the errors encountered, actions taken to repair, and success/failure
  of the IO. This extends to other error paths that may kick off other
  actions, e.g. scheduling recovery passes: actions we took because of
  an error are included in that error message, with grouping/indentation
  so we can see what caused what.

- Repair/self healing:
  - We can now kick off recovery passes and run them in the background
    if we detect errors. Currently, this is just used by code that walks
    backpointers; we now also check for missing backpointers at runtime
    and run check_extents_to_backpointers if required. The messy 6.14
    upgrade left missing backpointers for some users, and this will
    correct that automatically instead of requiring a manual fsck - some
    users noticed this as copygc spinning and not making progress.

    In the future, as more recovery passes come online, we'll be able to
    repair and recover from nearly anything - except for unreadable
    btree nodes, and that's why you're using replication, of course -
    without shutting down the filesystem.

  - There's a new recovery pass, for checking the rebalance_work btree,
    which tracks extents that rebalance will process later.

- Hardening:
  - Close the last known hole in btree iterator/btree locking
    assertions: path->should_be_locked paths must stay locked until the
    end of the transaction. This shook out a few bugs, including a
    performance issue that was causing unnecessary path_upgrade
    transaction restarts.

- Performance;
  - Faster snapshot deletion: this is an incompatible feature, as it
    requires new sentinal values, for safety. Snapshot deletion no
    longer has to do a full metadata scan, it now just scans the inodes
    btree: if an extent/dirent/xattr is present for a given snapshot ID,
    we already require that an inode be present with that same snapshot
    ID.

    If/when users hit scalability limits again (ridiculously huge
    filesystems with lots of inodes, and many sparse snapshots), let me
    know - the next step will be to add an index from snapshot ID ->
    inode number, which won't be too hard.

  - Faster device removal: the "scan for pointers to this device" no
    longer does a full metadata scan, instead it walks backpointers.
    Like fast snapshot deletion this is another incompat feature: it
    also requires a new sentinal value, because we don't want to reuse
    these device IDs until after a fsck.

  - We're now coalescing redundant accounting updates prior to
    transaction commit, taking some pressure off the journal. Shortly
    we'll also be doing multiple extent updates in a transaction in the
    main write path, which combined with the previous should drastically
    cut down on the amount of metadata updates we have to journal.

- Stack usage improvements: All allocator state has been moved off the
  stack

- Debug improvements:
  - enumerated refcounts: The debug code previously used for filesystem
    write refs is now a small library, and used for other heavily used
    refcounts. Different users of a refcount are enumerated, making it
    much easier to debug refcount issues.

  - Async object debugging: There's a new kconfig option that makes
    various async objects (different types of bios, data updates, write
    ops, etc.) visible in debugfs, and it should be fast enough to leave
    on in production.

  - Various sets of assertions no longer require CONFIG_BCACHEFS_DEBUG,
    instead they're controlled by module parameters and static keys,
    meaning users won't need to compile custom kernels as often to help
    debug issues.

  - bch2_trans_kmalloc() calls can be tracked (there's a new kconfig
    option); with it on you can check the btree_transaction_stats in
    debugfs to see the bch2_trans_kmalloc() calls a transaction did when
    it used the most memory.

----------------------------------------------------------------
Alan Huang (9):
      bcachefs: Kill bch2_trans_unlock_noassert
      bcachefs: Remove spurious +1/-1 operation
      bcachefs: Simplify logic
      bcachefs: Kill dead code
      bcachefs: Rename x_name to x_name_and_value
      bcachefs: Fix inconsistent req->ec
      bcachefs: Kill BTREE_TRIGGER_bucket_invalidate
      bcachefs: Early return to avoid unnecessary lock
      bcachefs: Remove duplicate call to bch2_trans_begin()

Gustavo A. R. Silva (1):
      bcachefs: Avoid -Wflex-array-member-not-at-end warnings

Integral (3):
      bcachefs: early return for negative values when parsing BCH_OPT_UINT
      bcachefs: split error messages of invalid compression into two lines
      bcachefs: indent error messages of invalid compression

Kent Overstreet (203):
      bcachefs: bch2_subvolume_wait_for_pagecache_and_delete() cleanup
      bcachefs: Be precise about bch_io_failures
      bcachefs: Poison extents that can't be read due to checksum errors
      bcachefs: Data move can read from poisoned extents
      bcachefs: Rebalance now skips poisoned extents
      bcachefs: trace bch2_trans_kmalloc()
      bcachefs: struct alloc_request
      bcachefs: alloc_request.data_type
      bcachefs: bch2_bucket_alloc_trans() takes alloc_request
      bcachefs: bch2_ec_stripe_head_get() takes alloc_request
      bcachefs: new_stripe_alloc_buckets() takes alloc_request
      bcachefs: alloc_request: deallocate_extra_replicas()
      bcachefs: alloc_request.usage
      bcachefs: alloc_request.counters
      bcachefs: alloc_request.ca
      bcachefs: alloc_request.ptrs2
      bcachefs: alloc_request no longer on stack
      bcachefs: reduce new_stripe_alloc_buckets() stack usage
      bcachefs: darray: provide typedefs for primitive types
      bcachefs: bch2_snapshot_table_make_room()
      bcachefs: add missing include
      bcachefs: bch2_kvmalloc() mem alloc profiling
      bcachefs: btree_io_complete_wq -> btree_write_complete_wq
      bcachefs: simplify journal pin initialization
      bcachefs: alphabetize init function calls
      bcachefs: Move various init code to _init_early()
      bcachefs: RO mounts now use less memory
      bcachefs: move_data_phys: stats are not required
      bcachefs: export bch2_chacha20
      bcachefs: Improve opts.degraded
      bcachefs: kill BTREE_CACHE_NOT_FREED_INCREMENT()
      bcachefs: __btree_node_reclaim_checks()
      bcachefs: Improve bch2_btree_cache_to_text()
      bcachefs: bch2_dev_journal_alloc() now respects data_allowed
      bcachefs: bch2_dev_allocator_set_rw()
      bcachefs: Clean up duplicated code in bch2_journal_halt()
      bcachefs: Initialize c->name earlier on single dev filesystems
      bcachefs: Single device mode
      bcachefs: Use drop_locks_do() in bch2_inode_hash_find()
      bcachefs: Clean up option pre/post hooks, small fixes
      bcachefs: Incompatible features may now be enabled at runtime
      bcachefs: bch2_run_explicit_recovery_pass_printbuf()
      bcachefs: Simplify bch2_count_fsck_err()
      bcachefs: bch2_dev_missing_bkey()
      bcachefs: print_str_as_lines() -> print_str()
      bcachefs: Flag for repair on missing subvolume
      bcachefs: Add a recovery pass for making sure root inode is readable
      bcachefs: sb_validate() no longer requires members_v1
      bcachefs: Shrink superblock downgrade table
      bcachefs: Print features on startup with -o verbose
      bcachefs: BCH_FEATURE_no_alloc_info
      bcachefs: BCH_FEATURE_small_image
      bcachefs: BCH_MEMBER_RESIZE_ON_MOUNT
      bcachefs: export bch2_move_data_phys()
      bcachefs: Plumb target parameter through btree_node_rewrite_pos()
      bcachefs: plumb btree_id through move_pred_fd
      bcachefs: bch2_move_data_btree() can move btree nodes
      bcachefs: bch2_move_data_btree() can now walk roots
      docs: bcachefs: idle work scheduling design doc
      bcachefs: Fix struct with flex member ABI warning
      bcachefs: bch2_check_rebalance_work()
      bcachefs: bch2_target_to_text() no longer depends on io_ref
      bcachefs: recalc_capacity() no longer depends on io_ref
      bcachefs: for_each_online_member_rcu()
      bcachefs: __bch2_fs_read_write() no longer depends on io_ref
      bcachefs: for_each_rw_member_rcu()
      bcachefs: enumerated_ref.c
      bcachefs: bch_fs.writes -> enumerated_refs
      bcachefs: bch_dev.io_ref -> enumerated_ref
      bcachefs: bch2_bio_to_text()
      bcachefs: bch2_read_bio_to_text
      bcachefs: fast_list
      bcachefs: Async object debugging
      bcachefs: Make various async objs visible in debugfs
      bcachefs: print_string_as_lines: avoid printing empty line
      bcachefs: bch2_io_failures_to_text()
      bcachefs: Emit a single log message on data read error
      bcachefs: Kill redundant error message in topology repair
      bcachefs: bch2_btree_lost_data() now handles snapshots tree
      bcachefs: Remove redundant calls to btree_lost_data()
      bcachefs: kill bch2_run_explicit_recovery_pass_persistent()
      bcachefs: Plumb printbuf through bch2_btree_lost_data()
      bcachefs: bch2_fsck_err_opt()
      bcachefs: bch2_mark_btree_validate_failure()
      bcachefs: Single err message for btree node reads
      bcachefs: bch2_dirent_to_text() shows casefolded dirents
      bcachefs: provide unlocked version of run_explicit_recovery_pass_persistent
      bcachefs: Run most explicit recovery passes persistent
      bcachefs: bch2_trans_update_ip()
      bcachefs: bch2_fs_open() now takes a darray
      bcachefs: bch2_dev_add() can run on a non-started fs
      bcachefs: sysfs trigger_recalc_capacity
      bcachefs: Fix setting ca->name in device add
      docs: bcachefs: add casefolding reference
      bcachefs: Improve bch2_disk_groups_to_text()
      bcachefs: Don't emit bch_sb_field_members_v1 if not required
      bcachefs: snapshot delete progress indicator
      bcachefs: Add comments for inode snapshot requirements
      bcachefs: kill inode_walker_entry.snapshot
      bcachefs: Improve bch2_request_incompat_feature() message
      bcachefs: bch2_inode_unpack() cleanup
      bcachefs: get_inodes_all_snapshots() now includes whiteouts
      bcachefs: BCH_FSCK_ERR_snapshot_key_missing_inode_snapshot
      bcachefs: Skip unrelated snapshot trees in snapshot deletion
      bcachefs: BCH_SNAPSHOT_DELETED -> BCH_SNAPSHOT_WILL_DELETE
      bcachefs: bcachefs_metadata_version_snapshot_deletion_v2
      bcachefs: delete_dead_snapshot_keys_v2()
      bcachefs: bch2_journal_write() refactoring
      bcachefs: bch2_dev_in_target() no longer takes rcu_read_lock()
      bcachefs: inline bch2_ob_ptr()
      bcachefs: improve check_inode_hash_info_matches_root() error message
      bcachefs: Improve bch2_extent_ptr_set_cached()
      bcachefs: __bch2_fs_free() cleanup
      bcachefs: opts.rebalance_on_ac_only
      bcachefs: bch2_dev_remove_stripes() respects degraded flags
      bcachefs: BCH_SB_MEMBER_DELETED_UUID
      bcachefs: bch2_dev_data_drop_by_backpointers()
      bcachefs: bcachefs_metadata_version_fast_device_removal
      bcachefs: Knob for manual snapshot deletion
      bcachefs: Add missing include
      bcachefs: bch2_copygc_dev_wait_amount()
      bcachefs: buckets_in_flight on stack
      bcachefs: kill dead code in move_data_phys()
      bcachefs: delete dead items in bch_dev
      bcachefs: "buckets with backpointer mismatches" now allocated on demand
      bcachefs: print label correctly in sb_member_to_text()
      bcachefs: recovery_passes_types.h -> recovery_passes_format.h
      bcachefs: bch_sb_field_recovery_passes
      bcachefs: online_fsck_mutex -> run_recovery_passes_lock
      bcachefs: Slim down inlined part of bch2_btree_path_upgrade()
      bcachefs: Debug params are now static_keys
      bcachefs: debug_check_btree_locking modparam
      bcachefs: debug_check_iterators no longer requires BCACHEFS_DEBUG
      bcachefs: debug_check_bset_lookups
      bcachefs: debug_check_bkey_unpack
      bcachefs: Rename fsck_running, recovery_running flags
      bcachefs: Don't rewind recovery if not in recovery
      bcachefs: add missing locking in bch2_write_point_to_text()
      bcachefs: Extra write buffer asserts
      bcachefs: bch2_fs_emergency_read_only2()
      bcachefs: kill move_bucket_in_flight
      bcachefs: Move pending buckets queue to buckets_in_flight
      bcachefs: move_buckets in rhashtable when allocated
      bcachefs: Add tracepoint, counter for io_move_created_rebalance
      bcachefs: fix can_write_extent()
      bcachefs: Fix opt hooks in sysfs for non sb option
      bcachefs: bch2_inode_find_snapshot_root()
      bcachefs: Improve bch2_repair_inode_hash_info()
      bcachefs: better error message for subvol_fs_path_parent_wrong
      bcachefs: do_rebalance_scan() now only updates bch_extent_rebalance
      bcachefs: relock_fail tracepoint now includes btree
      bcachefs: journal path now uses discard_opt_enabled()
      bcachefs: btree key cache asserts
      bcachefs: Optimize bch2_trans_start_alloc_update()
      bcachefs: kill copy in bch2_disk_accounting_mod()
      bcachefs: struct bch_fs_recovery
      bcachefs: __bch2_run_recovery_passes()
      bcachefs: Reduce usage of recovery.curr_pass
      bcachefs: bch2_recovery_pass_status_to_text()
      bcachefs: bch2_run_explicit_recovery_pass() cleanup
      bcachefs: Run recovery passes asynchronously
      bcachefs: Improve bucket_bitmap code
      bcachefs: bch2_check_bucket_backpointer_mismatch()
      bcachefs: fsck: Include loops in error messages
      bcachefs: fix bch2_debugfs_flush_buf() when tabstops are in use
      bcachefs: async objs now support bch_write_ops
      bcachefs: Make accounting mismatch errors more readable
      bcachefs: btree_trans_subbuf
      bcachefs: Split out accounting in transaction commit
      bcachefs: Coalesce accounting in trans commit
      bcachefs: Simplify bch2_extent_atomic_end()
      bcachefs: Call bch2_bkey_set_needs_rebalance() earlier in write path
      bcachefs: Don't set bi_casefold on non directories
      bcachefs: subvol_inum_eq()
      bcachefs: bch2_rename_trans() only runs rename-to-dir code if needed
      bcachefs: bch2_inum_snapshot_to_path()
      bcachefs: bch2_inode_find_by_inum_snapshot()
      bcachefs: BCH_INODE_has_case_insensitive
      bcachefs: fix duplicate printk
      bcachefs: fix bch2_inum_snapshot_to_path()
      bcachefs: Improve trace_trans_restart_upgrade
      bcachefs: Drop empty accounting updates
      bcachefs: Kill bkey_buf usage in data_update_index_update()
      bcachefs: bch2_trans_log_str()
      bcachefs: Reduce stack usage in data_update_index_update()
      bcachefs: bch2_journal_write_checksum()
      bcachefs: Kill bch2_path_put_nokeep()
      bcachefs: btree_node_locked_type_nowrite()
      bcachefs: Fix btree_path_get_locks when not doing trans restart
      bcachefs: Give out new path if upgrade fails
      bcachefs: bch2_path_get() reuses paths if upgrade_fails & !should_be_locked
      bcachefs: Clear should_be_locked before unlock in key_cache_drop()
      bcachefs: Clear trans->locked before unlock
      bcachefs: Plumb btree_trans for more locking asserts
      bcachefs: Simplify bch2_path_put()
      bcachefs: Path must be locked if trans->locked && should_be_locked
      bcachefs: Fix endianness in casefold check/repair
      bcachefs: Fix allocate -> self healing path
      bcachefs: Fix opts.recovery_pass_last
      bcachefs: Small check_fix_ptr fixes
      bcachefs: Ensure we don't use a blacklisted journal seq
      bcachefs: Fix btree_iter_next_node() for new locking asserts
      bcachefs: Don't mount bs > ps without TRANSPARENT_HUGEPAGE

Roxana Nicolescu (2):
      bcachefs: replace strncpy() with memcpy_and_pad in journal_transaction_name
      bcachefs: replace memcpy with memcpy_and_pad for jset_entry_log->d buff

 Documentation/filesystems/bcachefs/casefolding.rst |  18 +
 .../filesystems/bcachefs/future/idle_work.rst      |  78 +++
 Documentation/filesystems/bcachefs/index.rst       |   7 +
 fs/bcachefs/Kconfig                                |   8 +
 fs/bcachefs/Makefile                               |   4 +
 fs/bcachefs/alloc_background.c                     | 167 ++---
 fs/bcachefs/alloc_background.h                     |   1 +
 fs/bcachefs/alloc_foreground.c                     | 530 +++++++---------
 fs/bcachefs/alloc_foreground.h                     |  69 ++-
 fs/bcachefs/alloc_types.h                          |  16 -
 fs/bcachefs/async_objs.c                           | 132 ++++
 fs/bcachefs/async_objs.h                           |  44 ++
 fs/bcachefs/async_objs_types.h                     |  25 +
 fs/bcachefs/backpointers.c                         | 256 +++++---
 fs/bcachefs/backpointers.h                         |  14 +-
 fs/bcachefs/bcachefs.h                             | 225 +++----
 fs/bcachefs/bcachefs_format.h                      |  30 +-
 fs/bcachefs/bkey.c                                 |  47 +-
 fs/bcachefs/bkey.h                                 |   4 +-
 fs/bcachefs/bkey_methods.c                         |   2 +-
 fs/bcachefs/bset.c                                 |  64 +-
 fs/bcachefs/bset.h                                 |  22 +-
 fs/bcachefs/btree_cache.c                          | 184 +++---
 fs/bcachefs/btree_gc.c                             |  32 +-
 fs/bcachefs/btree_gc.h                             |   3 +-
 fs/bcachefs/btree_io.c                             | 346 ++++++-----
 fs/bcachefs/btree_io.h                             |  12 +-
 fs/bcachefs/btree_iter.c                           | 277 +++++----
 fs/bcachefs/btree_iter.h                           |  85 ++-
 fs/bcachefs/btree_key_cache.c                      |  36 +-
 fs/bcachefs/btree_locking.c                        | 196 +++---
 fs/bcachefs/btree_locking.h                        |  72 ++-
 fs/bcachefs/btree_node_scan.c                      |  18 +-
 fs/bcachefs/btree_trans_commit.c                   |  79 ++-
 fs/bcachefs/btree_types.h                          |  31 +-
 fs/bcachefs/btree_update.c                         |  74 ++-
 fs/bcachefs/btree_update.h                         |  68 ++-
 fs/bcachefs/btree_update_interior.c                |  50 +-
 fs/bcachefs/btree_update_interior.h                |   6 +-
 fs/bcachefs/btree_write_buffer.c                   |  20 +-
 fs/bcachefs/btree_write_buffer.h                   |   1 +
 fs/bcachefs/buckets.c                              |  69 ++-
 fs/bcachefs/chardev.c                              |   6 +-
 fs/bcachefs/checksum.c                             |   4 +-
 fs/bcachefs/checksum.h                             |   2 +
 fs/bcachefs/compress.c                             |   4 +-
 fs/bcachefs/darray.h                               |  13 +-
 fs/bcachefs/data_update.c                          | 207 ++++---
 fs/bcachefs/data_update.h                          |  15 +
 fs/bcachefs/debug.c                                |  85 +--
 fs/bcachefs/debug.h                                |  20 +-
 fs/bcachefs/dirent.c                               |  13 +-
 fs/bcachefs/disk_accounting.c                      | 111 ++--
 fs/bcachefs/disk_accounting.h                      |  12 +-
 fs/bcachefs/disk_groups.c                          | 123 ++--
 fs/bcachefs/ec.c                                   | 218 ++++---
 fs/bcachefs/ec.h                                   |   9 +-
 fs/bcachefs/ec_types.h                             |   7 +-
 fs/bcachefs/enumerated_ref.c                       | 144 +++++
 fs/bcachefs/enumerated_ref.h                       |  66 ++
 fs/bcachefs/enumerated_ref_types.h                 |  19 +
 fs/bcachefs/errcode.h                              |   7 +-
 fs/bcachefs/error.c                                | 113 ++--
 fs/bcachefs/error.h                                |  15 +-
 fs/bcachefs/extent_update.c                        |  67 +-
 fs/bcachefs/extent_update.h                        |   2 +-
 fs/bcachefs/extents.c                              | 136 ++++-
 fs/bcachefs/extents.h                              |   3 +
 fs/bcachefs/extents_types.h                        |   1 +
 fs/bcachefs/fast_list.c                            | 156 +++++
 fs/bcachefs/fast_list.h                            |  41 ++
 fs/bcachefs/fs-io-direct.c                         |   7 +-
 fs/bcachefs/fs-io.c                                |  26 +-
 fs/bcachefs/fs-ioctl.c                             |  14 +-
 fs/bcachefs/fs.c                                   |  30 +-
 fs/bcachefs/fsck.c                                 | 376 ++++++------
 fs/bcachefs/inode.c                                | 128 ++--
 fs/bcachefs/inode.h                                |  35 +-
 fs/bcachefs/inode_format.h                         |   7 +-
 fs/bcachefs/io_read.c                              | 309 +++++++---
 fs/bcachefs/io_read.h                              |  19 +-
 fs/bcachefs/io_write.c                             |  58 +-
 fs/bcachefs/io_write.h                             |  28 -
 fs/bcachefs/io_write_types.h                       |  32 +
 fs/bcachefs/journal.c                              |  86 ++-
 fs/bcachefs/journal.h                              |   3 +-
 fs/bcachefs/journal_io.c                           | 171 +++---
 fs/bcachefs/journal_reclaim.c                      |  39 +-
 fs/bcachefs/journal_seq_blacklist.c                |  10 +
 fs/bcachefs/journal_seq_blacklist.h                |   1 +
 fs/bcachefs/journal_types.h                        |   2 -
 fs/bcachefs/migrate.c                              | 117 +++-
 fs/bcachefs/migrate.h                              |   3 +-
 fs/bcachefs/move.c                                 | 201 ++++--
 fs/bcachefs/move.h                                 |  17 +-
 fs/bcachefs/move_types.h                           |   8 +-
 fs/bcachefs/movinggc.c                             | 217 +++----
 fs/bcachefs/movinggc.h                             |   2 +-
 fs/bcachefs/namei.c                                | 258 ++++++--
 fs/bcachefs/namei.h                                |   7 +
 fs/bcachefs/nocow_locking.c                        |   4 +-
 fs/bcachefs/nocow_locking.h                        |   2 +-
 fs/bcachefs/opts.c                                 | 170 +++++-
 fs/bcachefs/opts.h                                 |  38 +-
 fs/bcachefs/rebalance.c                            | 224 ++++++-
 fs/bcachefs/rebalance.h                            |   6 +-
 fs/bcachefs/rebalance_types.h                      |   5 +
 fs/bcachefs/recovery.c                             | 134 ++--
 fs/bcachefs/recovery.h                             |   3 +-
 fs/bcachefs/recovery_passes.c                      | 599 +++++++++++++-----
 fs/bcachefs/recovery_passes.h                      |  26 +-
 fs/bcachefs/recovery_passes_format.h               | 104 ++++
 fs/bcachefs/recovery_passes_types.h                |  93 +--
 fs/bcachefs/reflink.c                              |   5 +-
 fs/bcachefs/sb-counters_format.h                   |   2 +
 fs/bcachefs/sb-downgrade.c                         |   9 +-
 fs/bcachefs/sb-errors_format.h                     |   2 +-
 fs/bcachefs/sb-members.c                           |  77 ++-
 fs/bcachefs/sb-members.h                           |  62 +-
 fs/bcachefs/sb-members_format.h                    |   6 +
 fs/bcachefs/sb-members_types.h                     |   1 +
 fs/bcachefs/snapshot.c                             | 503 +++++++++++----
 fs/bcachefs/snapshot.h                             |  35 +-
 fs/bcachefs/snapshot_format.h                      |   4 +-
 fs/bcachefs/snapshot_types.h                       |  57 ++
 fs/bcachefs/str_hash.c                             | 137 +++--
 fs/bcachefs/str_hash.h                             |  10 +-
 fs/bcachefs/subvolume.c                            |  63 +-
 fs/bcachefs/subvolume.h                            |   5 +-
 fs/bcachefs/subvolume_types.h                      |  27 -
 fs/bcachefs/super-io.c                             |  63 +-
 fs/bcachefs/super-io.h                             |   1 +
 fs/bcachefs/super.c                                | 678 ++++++++++++++-------
 fs/bcachefs/super.h                                |   9 +-
 fs/bcachefs/sysfs.c                                | 108 ++--
 fs/bcachefs/trace.h                                |  58 +-
 fs/bcachefs/util.c                                 |  41 +-
 fs/bcachefs/util.h                                 |  17 +-
 fs/bcachefs/xattr.c                                |  23 +-
 fs/bcachefs/xattr.h                                |   4 +-
 fs/bcachefs/xattr_format.h                         |   4 +-
 141 files changed, 7129 insertions(+), 3542 deletions(-)
 create mode 100644 Documentation/filesystems/bcachefs/future/idle_work.rst
 create mode 100644 fs/bcachefs/async_objs.c
 create mode 100644 fs/bcachefs/async_objs.h
 create mode 100644 fs/bcachefs/async_objs_types.h
 create mode 100644 fs/bcachefs/enumerated_ref.c
 create mode 100644 fs/bcachefs/enumerated_ref.h
 create mode 100644 fs/bcachefs/enumerated_ref_types.h
 create mode 100644 fs/bcachefs/fast_list.c
 create mode 100644 fs/bcachefs/fast_list.h
 create mode 100644 fs/bcachefs/recovery_passes_format.h
 create mode 100644 fs/bcachefs/snapshot_types.h

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ