diff --git a/doc/rados/configuration/osd-config-ref.rst b/doc/rados/configuration/osd-config-ref.rst
index dc01b229b1f..6ff7bda6cbc 100644
--- a/doc/rados/configuration/osd-config-ref.rst
+++ b/doc/rados/configuration/osd-config-ref.rst
@@ -415,8 +415,7 @@ Operations
``osd recovery op priority``
-:Description: The priority set for recovery operations. It is relative to
- ``osd client op priority``.
+:Description: The priority set for recovery operations, if not specified by the pool's ``recovery_op_priority``.
:Type: 32-bit Integer
:Default: ``3``
@@ -944,6 +943,16 @@ perform well in a degraded state.
:Type: Float
:Default: ``0.025``
+
+``osd recovery priority``
+
+:Description: The default priority set for recovery work queue. Not
+ related to a pool's ``recovery_priority``.
+
+:Type: 32-bit Integer
+:Default: ``5``
+
+
Tiering
=======
diff --git a/doc/rados/configuration/pool-pg-config-ref.rst b/doc/rados/configuration/pool-pg-config-ref.rst
index 31e2a0fd828..aaead074672 100644
--- a/doc/rados/configuration/pool-pg-config-ref.rst
+++ b/doc/rados/configuration/pool-pg-config-ref.rst
@@ -264,6 +264,20 @@ Ceph configuration file.
:Type: Float
:Default: ``2``
+``osd recovery priority``
+
+:Description: Priority of recovery in the work queue.
+
+:Type: Integer
+:Default: ``5``
+
+``osd recovery op priority``
+
+:Description: Default priority used for recovery operations if pool doesn't override.
+
+:Type: Integer
+:Default: ``3``
+
.. _pool: ../../operations/pools
.. _Monitoring OSDs and PGs: ../../operations/monitoring-osd-pg#peering
.. _Weighting Bucket Items: ../../operations/crush-map#weightingbucketitems
diff --git a/doc/rados/operations/pools.rst b/doc/rados/operations/pools.rst
index a4351fe4aa2..662b34ff31a 100644
--- a/doc/rados/operations/pools.rst
+++ b/doc/rados/operations/pools.rst
@@ -597,6 +597,27 @@ You may set values for the following keys:
:Default: ``0``
+.. _recovery_priority:
+
+``recovery_priority``
+
+:Description: When a value is set it will boost the computed reservation priority
+ by this amount. This value should be less than 30.
+
+:Type: Integer
+:Default: ``0``
+
+
+.. _recovery_op_priority:
+
+``recovery_op_priority``
+
+:Description: Specify the recovery operation priority for this pool instead of ``osd_recovery_op_priority``.
+
+:Type: Integer
+:Default: ``0``
+
+
Get Pool Values
===============
@@ -751,6 +772,20 @@ You may get values for the following keys:
:Type: Boolean
+``recovery_priority``
+
+:Description: see recovery_priority_
+
+:Type: Integer
+
+
+``recovery_op_priority``
+
+:Description: see recovery_op_priority_
+
+:Type: Integer
+
+
Set the Number of Object Replicas
=================================
diff --git a/src/common/options.cc b/src/common/options.cc
index 3f2f5952d3b..a7e6c2392c7 100644
--- a/src/common/options.cc
+++ b/src/common/options.cc
@@ -2271,11 +2271,12 @@ std::vector