# git rev-parse -q --verify 61387b8dcf1dc0f30cf690956a48768a3fce1810^{commit} 61387b8dcf1dc0f30cf690956a48768a3fce1810 already have revision, skipping fetch # git checkout -q -f -B kisskb 61387b8dcf1dc0f30cf690956a48768a3fce1810 # git clean -qxdf # < git log -1 # commit 61387b8dcf1dc0f30cf690956a48768a3fce1810 # Merge: c0499a081285 cb824724dccb # Author: Linus Torvalds # Date: Wed Mar 13 09:57:23 2024 -0700 # # Merge tag 'for-6.9/dm-vdo' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm # # Pull device mapper VDO target from Mike Snitzer: # "Introduce the DM vdo target which provides block-level deduplication, # compression, and thin provisioning. Please see: # # Documentation/admin-guide/device-mapper/vdo.rst # Documentation/admin-guide/device-mapper/vdo-design.rst # # The DM vdo target handles its concurrency by pinning an IO, and # subsequent stages of handling that IO, to a particular VDO thread. # This aspect of VDO is "unique" but its overall implementation is very # tightly coupled to its mostly lockless threading model. As such, VDO # is not easily changed to use more traditional finer-grained locking # and Linux workqueues. Please see the "Zones and Threading" section of # vdo-design.rst # # The DM vdo target has been used in production for many years but has # seen significant changes over the past ~6 years to prepare it for # upstream inclusion. The codebase is still large but it is isolated to # drivers/md/dm-vdo/ and has been made considerably more approachable # and maintainable. # # Matt Sakai has been added to the MAINTAINERS file to reflect that he # will send VDO changes upstream through the DM subsystem maintainers" # # * tag 'for-6.9/dm-vdo' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (142 commits) # dm vdo: document minimum metadata size requirements # dm vdo: remove meaningless version number constant # dm vdo: remove vdo_perform_once # dm vdo block-map: Remove stray semicolon # dm vdo string-utils: change from uds_ to vdo_ namespace # dm vdo logger: change from uds_ to vdo_ namespace # dm vdo funnel-queue: change from uds_ to vdo_ namespace # dm vdo indexer: fix use after free # dm vdo logger: remove log level to string conversion code # dm vdo: document log_level parameter # dm vdo: add 'log_level' module parameter # dm vdo: remove all sysfs interfaces # dm vdo target: eliminate inappropriate uses of UDS_SUCCESS # dm vdo indexer: update ASSERT and ASSERT_LOG_ONLY usage # dm vdo encodings: update some stale comments # dm vdo permassert: audit all of ASSERT to test for VDO_SUCCESS # dm-vdo funnel-workqueue: return VDO_SUCCESS from make_simple_work_queue # dm vdo thread-utils: return VDO_SUCCESS on vdo_create_thread success # dm vdo int-map: return VDO_SUCCESS on success # dm vdo: check for VDO_SUCCESS return value from memory-alloc functions # ... # < /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 61387b8dcf1dc0f30cf690956a48768a3fce1810 # make -s -j 24 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 24 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 24 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:14183:warning: override: reassigning to symbol GCC_PLUGIN_LATENT_ENTROPY .config:14187:warning: override: reassigning to symbol UML_NET_ETHERTAP .config:14189:warning: override: reassigning to symbol UML_NET_SLIP .config:14194:warning: override: reassigning to symbol UML_NET_SLIRP # make -s -j 24 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/arch/x86/um/user-offsets.c:17:6: warning: no previous prototype for ‘foo’ [-Wmissing-prototypes] 17 | void foo(void) | ^~~ In file included from /kisskb/src/arch/um/kernel/asm-offsets.c:1: /kisskb/src/arch/x86/um/shared/sysdep/kernel-offsets.h:9:6: error: no previous prototype for ‘foo’ [-Werror=missing-prototypes] 9 | void foo(void) | ^~~ cc1: all warnings being treated as errors make[3]: *** [/kisskb/src/scripts/Makefile.build:116: arch/um/kernel/asm-offsets.s] Error 1 make[2]: *** [/kisskb/src/Makefile:1199: prepare0] Error 2 make[1]: *** [/kisskb/src/Makefile:240: __sub-make] Error 2 make: *** [Makefile:240: __sub-make] Error 2 Command 'make -s -j 24 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:00:19.294713