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 >