diff --git a/.ceph.metadata b/.ceph.metadata
index 3770e69..cb005c9 100644
--- a/.ceph.metadata
+++ b/.ceph.metadata
@@ -1 +1 @@
-5e5d939d839cd646ea818f7cf5345bd1101b2c1b  SOURCES/ceph-17.2.0.tar.gz
+17a5694e377f47385bd622099ce134ef8b8686a8  SOURCES/ceph-17.2.1.tar.gz
diff --git a/README.md b/README.md
index 76122bf..78dbfbf 100644
--- a/README.md
+++ b/README.md
@@ -25,11 +25,11 @@ Get the lookaside uploader script from ssh://git@git.centos.org/centos-git-commo
 To build:
 
 1. Upload the source tar file to the lookaside cache, e.g.:
-    $ lookaside_upload -f SOURCES/ceph-17.1.0.tar.gz -n ceph -b c9s-sig-storage-ceph-quincy
+    $ lookaside_upload -f SOURCES/ceph-17.2.1.tar.gz -n ceph -b c9s-sig-storage-ceph-quincy
 
 2. update the .glusterfs.metadata with the hash from step 1:
     $ cat .ceph.metadata
-e9c6a6a482b8e46117c2a6c37b50c569bd62d92e  SOURCES/ceph-17.1.0.tar.gz
+e9c6a6a482b8e46117c2a6c37b50c569bd62d92e  SOURCES/ceph-17.2.1.tar.gz
 
 3. commit and push SPECS/ceph.spec and .ceph.metadata, e.g.:
     $ git add SPECS/ceph.spec .ceph.metadata
@@ -44,5 +44,5 @@ commit 29f19456be12986e86392652331e3a56ff0a88a0
 
 
 
-    $ cbs build [--scratch] storage9s-ceph-quincy-el9s ceph-17.1.0-1.el9s.src.rpm
+    $ cbs build [--scratch] storage9s-ceph-quincy-el9s ceph-17.2.1-1.el9s.src.rpm
 
diff --git a/SPECS/ceph.spec b/SPECS/ceph.spec
index 16016a5..065ef8c 100644
--- a/SPECS/ceph.spec
+++ b/SPECS/ceph.spec
@@ -32,10 +32,10 @@
 %else
 %bcond_without tcmalloc
 %endif
-%ifarch x86_64 ppc64le
-%bcond_without system_pmdk
-%else
+%ifarch s390x %{arm64}
 %bcond_with system_pmdk
+%else
+%bcond_without system_pmdk
 %endif
 %bcond_without rbd_ssd_cache
 %ifarch x86_64
@@ -148,12 +148,19 @@
 %endif
 %endif
 
+%if 0%{with seastar}
+# disable -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1, as gcc-toolset-{9,10}-annobin
+# do not provide gcc-annobin.so anymore, despite that they provide annobin.so. but
+# redhat-rpm-config still passes -fplugin=gcc-annobin to the compiler.
+%undefine _annotated_build
+%endif
+
 #################################################################################
 # main package definition
 #################################################################################
 Name:		ceph
-Version:	17.2.0
-Release:	3%{?dist}
+Version:	17.2.1
+Release:	1%{?dist}
 %if 0%{?fedora} || 0%{?rhel}
 Epoch:		2
 %endif
@@ -181,7 +188,6 @@ Patch0017:	0017-gcc-12-omnibus.patch
 Patch0018:	0018-src-rgw-store-dbstore-CMakeLists.txt.patch
 Patch0019:	0019-cmake-modules-CheckCxxAtomic.cmake.patch
 Patch0020:	0020-src-arrow-cpp-cmake_modules-ThirdpartyToolchain.cmake.patch
-Patch0021:	0021-src-rgw-CMakeLists.txt.patch
 
 # ceph 14.0.1 does not support 32-bit architectures, bugs #1727788, #1727787
 ExcludeArch:	i686 armv7hl
@@ -280,7 +286,6 @@ BuildRequires:	hostname
 BuildRequires:	jq
 BuildRequires:	libuuid-devel
 BuildRequires:	python%{python3_pkgversion}-bcrypt
-BuildRequires:	python%{python3_pkgversion}-nose
 BuildRequires:	python%{python3_pkgversion}-pecan
 BuildRequires:	python%{python3_pkgversion}-requests
 BuildRequires:	python%{python3_pkgversion}-dateutil
@@ -291,7 +296,11 @@ BuildRequires:	socat
 %if 0%{with zbd}
 BuildRequires:	libzbd-devel
 %endif
+%if 0%{?suse_version}
+BuildRequires:	libthrift-devel >= 0.13.0
+%else
 BuildRequires:	thrift-devel >= 0.13.0
+%endif
 BuildRequires:	re2-devel
 %if 0%{with jaeger}
 BuildRequires:	bison
@@ -352,6 +361,7 @@ BuildRequires:	libbz2-devel
 BuildRequires:	mozilla-nss-devel
 BuildRequires:	keyutils-devel
 BuildRequires:	libopenssl-devel
+BuildRequires:	ninja
 BuildRequires:	lsb-release
 BuildRequires:	openldap2-devel
 #BuildRequires:	krb5
@@ -373,6 +383,7 @@ BuildRequires:	nss-devel
 BuildRequires:	keyutils-libs-devel
 BuildRequires:	libibverbs-devel
 BuildRequires:	librdmacm-devel
+BuildRequires:	ninja-build
 BuildRequires:	openldap-devel
 #BuildRequires:	krb5-devel
 BuildRequires:	openssl-devel
@@ -706,6 +717,7 @@ Group:		System/Filesystems
 %endif
 Requires:	ceph-mgr = %{_epoch_prefix}%{version}-%{release}
 Requires:	python%{python3_pkgversion}-asyncssh
+Requires:	python%{python3_pkgversion}-natsort
 Requires:	cephadm = %{_epoch_prefix}%{version}-%{release}
 %if 0%{?suse_version}
 Requires:	openssh
@@ -1620,7 +1632,7 @@ exit 0
 %{_mandir}/man8/cephadm.8*
 %attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm
 %attr(0700,cephadm,cephadm) %dir %{_sharedstatedir}/cephadm/.ssh
-%attr(0600,cephadm,cephadm) %{_sharedstatedir}/cephadm/.ssh/authorized_keys
+%config(noreplace) %attr(0600,cephadm,cephadm) %{_sharedstatedir}/cephadm/.ssh/authorized_keys
 %endif
 
 %files common
@@ -1770,6 +1782,7 @@ fi
 %dir %{_datadir}/ceph/mgr
 %{_datadir}/ceph/mgr/mgr_module.*
 %{_datadir}/ceph/mgr/mgr_util.*
+%{_datadir}/ceph/mgr/object_format.*
 %{_unitdir}/ceph-mgr@.service
 %{_unitdir}/ceph-mgr.target
 %attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mgr