# 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/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 61387b8dcf1dc0f30cf690956a48768a3fce1810 # make -s -j 40 ARCH=x86 O=/kisskb/build/linus_x86_64_defconfig_x86_64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.5.0-nolibc/x86_64-linux/bin/x86_64-linux- x86_64_defconfig # < make -s -j 40 ARCH=x86 O=/kisskb/build/linus_x86_64_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 O=/kisskb/build/linus_x86_64_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 O=/kisskb/build/linus_x86_64_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_x86_64_defconfig_x86_64-gcc8 # Build took: 0:01:34.968015