Re: [GIT PULL] bcachefs new years fixes for 6.7

From: Luna Jernberg
Date: Sun Jan 14 2024 - 21:25:51 EST


Hey!

Listening to you in Linux Unplugged #545 now:
https://jupiter.tube/w/mug8WfikZs3T5aXyTGTbCF the bcachefs part of the
show starts in around 1,5 hour in

Den mån 1 jan. 2024 kl 16:57 skrev Kent Overstreet <kent.overstreet@xxxxxxxxx>:
>
> Hi Linus, some more fixes for you, and some compatibility work so that
> 6.7 will be able to handle the disk space accounting rewrite when it
> rolls out.
>
> Happy new year!
>
> The following changes since commit 453f5db0619e2ad64076aab16ff5a00e0f7c53a2:
>
> Merge tag 'trace-v6.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace (2023-12-30 11:37:35 -0800)
>
> are available in the Git repository at:
>
> https://evilpiepirate.org/git/bcachefs.git tags/bcachefs-2024-01-01
>
> for you to fetch changes up to 0d72ab35a925d66b044cb62b709e53141c3f0143:
>
> bcachefs: make RO snapshots actually RO (2024-01-01 11:47:07 -0500)
>
> ----------------------------------------------------------------
> More bcachefs bugfixes for 6.7, and forwards compatibility work:
>
> - fix for a nasty extents + snapshot interaction, reported when reflink
> of a snapshotted file wouldn't complete but turned out to be a more
> general bug
> - fix for an invalid free in dio write path when iov vector was longer
> than our inline vecotr
> - fix for a buffer overflow in the nocow write path - BCH_REPLICAS_MAX
> doesn't actually limit the number of pointers in an extent when
> cached pointers are included
> - RO snapshots are actually RO now
> - And, a new superblock section to avoid future breakage when the disk
> space acounting rewrite rolls out: the new superblock section
> describes versions that need work to downgrade, where the work
> required is a list of recovery passes and errors to silently fix.
>
> ----------------------------------------------------------------
> Kent Overstreet (13):
> bcachefs: Fix extents iteration + snapshots interaction
> bcachefs: fix invalid free in dio write path
> bcachefs: fix setting version_upgrade_complete
> bcachefs: Factor out darray resize slowpath
> bcachefs: Switch darray to kvmalloc()
> bcachefs: DARRAY_PREALLOCATED()
> bcachefs: fix buffer overflow in nocow write path
> bcachefs: move BCH_SB_ERRS() to sb-errors_types.h
> bcachefs: prt_bitflags_vector()
> bcachefs: Add persistent identifiers for recovery passes
> bcachefs: bch_sb.recovery_passes_required
> bcachefs: bch_sb_field_downgrade
> bcachefs: make RO snapshots actually RO
>
> fs/bcachefs/Makefile | 2 +
> fs/bcachefs/acl.c | 3 +-
> fs/bcachefs/bcachefs.h | 1 +
> fs/bcachefs/bcachefs_format.h | 51 ++++++---
> fs/bcachefs/btree_iter.c | 35 ++++--
> fs/bcachefs/darray.c | 24 ++++
> fs/bcachefs/darray.h | 48 +++++---
> fs/bcachefs/errcode.h | 3 +
> fs/bcachefs/error.c | 3 +
> fs/bcachefs/fs-io-direct.c | 13 +--
> fs/bcachefs/fs-ioctl.c | 12 +-
> fs/bcachefs/fs.c | 38 ++++++-
> fs/bcachefs/io_write.c | 82 +++++++-------
> fs/bcachefs/printbuf.c | 22 ++++
> fs/bcachefs/printbuf.h | 2 +
> fs/bcachefs/recovery.c | 137 +++++++++++++++++++----
> fs/bcachefs/recovery.h | 3 +
> fs/bcachefs/recovery_types.h | 86 ++++++++------
> fs/bcachefs/sb-clean.c | 2 -
> fs/bcachefs/sb-downgrade.c | 188 +++++++++++++++++++++++++++++++
> fs/bcachefs/sb-downgrade.h | 10 ++
> fs/bcachefs/sb-errors.c | 6 +-
> fs/bcachefs/sb-errors.h | 253 +-----------------------------------------
> fs/bcachefs/sb-errors_types.h | 253 ++++++++++++++++++++++++++++++++++++++++++
> fs/bcachefs/subvolume.c | 18 +++
> fs/bcachefs/subvolume.h | 3 +
> fs/bcachefs/super-io.c | 86 +++++++++++++-
> fs/bcachefs/super-io.h | 12 +-
> fs/bcachefs/util.h | 1 +
> fs/bcachefs/xattr.c | 3 +-
> 30 files changed, 977 insertions(+), 423 deletions(-)
> create mode 100644 fs/bcachefs/darray.c
> create mode 100644 fs/bcachefs/sb-downgrade.c
> create mode 100644 fs/bcachefs/sb-downgrade.h
>