From 8c7729af08d12e2fdd42714cd713254bb8815fe7 Mon Sep 17 00:00:00 2001 From: Kevin Zhao Date: Thu, 24 Jun 2021 08:00:03 +0800 Subject: [PATCH] ceph.spec.in, debian/rules: Set rbd-rwl-cache optional on arm64 and ppc64le set rwl cache option on arm64 and ppc64le as PMDK is not well supported. Currently, only 64-bit Linux* and Windows* on x86 are supported PMDK Reference: 1. Experimental support on Arm64, but lacking of librpmem: See: https://github.com/pmem/pmdk#experimental-support-for-64-bit-arm 2. No RPM for PMDK on Arm64: See: https://bugzilla.redhat.com/show_bug.cgi?id=1340635 3. > Does PMDK support ARM64*? > Currently only 64-bit Linux* and Windows* on x86 are supported. See: https://software.intel.com/content/www/us/en/develop/articles/persistent-memory-faq.html 4. Make check fail on Arm64 See: https://github.com/pmem/pmdk/issues/5255 Fixes: https://tracker.ceph.com/issues/51339 Signed-off-by: Kevin Zhao --- ceph.spec.in | 8 +++----- debian/rules | 6 +++++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/ceph.spec.in b/ceph.spec.in index c34fdb5fcf79..3770b4386291 100644 --- a/ceph.spec.in +++ b/ceph.spec.in @@ -31,13 +31,13 @@ %endif %bcond_with system_pmdk %bcond_without rbd_ssd_cache -%if 0%{?fedora} || 0%{?rhel} -%bcond_without selinux -%ifarch x86_64 ppc64le +%ifarch x86_64 %bcond_without rbd_rwl_cache %else %bcond_with rbd_rwl_cache %endif +%if 0%{?fedora} || 0%{?rhel} +%bcond_without selinux %if 0%{?rhel} >= 8 %bcond_with cephfs_java %else @@ -59,10 +59,8 @@ %bcond_with libradosstriper %ifarch x86_64 aarch64 ppc64le %bcond_without lttng -%bcond_without rbd_rwl_cache %else %bcond_with lttng -%bcond_with rbd_rwl_cache %endif %bcond_with ocf %bcond_with selinux diff --git a/debian/rules b/debian/rules index f808099fb5c7..8cb3949fb566 100755 --- a/debian/rules +++ b/debian/rules @@ -24,7 +24,11 @@ extraopts += -DWITH_CEPHFS_JAVA=ON extraopts += -DWITH_CEPHFS_SHELL=ON extraopts += -DWITH_SYSTEMD=ON -DCEPH_SYSTEMD_ENV_DIR=/etc/default extraopts += -DWITH_GRAFANA=ON -extraopts += -DWITH_RBD_RWL=ON +ifeq ($(DEB_HOST_ARCH), amd64) + extraopts += -DWITH_RBD_RWL=ON +else + extraopts += -DWITH_RBD_RWL=OFF +endif extraopts += -DWITH_RBD_SSD_CACHE=ON # assumes that ceph is exmpt from multiarch support, so we override the libdir. extraopts += -DCMAKE_INSTALL_LIBDIR=/usr/lib -- 2.47.3