# 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/x86_64-linux/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 cef27048e5c2f88677a647c336fae490e9c5492a # make -s -j 40 ARCH=x86_64 O=/kisskb/build/linus_defconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- defconfig # < make -s -j 40 ARCH=x86_64 O=/kisskb/build/linus_defconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- help # make -s -j 40 ARCH=x86_64 O=/kisskb/build/linus_defconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- olddefconfig # make -s -j 40 ARCH=x86_64 O=/kisskb/build/linus_defconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- Completed OK # rm -rf /kisskb/build/linus_defconfig_x86_64-gcc8 # Build took: 0:01:33.012280