# 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/x86-64--glibc--bleeding-edge-2022.08-1/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/x86-64--glibc--bleeding-edge-2022.08-1/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 720261cfc7329406a50c2a8536e0039b9dd9a4e5 # make -s -j 40 ARCH=um O=/kisskb/build/linus_allmodconfig_um-x86_64-gcc12 CROSS_COMPILE=/opt/cross/kisskb/x86-64--glibc--bleeding-edge-2022.08-1/bin/x86_64-linux- SUBARCH=x86_64 allmodconfig # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_KCOV=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_GCC_PLUGIN_CYC_COMPLEXITY=n # Added to kconfig CONFIG_GCC_PLUGIN_SANCOV=n # Added to kconfig CONFIG_GCC_PLUGIN_LATENT_ENTROPY=n # Added to kconfig CONFIG_GCC_PLUGIN_STRUCTLEAK=n # Added to kconfig CONFIG_GCC_PLUGIN_RANDSTRUCT=n # Added to kconfig CONFIG_UML_NET=n # Added to kconfig CONFIG_UML_NET_ETHERTAP=n # Added to kconfig CONFIG_UML_NET_TUNTAP=n # Added to kconfig CONFIG_UML_NET_SLIP=n # Added to kconfig CONFIG_UML_NET_DAEMON=n # Added to kconfig CONFIG_UML_NET_VDE=n # Added to kconfig CONFIG_UML_NET_MCAST=n # Added to kconfig CONFIG_UML_NET_PCAP=n # Added to kconfig CONFIG_UML_NET_SLIRP=n # Added to kconfig CONFIG_GCOV_KERNEL=n # Added to kconfig CONFIG_DEBUG_INFO_BTF=n # Added to kconfig CONFIG_BPF_PRELOAD=n # Added to kconfig CONFIG_SPI_STM32_QSPI=n # < make -s -j 40 ARCH=um O=/kisskb/build/linus_allmodconfig_um-x86_64-gcc12 CROSS_COMPILE=/opt/cross/kisskb/x86-64--glibc--bleeding-edge-2022.08-1/bin/x86_64-linux- SUBARCH=x86_64 help # make -s -j 40 ARCH=um O=/kisskb/build/linus_allmodconfig_um-x86_64-gcc12 CROSS_COMPILE=/opt/cross/kisskb/x86-64--glibc--bleeding-edge-2022.08-1/bin/x86_64-linux- SUBARCH=x86_64 olddefconfig .config:14288:warning: override: reassigning to symbol GCC_PLUGIN_LATENT_ENTROPY .config:14292:warning: override: reassigning to symbol UML_NET_ETHERTAP .config:14294:warning: override: reassigning to symbol UML_NET_SLIP .config:14299:warning: override: reassigning to symbol UML_NET_SLIRP # make -s -j 40 ARCH=um O=/kisskb/build/linus_allmodconfig_um-x86_64-gcc12 CROSS_COMPILE=/opt/cross/kisskb/x86-64--glibc--bleeding-edge-2022.08-1/bin/x86_64-linux- SUBARCH=x86_64 /kisskb/src/lib/iomap.c:156:5: error: no previous prototype for ‘ioread64_lo_hi’ [-Werror=missing-prototypes] 156 | u64 ioread64_lo_hi(const void __iomem *addr) | ^~~~~~~~~~~~~~ /kisskb/src/lib/iomap.c:163:5: error: no previous prototype for ‘ioread64_hi_lo’ [-Werror=missing-prototypes] 163 | u64 ioread64_hi_lo(const void __iomem *addr) | ^~~~~~~~~~~~~~ /kisskb/src/lib/iomap.c:170:5: error: no previous prototype for ‘ioread64be_lo_hi’ [-Werror=missing-prototypes] 170 | u64 ioread64be_lo_hi(const void __iomem *addr) | ^~~~~~~~~~~~~~~~ /kisskb/src/lib/iomap.c:178:5: error: no previous prototype for ‘ioread64be_hi_lo’ [-Werror=missing-prototypes] 178 | u64 ioread64be_hi_lo(const void __iomem *addr) | ^~~~~~~~~~~~~~~~ /kisskb/src/lib/iomap.c:264:6: error: no previous prototype for ‘iowrite64_lo_hi’ [-Werror=missing-prototypes] 264 | void iowrite64_lo_hi(u64 val, void __iomem *addr) | ^~~~~~~~~~~~~~~ /kisskb/src/lib/iomap.c:272:6: error: no previous prototype for ‘iowrite64_hi_lo’ [-Werror=missing-prototypes] 272 | void iowrite64_hi_lo(u64 val, void __iomem *addr) | ^~~~~~~~~~~~~~~ /kisskb/src/lib/iomap.c:280:6: error: no previous prototype for ‘iowrite64be_lo_hi’ [-Werror=missing-prototypes] 280 | void iowrite64be_lo_hi(u64 val, void __iomem *addr) | ^~~~~~~~~~~~~~~~~ /kisskb/src/lib/iomap.c:288:6: error: no previous prototype for ‘iowrite64be_hi_lo’ [-Werror=missing-prototypes] 288 | void iowrite64be_hi_lo(u64 val, void __iomem *addr) | ^~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors make[4]: *** [/kisskb/src/scripts/Makefile.build:244: lib/iomap.o] Error 1 make[3]: *** [/kisskb/src/scripts/Makefile.build:485: lib] 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 40 ARCH=um O=/kisskb/build/linus_allmodconfig_um-x86_64-gcc12 CROSS_COMPILE=/opt/cross/kisskb/x86-64--glibc--bleeding-edge-2022.08-1/bin/x86_64-linux- SUBARCH=x86_64 ' returned non-zero exit status 2. # rm -rf /kisskb/build/linus_allmodconfig_um-x86_64-gcc12 # Build took: 0:10:15.243532