# git rev-parse -q --verify cef27048e5c2f88677a647c336fae490e9c5492a^{commit} cef27048e5c2f88677a647c336fae490e9c5492a already have revision, skipping fetch # git checkout -q -f -B kisskb cef27048e5c2f88677a647c336fae490e9c5492a # git clean -qxdf # < git log -1 # commit cef27048e5c2f88677a647c336fae490e9c5492a # Merge: 3fdfcd98f002 ad29cf999a91 # Author: Linus Torvalds # Date: Mon Apr 15 11:01:11 2024 -0700 # # Merge tag 'bcachefs-2024-04-15' of https://evilpiepirate.org/git/bcachefs # # Pull yet more bcachefs fixes from Kent Overstreet: # "This gets recovery working again for the affected user I've been # working with, and I'm still waiting to hear back on other bug reports # but should fix it for everyone else who's been having issues with # recovery. # # - Various recovery fixes: # # - fixes for the btree_insert_entry being resized on path # allocation btree_path array recently became dynamically # resizable, and btree_insert_entry along with it; this was being # observed during journal replay, when write buffer btree updates # don't use the write buffer and instead use the normal btree # update path # # - multiple fixes for deadlock in recovery when we need to do lots # of btree node merges; excessive merges were clocking up the # whole pipeline # # - write buffer path now correctly does btree node merges when # needed # # - fix failure to go RW when superblock indicates recovery passes # needed (i.e. to complete an unfinished upgrade) # # - Various unsafety fixes - test case contributed by a user who had # two drives out of a six drive array write out a whole bunch of # garbage after power failure # # - New (tiny) on disk format feature: since it appears the btree node # scan tool will be a more regular thing (crappy hardware, user # error) - this adds a 64 bit per-device bitmap of regions that have # ever had btree nodes. # # - A path->should_be_locked fix, from a larger patch series tightening # up invariants and assertions around btree transaction and path # locking state. # # This particular fix prevents us from keeping around btree_paths # that are no longer needed" # # * tag 'bcachefs-2024-04-15' of https://evilpiepirate.org/git/bcachefs: (24 commits) # bcachefs: set_btree_iter_dontneed also clears should_be_locked # bcachefs: fix error path of __bch2_read_super() # bcachefs: Check for backpointer bucket_offset >= bucket size # bcachefs: bch_member.btree_allocated_bitmap # bcachefs: sysfs internal/trigger_journal_flush # bcachefs: Fix bch2_btree_node_fill() for !path # bcachefs: add safety checks in bch2_btree_node_fill() # bcachefs: Interior known are required to have known key types # bcachefs: add missing bounds check in __bch2_bkey_val_invalid() # bcachefs: Fix btree node merging on write buffer btrees # bcachefs: Disable merges from interior update path # bcachefs: Run merges at BCH_WATERMARK_btree # bcachefs: Fix missing write refs in fs fio paths # bcachefs: Fix deadlock in journal replay # bcachefs: Go rw if running any explicit recovery passes # bcachefs: Standardize helpers for printing enum strs with bounds checks # bcachefs: don't queue btree nodes for rewrites during scan # bcachefs: fix race in bch2_btree_node_evict() # bcachefs: fix unsafety in bch2_stripe_to_text() # bcachefs: fix unsafety in bch2_extent_ptr_to_text() # ... # < /opt/cross/kisskb/korg/gcc-8.5.0-nolibc/m68k-linux/bin/m68k-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.5.0-nolibc/m68k-linux/bin/m68k-linux-ld --version # < git log --format=%s --max-count=1 cef27048e5c2f88677a647c336fae490e9c5492a # make -s -j 40 ARCH=m68k O=/kisskb/build/linus_allmodconfig_m68k-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/m68k-linux/bin/m68k-linux- allmodconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_SAMPLES=n # < make -s -j 40 ARCH=m68k O=/kisskb/build/linus_allmodconfig_m68k-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/m68k-linux/bin/m68k-linux- help # make -s -j 40 ARCH=m68k O=/kisskb/build/linus_allmodconfig_m68k-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/m68k-linux/bin/m68k-linux- olddefconfig # make -s -j 40 ARCH=m68k O=/kisskb/build/linus_allmodconfig_m68k-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/m68k-linux/bin/m68k-linux- /kisskb/src/fs/bcachefs/btree_io.c: In function 'validate_bset_keys': /kisskb/src/fs/bcachefs/btree_io.c:891:6: error: format '%lu' expects argument of type 'long unsigned int', but argument 12 has type 'unsigned int' [-Werror=format=] "bad k->u64s %u (min %u max %lu)", k->u64s, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /kisskb/src/fs/bcachefs/btree_io.c:603:11: note: in definition of macro 'btree_err' msg, ##__VA_ARGS__); \ ^~~ /kisskb/src/fs/bcachefs/btree_io.c:887:7: note: in expansion of macro 'btree_err_on' if (btree_err_on(!bkeyp_u64s_valid(&b->format, k), ^~~~~~~~~~~~ cc1: all warnings being treated as errors make[5]: *** [/kisskb/src/scripts/Makefile.build:244: fs/bcachefs/btree_io.o] Error 1 make[5]: *** Waiting for unfinished jobs.... make[4]: *** [/kisskb/src/scripts/Makefile.build:485: fs/bcachefs] Error 2 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [/kisskb/src/scripts/Makefile.build:485: fs] Error 2 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/Makefile:1919: .] Error 2 make[1]: *** [/kisskb/src/Makefile:240: __sub-make] Error 2 make: *** [Makefile:240: __sub-make] Error 2 Command 'make -s -j 40 ARCH=m68k O=/kisskb/build/linus_allmodconfig_m68k-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/m68k-linux/bin/m68k-linux- ' returned non-zero exit status 2. # rm -rf /kisskb/build/linus_allmodconfig_m68k-gcc8 # Build took: 0:06:05.618607