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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <xu2afkq5jhn62z3juxkbvs2idoyldruyv3h65ympwx2svbgjia@2qqk5e6pcdoc>
Date: Fri, 16 Aug 2024 21:20:03 -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 fixes for 6.11-rc4

Hi Linus, fresh batch of fixes for you.

We still have one regression from the disk accounting rewrite
outstanding: we have a user reporting that the checks in
bch2_accounting_validate() are firing, and in a codepath where that
shouldn't be possible. Something funny is going on.

Aside from that, everything is looking good for 6.11, and I expect we'll
have that one resolved soon.

The following changes since commit 8a2491db7bea6ad88ec568731eafd583501f1c96:

  bcachefs: bcachefs_metadata_version_disk_accounting_v3 (2024-08-09 19:21:28 -0400)

are available in the Git repository at:

  git://evilpiepirate.org/bcachefs.git tags/bcachefs-2024-08-16

for you to fetch changes up to 0e49d3ff12501adaafaf6fdb19699f021d1eda1c:

  bcachefs: Fix locking in __bch2_trans_mark_dev_sb() (2024-08-16 20:45:15 -0400)

----------------------------------------------------------------
bcachefs fixes for 6.11-rc4

- New on disk format version, bcachefs_metadata_version_disk_accounting_inum

This adds one more disk accounting counter, which counts disk usage and
number of extents per inode number. This lets us track fragmentation,
for implementing defragmentation later, and it also counts disk usage
per inode in all snapshots, which will be a useful thing to expose to
users.

- One performance issue we've observed is threads spinning when they
should be waiting for dirty keys in the key cache to be flushed by
journal reclaim, so we now have hysteresis for the waiting thread, as
well as improving the tracepoint and a new time_stat, for tracking time
blocked waiting on key cache flushing.

And, various assorted smaller fixes.

----------------------------------------------------------------
Kent Overstreet (19):
      bcachefs: delete faulty fastpath in bch2_btree_path_traverse_cached()
      bcachefs: Fix bch2_trigger_alloc when upgrading from old versions
      bcachefs: bch2_accounting_invalid() fixup
      bcachefs: disk accounting: ignore unknown types
      bcachefs: Add missing downgrade table entry
      bcachefs: Convert for_each_btree_node() to lockrestart_do()
      lib/generic-radix-tree.c: Fix rare race in __genradix_ptr_alloc()
      bcachefs: Add hysteresis to waiting on btree key cache flush
      bcachefs: Improve trans_blocked_journal_reclaim tracepoint
      bcachefs: Add a time_stat for blocked on key cache flush
      bcachefs: Fix warning in __bch2_fsck_err() for trans not passed in
      bcachefs: Make bkey_fsck_err() a wrapper around fsck_err()
      bcachefs: Kill __bch2_accounting_mem_mod()
      bcachefs: bcachefs_metadata_version_disk_accounting_inum
      bcachefs: Increase size of cuckoo hash table on too many rehashes
      bcachefs: Fix forgetting to pass trans to fsck_err()
      bcachefs: avoid overflowing LRU_TIME_BITS for cached data lru
      bcachefs: fix incorrect i_state usage
      bcachefs: Fix locking in __bch2_trans_mark_dev_sb()

 fs/bcachefs/alloc_background.c            |  77 ++++++++--------
 fs/bcachefs/alloc_background.h            |  30 +++----
 fs/bcachefs/backpointers.c                |  23 ++---
 fs/bcachefs/backpointers.h                |   5 +-
 fs/bcachefs/bcachefs.h                    |   1 +
 fs/bcachefs/bcachefs_format.h             |   3 +-
 fs/bcachefs/bkey.h                        |   7 +-
 fs/bcachefs/bkey_methods.c                | 109 +++++++++++-----------
 fs/bcachefs/bkey_methods.h                |  21 +++--
 fs/bcachefs/btree_gc.c                    |   5 +-
 fs/bcachefs/btree_io.c                    |  69 +++++---------
 fs/bcachefs/btree_iter.c                  |   1 +
 fs/bcachefs/btree_iter.h                  |  42 +++++----
 fs/bcachefs/btree_key_cache.c             |   5 --
 fs/bcachefs/btree_key_cache.h             |  18 +++-
 fs/bcachefs/btree_node_scan.c             |   2 +-
 fs/bcachefs/btree_trans_commit.c          |  82 +++++------------
 fs/bcachefs/btree_update_interior.c       |  16 +---
 fs/bcachefs/buckets.c                     |  30 +++++--
 fs/bcachefs/buckets_waiting_for_journal.c |  11 ++-
 fs/bcachefs/data_update.c                 |   6 +-
 fs/bcachefs/debug.c                       |  38 ++------
 fs/bcachefs/dirent.c                      |  33 ++++---
 fs/bcachefs/dirent.h                      |   5 +-
 fs/bcachefs/disk_accounting.c             |  34 ++++---
 fs/bcachefs/disk_accounting.h             |  60 ++++++-------
 fs/bcachefs/disk_accounting_format.h      |   8 +-
 fs/bcachefs/ec.c                          |  15 ++--
 fs/bcachefs/ec.h                          |   5 +-
 fs/bcachefs/errcode.h                     |   1 +
 fs/bcachefs/error.c                       |  22 +++++
 fs/bcachefs/error.h                       |  39 ++++----
 fs/bcachefs/extents.c                     | 144 +++++++++++++++---------------
 fs/bcachefs/extents.h                     |  24 ++---
 fs/bcachefs/fs.c                          |   2 +-
 fs/bcachefs/inode.c                       |  77 ++++++++--------
 fs/bcachefs/inode.h                       |  24 ++---
 fs/bcachefs/journal_io.c                  |  24 ++---
 fs/bcachefs/lru.c                         |   9 +-
 fs/bcachefs/lru.h                         |   5 +-
 fs/bcachefs/quota.c                       |   8 +-
 fs/bcachefs/quota.h                       |   5 +-
 fs/bcachefs/reflink.c                     |  19 ++--
 fs/bcachefs/reflink.h                     |  22 ++---
 fs/bcachefs/sb-downgrade.c                |   6 +-
 fs/bcachefs/snapshot.c                    |  42 +++++----
 fs/bcachefs/snapshot.h                    |  11 ++-
 fs/bcachefs/subvolume.c                   |  16 ++--
 fs/bcachefs/subvolume.h                   |   5 +-
 fs/bcachefs/trace.c                       |   1 +
 fs/bcachefs/trace.h                       |  27 +++++-
 fs/bcachefs/xattr.c                       |  21 +++--
 fs/bcachefs/xattr.h                       |   5 +-
 lib/generic-radix-tree.c                  |   2 +
 54 files changed, 650 insertions(+), 672 deletions(-)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ