From 3c1cae8dd5c0fa7fc4d0f5f3ff57e3e172b971d7 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Thu, 24 Jun 2021 19:52:51 +0800 Subject: [PATCH 1/2] ceph.spec.in: enable --with-rbd_ssd_cache by default unlike rbd_rwl_cache, rbd_ssd_cache does not depend on pmdk (libpmem), so let's enable it on all supported architecture and rpm based distros. Signed-off-by: Kefu Chai --- ceph.spec.in | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ceph.spec.in b/ceph.spec.in index 7bc9b599d4e..c34fdb5fcf7 100644 --- a/ceph.spec.in +++ b/ceph.spec.in @@ -30,14 +30,13 @@ %bcond_without tcmalloc %endif %bcond_with system_pmdk +%bcond_without rbd_ssd_cache %if 0%{?fedora} || 0%{?rhel} %bcond_without selinux %ifarch x86_64 ppc64le %bcond_without rbd_rwl_cache -%bcond_without rbd_ssd_cache %else %bcond_with rbd_rwl_cache -%bcond_with rbd_ssd_cache %endif %if 0%{?rhel} >= 8 %bcond_with cephfs_java @@ -61,11 +60,9 @@ %ifarch x86_64 aarch64 ppc64le %bcond_without lttng %bcond_without rbd_rwl_cache -%bcond_without rbd_ssd_cache %else %bcond_with lttng %bcond_with rbd_rwl_cache -%bcond_with rbd_ssd_cache %endif %bcond_with ocf %bcond_with selinux From 8c7729af08d12e2fdd42714cd713254bb8815fe7 Mon Sep 17 00:00:00 2001 From: Kevin Zhao Date: Thu, 24 Jun 2021 08:00:03 +0800 Subject: [PATCH 2/2] 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 c34fdb5fcf7..3770b438629 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 f808099fb5c..8cb3949fb56 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