]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
blk,build: drop BlueStore PMEM support 69726/head
authorKefu Chai <k.chai@proxmox.com>
Thu, 25 Jun 2026 06:59:35 +0000 (14:59 +0800)
committerKefu Chai <k.chai@proxmox.com>
Sun, 5 Jul 2026 00:37:21 +0000 (08:37 +0800)
commit80b90672860cafe32118c9a0f2f80afdd9b57f68
treefc50098c15f9f30c270dcdda5c747f94cb469501
parentc11c7144fc77e331fa0b23a5298742bfe68afdd8
blk,build: drop BlueStore PMEM support

BlueStore's PMEMDevice backend targets byte-addressable persistent
memory exposed as a DAX device, in practice Intel Optane DC persistent
memory. Intel Optane has been discontinued since 2021 and there is no
mainstream replacement, so the backend has effectively no hardware left
to run on. It was always experimental and has seen no functional change
since the DML/DSA offload landed in 2022; every commit to it since has
been a formatting sweep.

Keeping it builds in a chain of dependencies that nothing else needs:
libpmem, libndctl and libdaxctl, plus dml for the DSA offload that only
works on a Sapphire Rapids CPU. Remove the backend and everything tied
to it.

RBD persistent write-back cache (WITH_RBD_RWL) still uses PMDK's
libpmemobj, so the pmdk submodule, WITH_SYSTEM_PMDK, Buildpmdk and
Findpmdk stay. WITH_SYSTEM_PMDK now depends on WITH_RBD_RWL alone, and
Buildpmdk no longer builds ndctl support.

- remove the WITH_BLUESTORE_PMEM option, HAVE_BLUESTORE_PMEM and
  HAVE_LIBDML
- delete src/blk/pmem/PMEMDevice.{cc,h} and the pmem block_device_t
- drop the pmem value from the bdev_type option
- remove the --bluestore-pmem vstart flag
- drop the libpmem, libndctl and libdaxctl build deps from debian and
  rpm, keeping libpmemobj for RWL
- delete the Finddml, Findndctl and Finddaxctl cmake modules
- remove the DSA/DML and ndctl documentation

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
19 files changed:
CMakeLists.txt
PendingReleaseNotes
ceph.spec.in
cmake/modules/Buildpmdk.cmake
cmake/modules/Finddaxctl.cmake [deleted file]
cmake/modules/Finddml.cmake [deleted file]
cmake/modules/Findndctl.cmake [deleted file]
debian/control
doc/dev/continuous-integration.rst
doc/rados/configuration/bluestore-config-ref.rst
src/CMakeLists.txt
src/blk/BlockDevice.cc
src/blk/BlockDevice.h
src/blk/CMakeLists.txt
src/blk/pmem/PMEMDevice.cc [deleted file]
src/blk/pmem/PMEMDevice.h [deleted file]
src/common/options/global.yaml.in
src/include/config-h.in.cmake
src/vstart.sh