# git rev-parse -q --verify 720261cfc7329406a50c2a8536e0039b9dd9a4e5^{commit} 720261cfc7329406a50c2a8536e0039b9dd9a4e5 already have revision, skipping fetch # git checkout -q -f -B kisskb 720261cfc7329406a50c2a8536e0039b9dd9a4e5 # git clean -qxdf # < git log -1 # commit 720261cfc7329406a50c2a8536e0039b9dd9a4e5 # Merge: 4f40c636b291 a97b43fac5b9 # Author: Linus Torvalds # Date: Thu Jul 18 17:27:43 2024 -0700 # # Merge tag 'bcachefs-2024-07-18.2' of https://evilpiepirate.org/git/bcachefs # # Pull bcachefs updates from Kent Overstreet: # # - Metadata version 1.8: Stripe sectors accounting, BCH_DATA_unstriped # # This splits out the accounting of dirty sectors and stripe sectors in # alloc keys; this lets us see stripe buckets that still have unstriped # data in them. # # This is needed for ensuring that erasure coding is working correctly, # as well as completing stripe creation after a crash. # # - Metadata version 1.9: Disk accounting rewrite # # The previous disk accounting scheme relied heavily on percpu counters # that were also sharded by outstanding journal buffer; it was fast but # not extensible or scalable, and meant that all accounting counters # were recorded in every journal entry. # # The new disk accounting scheme stores accounting as normal btree # keys; updates are deltas until they are flushed by the btree write # buffer. # # This means we have no practical limit on the number of counters, and # a new tagged union format that's easy to extend. # # We now have counters for compression type/ratio, per-snapshot-id # usage, per-btree-id usage, and pending rebalance work. # # - Self healing on read IO/checksum error # # Data is now automatically rewritten if we get a read error and then a # successful retry # # - Mount API conversion (thanks to Thomas Bertschinger) # # - Better lockdep coverage # # Previously, btree node locks were tracked individually by lockdep, # like any other lock. But we may take _many_ btree node locks # simultaneously, we easily blow through the limit of 48 locks that # lockdep can track, leading to lockdep turning itself off. # # Tracking each btree node lock individually isn't really necessary # since we have our own cycle detector for deadlock avoidance and # centralized tracking of btree node locks, so we now have a single # lockdep_map in btree_trans for "any btree nodes are locked". # # - Some more small incremental work towards online check_allocations # # - Lots more debugging improvements # # - Fixes, including: # - undefined behaviour fixes, originally noted as breaking userspace # LTO builds # - fix a spurious warning in fsck_err, reported by Marcin # - fix an integer overflow on trans->nr_updates, also reported by # Marcin; this broke during deletion of highly fragmented indirect # extents # # * tag 'bcachefs-2024-07-18.2' of https://evilpiepirate.org/git/bcachefs: (120 commits) # lockdep: Add comments for lockdep_set_no{validate,track}_class() # bcachefs: Fix integer overflow on trans->nr_updates # bcachefs: silence silly kdoc warning # bcachefs: Fix fsck warning about btree_trans not passed to fsck error # bcachefs: Add an error message for insufficient rw journal devs # bcachefs: varint: Avoid left-shift of a negative value # bcachefs: darray: Don't pass NULL to memcpy() # bcachefs: Kill bch2_assert_btree_nodes_not_locked() # bcachefs: Rename BCH_WRITE_DONE -> BCH_WRITE_SUBMITTED # bcachefs: __bch2_read(): call trans_begin() on every loop iter # bcachefs: show none if label is not set # bcachefs: drop packed, aligned from bkey_inode_buf # bcachefs: btree node scan: fall back to comparing by journal seq # bcachefs: Add lockdep support for btree node locks # lockdep: lockdep_set_notrack_class() # bcachefs: Improve copygc_wait_to_text() # bcachefs: Convert clock code to u64s # bcachefs: Improve startup message # bcachefs: Self healing on read IO error # bcachefs: Make read_only a mount option again, but hidden # ... # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux-ld --version # < git log --format=%s --max-count=1 720261cfc7329406a50c2a8536e0039b9dd9a4e5 # make -s -j 160 ARCH=s390 O=/kisskb/build/linus_allyesconfig_s390x-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux- allyesconfig # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_KCOV=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_SAMPLES=n # < make -s -j 160 ARCH=s390 O=/kisskb/build/linus_allyesconfig_s390x-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux- help # make -s -j 160 ARCH=s390 O=/kisskb/build/linus_allyesconfig_s390x-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux- olddefconfig # make -s -j 160 ARCH=s390 O=/kisskb/build/linus_allyesconfig_s390x-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux- In file included from : In function 'fbnic_config_drop_mode_rcq', inlined from 'fbnic_enable' at /kisskb/src/drivers/net/ethernet/meta/fbnic/fbnic_txrx.c:1836:4: /kisskb/src/include/linux/compiler_types.h:510:45: error: call to '__compiletime_assert_919' declared with attribute error: FIELD_PREP: value too large for the field 510 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^ /kisskb/src/include/linux/compiler_types.h:491:25: note: in definition of macro '__compiletime_assert' 491 | prefix ## suffix(); \ | ^~~~~~ /kisskb/src/include/linux/compiler_types.h:510:9: note: in expansion of macro '_compiletime_assert' 510 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ /kisskb/src/include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert' 39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ^~~~~~~~~~~~~~~~~~ /kisskb/src/include/linux/bitfield.h:68:17: note: in expansion of macro 'BUILD_BUG_ON_MSG' 68 | BUILD_BUG_ON_MSG(__builtin_constant_p(_val) ? \ | ^~~~~~~~~~~~~~~~ /kisskb/src/include/linux/bitfield.h:115:17: note: in expansion of macro '__BF_FIELD_CHECK' 115 | __BF_FIELD_CHECK(_mask, 0ULL, _val, "FIELD_PREP: "); \ | ^~~~~~~~~~~~~~~~ /kisskb/src/drivers/net/ethernet/meta/fbnic/fbnic_txrx.c:1773:13: note: in expansion of macro 'FIELD_PREP' 1773 | FIELD_PREP(FBNIC_QUEUE_RDE_CTL0_MIN_TROOM_MASK, FBNIC_RX_TROOM); | ^~~~~~~~~~ make[8]: *** [/kisskb/src/scripts/Makefile.build:244: drivers/net/ethernet/meta/fbnic/fbnic_txrx.o] Error 1 make[7]: *** [/kisskb/src/scripts/Makefile.build:485: drivers/net/ethernet/meta/fbnic] Error 2 make[6]: *** [/kisskb/src/scripts/Makefile.build:485: drivers/net/ethernet/meta] Error 2 make[6]: *** Waiting for unfinished jobs.... make[5]: *** [/kisskb/src/scripts/Makefile.build:485: drivers/net/ethernet] Error 2 make[4]: *** [/kisskb/src/scripts/Makefile.build:485: drivers/net] Error 2 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [/kisskb/src/scripts/Makefile.build:485: drivers] Error 2 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/Makefile:1934: .] Error 2 make[1]: *** [/kisskb/src/Makefile:240: __sub-make] Error 2 make: *** [Makefile:240: __sub-make] Error 2 Command 'make -s -j 160 ARCH=s390 O=/kisskb/build/linus_allyesconfig_s390x-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux- ' returned non-zero exit status 2. # rm -rf /kisskb/build/linus_allyesconfig_s390x-gcc13 # Build took: 0:12:10.332206