This is a note to let you know that I've just added the patch titled bcachefs: fix simulateously upgrading & downgrading to the 6.7-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: bcachefs-fix-simulateously-upgrading-downgrading.patch and it can be found in the queue-6.7 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 2d9720d70a26032492ad3a82765cdfaaf4bd038d Mon Sep 17 00:00:00 2001 From: Kent Overstreet <kent.overstreet@xxxxxxxxx> Date: Fri, 5 Jan 2024 19:04:42 -0500 Subject: bcachefs: fix simulateously upgrading & downgrading From: Kent Overstreet <kent.overstreet@xxxxxxxxx> commit e7999235e6c437b99fad03d8301a4341be0d2bb5 upstream. Signed-off-by: Kent Overstreet <kent.overstreet@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- fs/bcachefs/super-io.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) --- a/fs/bcachefs/super-io.c +++ b/fs/bcachefs/super-io.c @@ -1085,13 +1085,22 @@ bool bch2_check_version_downgrade(struct /* * Downgrade, if superblock is at a higher version than currently * supported: + * + * c->sb will be checked before we write the superblock, so update it as + * well: */ - if (BCH_SB_VERSION_UPGRADE_COMPLETE(c->disk_sb.sb) > bcachefs_metadata_version_current) + if (BCH_SB_VERSION_UPGRADE_COMPLETE(c->disk_sb.sb) > bcachefs_metadata_version_current) { SET_BCH_SB_VERSION_UPGRADE_COMPLETE(c->disk_sb.sb, bcachefs_metadata_version_current); - if (c->sb.version > bcachefs_metadata_version_current) + c->sb.version_upgrade_complete = bcachefs_metadata_version_current; + } + if (c->sb.version > bcachefs_metadata_version_current) { c->disk_sb.sb->version = cpu_to_le16(bcachefs_metadata_version_current); - if (c->sb.version_min > bcachefs_metadata_version_current) + c->sb.version = bcachefs_metadata_version_current; + } + if (c->sb.version_min > bcachefs_metadata_version_current) { c->disk_sb.sb->version_min = cpu_to_le16(bcachefs_metadata_version_current); + c->sb.version_min = bcachefs_metadata_version_current; + } c->disk_sb.sb->compat[0] &= cpu_to_le64((1ULL << BCH_COMPAT_NR) - 1); return ret; } Patches currently in stable-queue which might be from kent.overstreet@xxxxxxxxx are queue-6.7/bcachefs-check-for-failure-to-downgrade.patch queue-6.7/bcachefs-install-fd-later-to-avoid-race-with-close.patch queue-6.7/bcachefs-fix-simulateously-upgrading-downgrading.patch queue-6.7/bcachefs-fix-btree_iter_filter_snapshots-on-inodes-btree.patch queue-6.7/bcachefs-fix-build-on-parisc-by-avoiding-__multi3.patch