]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
doc/rados/operations/pools: define pool settings using "describe"
authorKefu Chai <kchai@redhat.com>
Fri, 23 Apr 2021 08:28:37 +0000 (16:28 +0800)
committerKefu Chai <kchai@redhat.com>
Mon, 26 Apr 2021 13:01:44 +0000 (21:01 +0800)
better readability and more structured this way

Signed-off-by: Kefu Chai <kchai@redhat.com>
doc/rados/configuration/pool-pg-config-ref.rst
doc/rados/operations/data-placement.rst
doc/rados/operations/placement-groups.rst
doc/rados/operations/pools.rst

index aaf5fc2d826d107f4eff55d39e455d9140d8725f..b6ec9a4d2e4c2a2151e976d06ce70a3d6d44b61b 100644 (file)
@@ -32,6 +32,7 @@ Ceph configuration file.
 .. confval:: osd_pool_default_min_size
 .. confval:: osd_pool_default_pg_num
 .. confval:: osd_pool_default_pgp_num
+.. confval:: osd_pool_default_pg_autoscale_mode
 .. confval:: osd_pool_default_flags
 .. confval:: osd_max_pgls
 .. confval:: osd_min_pg_log_entries
index bd9bd7ec74639ae930aa7ea47e8471fcc351be0a..8576af8a0e533630c1e09f7cec2ad9d489f3f9ea 100644 (file)
@@ -18,7 +18,7 @@ placement planning.  The main data placement planning concepts in Ceph include:
   that place objects as a group into OSDs. Placement groups reduce the amount
   of per-object metadata when Ceph stores the data in OSDs. A larger number of
   placement groups (e.g., 100 per OSD) leads to better balancing. See
-  `Placement Groups`_ for additional details.
+  :ref:`placement groups` for additional details.
 
 - **CRUSH Maps:**  CRUSH is a big part of what allows Ceph to scale without
   performance bottlenecks, without limitations to scalability, and without a
@@ -38,6 +38,5 @@ you begin planning for a large Ceph cluster, refer to pools, placement groups
 and CRUSH for data placement operations.
 
 .. _Pools: ../pools
-.. _Placement Groups: ../placement-groups
 .. _CRUSH Maps: ../crush-map
 .. _Balancer: ../balancer
index 699c26f8e30b9a85ad659d595d66c0814bc3ee7b..ec2b111d3c7b9fe7f5dfb0d37089516f441f0a05 100644 (file)
@@ -1,3 +1,5 @@
+.. _placement groups:
+
 ==================
  Placement Groups
 ==================
index 1a12fc16a7297ff7d0a7cac83ea9d1983ddee615..7703b5df37f32e958cca0f74cb2844970270fe6b 100644 (file)
@@ -66,94 +66,94 @@ To create a pool, execute::
 
 Where:
 
-``{pool-name}``
+.. describe:: {pool-name}
 
-:Description: The name of the pool. It must be unique.
-:Type: String
-:Required: Yes.
+   The name of the pool. It must be unique.
 
-``{pg-num}``
+   :Type: String
+   :Required: Yes.
 
-:Description: The total number of placement groups for the pool. See `Placement
-              Groups`_  for details on calculating a suitable number. The
-              default value ``8`` is NOT suitable for most systems.
+.. describe:: {pg-num}
 
-:Type: Integer
-:Required: Yes.
-:Default: 8
+   The total number of placement groups for the pool. See :ref:`placement groups`
+   for details on calculating a suitable number. The
+   default value ``8`` is NOT suitable for most systems.
 
-``{pgp-num}``
+  :Type: Integer
+  :Required: Yes.
+  :Default: 8
 
-:Description: The total number of placement groups for placement purposes. This
-              **should be equal to the total number of placement groups**, except
-              for placement group splitting scenarios.
+.. describe:: {pgp-num}
 
-:Type: Integer
-:Required: Yes. Picks up default or Ceph configuration value if not specified.
-:Default: 8
+   The total number of placement groups for placement purposes. This
+   **should be equal to the total number of placement groups**, except
+   for placement group splitting scenarios.
 
-``{replicated|erasure}``
+  :Type: Integer
+  :Required: Yes. Picks up default or Ceph configuration value if not specified.
+  :Default: 8
 
-:Description: The pool type which may either be **replicated** to
-              recover from lost OSDs by keeping multiple copies of the
-              objects or **erasure** to get a kind of
-              `generalized RAID5 <../erasure-code>`_ capability.
-              The **replicated** pools require more
-              raw storage but implement all Ceph operations. The
-              **erasure** pools require less raw storage but only
-              implement a subset of the available operations.
+.. describe:: {replicated|erasure}
 
-:Type: String
-:Required: No.
-:Default: replicated
+   The pool type which may either be **replicated** to
+   recover from lost OSDs by keeping multiple copies of the
+   objects or **erasure** to get a kind of
+   `generalized RAID5 <../erasure-code>`_ capability.
+   The **replicated** pools require more
+   raw storage but implement all Ceph operations. The
+   **erasure** pools require less raw storage but only
+   implement a subset of the available operations.
 
-``[crush-rule-name]``
+  :Type: String
+  :Required: No.
+  :Default: replicated
 
-:Description: The name of a CRUSH rule to use for this pool.  The specified
-              rule must exist.
+.. describe:: [crush-rule-name]
 
-:Type: String
-:Required: No.
-:Default: For **replicated** pools it is the rule specified by the ``osd
-          pool default crush rule`` config variable.  This rule must exist.
+   The name of a CRUSH rule to use for this pool.  The specified
+   rule must exist.
+
+   :Type: String
+   :Required: No.
+   :Default: For **replicated** pools it is the rule specified by the
+          :confval:`osd_pool_default_crush_rule` config variable.  This rule must exist.
           For **erasure** pools it is ``erasure-code`` if the ``default``
           `erasure code profile`_ is used or ``{pool-name}`` otherwise.  This
           rule will be created implicitly if it doesn't exist already.
 
 
-``[erasure-code-profile=profile]``
+.. describe:: [erasure-code-profile=profile]
 
-.. _erasure code profile: ../erasure-code-profile
-
-:Description: For **erasure** pools only. Use the `erasure code profile`_. It
-              must be an existing profile as defined by
-              **osd erasure-code-profile set**.
+   For **erasure** pools only. Use the `erasure code profile`_. It
+   must be an existing profile as defined by
+   **osd erasure-code-profile set**.
 
-:Type: String
-:Required: No.
+  :Type: String
+  :Required: No.
 
-``--autoscale-mode=<on,off,warn>``
-
-:Description: Autoscale mode
+.. _erasure code profile: ../erasure-code-profile
 
-:Type: String
-:Required: No.
-:Default:  The default behavior is controlled by the ``osd pool default pg autoscale mode`` option.
+.. describe:: --autoscale-mode=<on,off,warn>
 
-If you set the autoscale mode to ``on`` or ``warn``, you can let the system autotune or recommend changes to the number of placement groups in your pool based on actual usage.  If you leave it off, then you should refer to `Placement Groups`_ for more information.
+   If you set the autoscale mode to ``on`` or ``warn``, you can let the system
+   autotune or recommend changes to the number of placement groups in your pool
+   based on actual usage.  If you leave it off, then you should refer to
+   :ref:`placement groups` for more information.
 
-.. _Placement Groups: ../placement-groups
+  :Type: String
+  :Required: No.
+  :Default:  The default behavior is controlled by the :confval:`osd_pool_default_pg_autoscale_mode` option.
 
-``[expected-num-objects]``
+.. describe:: [expected-num-objects]
 
-:Description: The expected number of objects for this pool. By setting this value (
-              together with a negative **filestore merge threshold**), the PG folder
-              splitting would happen at the pool creation time, to avoid the latency
-              impact to do a runtime folder splitting.
+   The expected number of objects for this pool. By setting this value (
+   together with a negative **filestore merge threshold**), the PG folder
+   splitting would happen at the pool creation time, to avoid the latency
+   impact to do a runtime folder splitting.
 
-:Type: Integer
-:Required: No.
-:Default: 0, no splitting at the pool creation time.
+   :Type: Integer
+   :Required: No.
+   :Default: 0, no splitting at the pool creation time.
 
 .. _associate-pool-to-application:
 
@@ -274,355 +274,368 @@ You may set values for the following keys:
 
 .. _compression_algorithm:
 
-``compression_algorithm``
+.. describe:: compression_algorithm
 
-:Description: Sets inline compression algorithm to use for underlying BlueStore. This setting overrides the `global setting <https://docs.ceph.com/en/latest/rados/configuration/bluestore-config-ref/#inline-compression>`__ of ``bluestore compression algorithm``.
+   Sets inline compression algorithm to use for underlying BlueStore. This setting overrides the global setting
+   :confval:`bluestore_compression_algorithm`.
 
-:Type: String
-:Valid Settings: ``lz4``, ``snappy``, ``zlib``, ``zstd``
+   :Type: String
+   :Valid Settings: ``lz4``, ``snappy``, ``zlib``, ``zstd``
 
-``compression_mode``
+.. describe:: compression_mode
 
-:Description: Sets the policy for the inline compression algorithm for underlying BlueStore. This setting overrides the `global setting <http://docs.ceph.com/en/latest/rados/configuration/bluestore-config-ref/#inline-compression>`__ of ``bluestore compression mode``.
+   Sets the policy for the inline compression algorithm for underlying BlueStore. This setting overrides the
+   global setting :confval:`bluestore_compression_mode`.
 
-:Type: String
-:Valid Settings: ``none``, ``passive``, ``aggressive``, ``force``
+   :Type: String
+   :Valid Settings: ``none``, ``passive``, ``aggressive``, ``force``
 
-``compression_min_blob_size``
+.. describe:: compression_min_blob_size
 
-:Description: Chunks smaller than this are never compressed. This setting overrides the `global setting <http://docs.ceph.com/en/latest/rados/configuration/bluestore-config-ref/#inline-compression>`__ of ``bluestore compression min blob *``.
+   Chunks smaller than this are never compressed. This setting overrides the global settings of
+   :confval:`bluestore_compression_min_blob_size`, :confval:`bluestore_compression_min_blob_size_hdd` and
+   :confval:`bluestore_compression_min_blob_size_ssd`
 
-:Type: Unsigned Integer
+   :Type: Unsigned Integer
 
-``compression_max_blob_size``
+.. describe:: compression_max_blob_size
 
-:Description: Chunks larger than this are broken into smaller blobs sizing
-              ``compression_max_blob_size`` before being compressed.
+   Chunks larger than this are broken into smaller blobs sizing
+   ``compression_max_blob_size`` before being compressed.
 
-:Type: Unsigned Integer
+   :Type: Unsigned Integer
 
 .. _size:
 
-``size``
+.. describe:: size
 
-:Description: Sets the number of replicas for objects in the pool.
-              See `Set the Number of Object Replicas`_ for further details.
-              Replicated pools only.
+   Sets the number of replicas for objects in the pool.
+   See `Set the Number of Object Replicas`_ for further details.
+   Replicated pools only.
 
-:Type: Integer
+   :Type: Integer
 
 .. _min_size:
 
-``min_size``
+.. describe:: min_size
 
-:Description: Sets the minimum number of replicas required for I/O.
-              See `Set the Number of Object Replicas`_ for further details.
-              In the case of Erasure Coded pools this should be set to a value
-              greater than 'k' since if we allow IO at the value 'k' there is no
-              redundancy and data will be lost in the event of a permanent OSD
-              failure. For more information see `Erasure Code
-              <../erasure-code>`_
+   Sets the minimum number of replicas required for I/O.
+   See `Set the Number of Object Replicas`_ for further details.
+   In the case of Erasure Coded pools this should be set to a value
+   greater than 'k' since if we allow IO at the value 'k' there is no
+   redundancy and data will be lost in the event of a permanent OSD
+   failure. For more information see `Erasure Code <../erasure-code>`_
 
-:Type: Integer
-:Version: ``0.54`` and above
+   :Type: Integer
+   :Version: ``0.54`` and above
 
 .. _pg_num:
 
-``pg_num``
+.. describe:: pg_num
 
-:Description: The effective number of placement groups to use when calculating
-              data placement.
-:Type: Integer
-:Valid Range: Superior to ``pg_num`` current value.
+   The effective number of placement groups to use when calculating
+   data placement.
+
+   :Type: Integer
+   :Valid Range: Superior to ``pg_num`` current value.
 
 .. _pgp_num:
 
-``pgp_num``
+.. describe:: pgp_num
 
-:Description: The effective number of placement groups for placement to use
-              when calculating data placement.
+   The effective number of placement groups for placement to use
+   when calculating data placement.
 
-:Type: Integer
-:Valid Range: Equal to or less than ``pg_num``.
+   :Type: Integer
+   :Valid Range: Equal to or less than ``pg_num``.
 
 .. _crush_rule:
 
-``crush_rule``
+.. describe:: crush_rule
 
-:Description: The rule to use for mapping object placement in the cluster.
-:Type: String
+   The rule to use for mapping object placement in the cluster.
+
+   :Type: String
 
 .. _allow_ec_overwrites:
 
-``allow_ec_overwrites``
+.. describe:: allow_ec_overwrites
 
-:Description: Whether writes to an erasure coded pool can update part
-              of an object, so cephfs and rbd can use it. See
-              `Erasure Coding with Overwrites`_ for more details.
-:Type: Boolean
-:Version: ``12.2.0`` and above
+
+   Whether writes to an erasure coded pool can update part
+   of an object, so cephfs and rbd can use it. See
+   `Erasure Coding with Overwrites`_ for more details.
+
+   :Type: Boolean
+
+   .. versionadded:: 12.2.0
 
 .. _hashpspool:
 
-``hashpspool``
+.. describe:: hashpspool
 
-:Description: Set/Unset HASHPSPOOL flag on a given pool.
-:Type: Integer
-:Valid Range: 1 sets flag, 0 unsets flag
+   Set/Unset HASHPSPOOL flag on a given pool.
+
+   :Type: Integer
+   :Valid Range: 1 sets flag, 0 unsets flag
 
 .. _nodelete:
 
-``nodelete``
+.. describe:: nodelete
 
-:Description: Set/Unset NODELETE flag on a given pool.
-:Type: Integer
-:Valid Range: 1 sets flag, 0 unsets flag
-:Version: Version ``FIXME``
+   Set/Unset NODELETE flag on a given pool.
+
+   :Type: Integer
+   :Valid Range: 1 sets flag, 0 unsets flag
+   :Version: Version ``FIXME``
 
 .. _nopgchange:
 
-``nopgchange``
+.. describe:: nopgchange
 
-:Description: Set/Unset NOPGCHANGE flag on a given pool.
-:Type: Integer
-:Valid Range: 1 sets flag, 0 unsets flag
-:Version: Version ``FIXME``
+   :Description: Set/Unset NOPGCHANGE flag on a given pool.
+   :Type: Integer
+   :Valid Range: 1 sets flag, 0 unsets flag
+   :Version: Version ``FIXME``
 
 .. _nosizechange:
 
-``nosizechange``
+.. describe:: nosizechange
 
-:Description: Set/Unset NOSIZECHANGE flag on a given pool.
-:Type: Integer
-:Valid Range: 1 sets flag, 0 unsets flag
-:Version: Version ``FIXME``
+   Set/Unset NOSIZECHANGE flag on a given pool.
+
+   :Type: Integer
+   :Valid Range: 1 sets flag, 0 unsets flag
+   :Version: Version ``FIXME``
 
 .. _write_fadvise_dontneed:
 
-``write_fadvise_dontneed``
+.. describe:: write_fadvise_dontneed
 
-:Description: Set/Unset WRITE_FADVISE_DONTNEED flag on a given pool.
-:Type: Integer
-:Valid Range: 1 sets flag, 0 unsets flag
+   Set/Unset WRITE_FADVISE_DONTNEED flag on a given pool.
+
+   :Type: Integer
+   :Valid Range: 1 sets flag, 0 unsets flag
 
 .. _noscrub:
 
-``noscrub``
+.. describe:: noscrub
 
-:Description: Set/Unset NOSCRUB flag on a given pool.
-:Type: Integer
-:Valid Range: 1 sets flag, 0 unsets flag
+   Set/Unset NOSCRUB flag on a given pool.
+
+   :Type: Integer
+   :Valid Range: 1 sets flag, 0 unsets flag
 
 .. _nodeep-scrub:
 
-``nodeep-scrub``
+.. describe:: nodeep-scrub
 
-:Description: Set/Unset NODEEP_SCRUB flag on a given pool.
-:Type: Integer
-:Valid Range: 1 sets flag, 0 unsets flag
+   Set/Unset NODEEP_SCRUB flag on a given pool.
+
+   :Type: Integer
+   :Valid Range: 1 sets flag, 0 unsets flag
 
 .. _hit_set_type:
 
-``hit_set_type``
+.. describe:: hit_set_type
 
-:Description: Enables hit set tracking for cache pools.
-              See `Bloom Filter`_ for additional information.
+   Enables hit set tracking for cache pools.
+   See `Bloom Filter`_ for additional information.
 
-:Type: String
-:Valid Settings: ``bloom``, ``explicit_hash``, ``explicit_object``
-:Default: ``bloom``. Other values are for testing.
+   :Type: String
+   :Valid Settings: ``bloom``, ``explicit_hash``, ``explicit_object``
+   :Default: ``bloom``. Other values are for testing.
 
 .. _hit_set_count:
 
-``hit_set_count``
+.. describe:: hit_set_count
 
-:Description: The number of hit sets to store for cache pools. The higher
-              the number, the more RAM consumed by the ``ceph-osd`` daemon.
+   The number of hit sets to store for cache pools. The higher
+   the number, the more RAM consumed by the ``ceph-osd`` daemon.
 
-:Type: Integer
-:Valid Range: ``1``. Agent doesn't handle > 1 yet.
+   :Type: Integer
+   :Valid Range: ``1``. Agent doesn't handle > 1 yet.
 
 .. _hit_set_period:
 
-``hit_set_period``
+.. describe:: hit_set_period
 
-:Description: The duration of a hit set period in seconds for cache pools.
-              The higher the number, the more RAM consumed by the
-              ``ceph-osd`` daemon.
+   The duration of a hit set period in seconds for cache pools.
+   The higher the number, the more RAM consumed by the
+   ``ceph-osd`` daemon.
 
-:Type: Integer
-:Example: ``3600`` 1hr
+   :Type: Integer
+   :Example: ``3600`` 1hr
 
 .. _hit_set_fpp:
 
-``hit_set_fpp``
+.. describe:: hit_set_fpp
 
-:Description: The false positive probability for the ``bloom`` hit set type.
-              See `Bloom Filter`_ for additional information.
+   The false positive probability for the ``bloom`` hit set type.
+   See `Bloom Filter`_ for additional information.
 
-:Type: Double
-:Valid Range: 0.0 - 1.0
-:Default: ``0.05``
+   :Type: Double
+   :Valid Range: 0.0 - 1.0
+   :Default: ``0.05``
 
 .. _cache_target_dirty_ratio:
 
-``cache_target_dirty_ratio``
+.. describe:: cache_target_dirty_ratio
 
-:Description: The percentage of the cache pool containing modified (dirty)
-              objects before the cache tiering agent will flush them to the
-              backing storage pool.
+   The percentage of the cache pool containing modified (dirty)
+   objects before the cache tiering agent will flush them to the
+   backing storage pool.
 
-:Type: Double
-:Default: ``.4``
+   :Type: Double
+   :Default: ``.4``
 
 .. _cache_target_dirty_high_ratio:
 
-``cache_target_dirty_high_ratio``
+.. describe:: cache_target_dirty_high_ratio
 
-:Description: The percentage of the cache pool containing modified (dirty)
-              objects before the cache tiering agent will flush them to the
-              backing storage pool with a higher speed.
+   The percentage of the cache pool containing modified (dirty)
+   objects before the cache tiering agent will flush them to the
+   backing storage pool with a higher speed.
 
-:Type: Double
-:Default: ``.6``
+   :Type: Double
+   :Default: ``.6``
 
 .. _cache_target_full_ratio:
 
-``cache_target_full_ratio``
+.. describe:: cache_target_full_ratio
 
-:Description: The percentage of the cache pool containing unmodified (clean)
-              objects before the cache tiering agent will evict them from the
-              cache pool.
+   The percentage of the cache pool containing unmodified (clean)
+   objects before the cache tiering agent will evict them from the
+   cache pool.
 
-:Type: Double
-:Default: ``.8``
+   :Type: Double
+   :Default: ``.8``
 
 .. _target_max_bytes:
 
-``target_max_bytes``
+.. describe:: target_max_bytes
 
-:Description: Ceph will begin flushing or evicting objects when the
-              ``max_bytes`` threshold is triggered.
+   Ceph will begin flushing or evicting objects when the
+   ``max_bytes`` threshold is triggered.
 
-:Type: Integer
-:Example: ``1000000000000``  #1-TB
+   :Type: Integer
+   :Example: ``1000000000000``  #1-TB
 
 .. _target_max_objects:
 
-``target_max_objects``
+.. describe:: target_max_objects
 
-:Description: Ceph will begin flushing or evicting objects when the
-              ``max_objects`` threshold is triggered.
+   Ceph will begin flushing or evicting objects when the
+   ``max_objects`` threshold is triggered.
 
-:Type: Integer
-:Example: ``1000000`` #1M objects
+   :Type: Integer
+   :Example: ``1000000`` #1M objects
 
 
-``hit_set_grade_decay_rate``
+.. describe:: hit_set_grade_decay_rate
 
-:Description: Temperature decay rate between two successive hit_sets
-:Type: Integer
-:Valid Range: 0 - 100
-:Default: ``20``
+   Temperature decay rate between two successive hit_sets
 
+   :Type: Integer
+   :Valid Range: 0 - 100
+   :Default: ``20``
 
-``hit_set_search_last_n``
+.. describe:: hit_set_search_last_n
 
-:Description: Count at most N appearance in hit_sets for temperature calculation
-:Type: Integer
-:Valid Range: 0 - hit_set_count
-:Default: ``1``
+   Count at most N appearance in hit_sets for temperature calculation
 
+   :Type: Integer
+   :Valid Range: 0 - hit_set_count
+   :Default: ``1``
 
 .. _cache_min_flush_age:
 
-``cache_min_flush_age``
+.. describe:: cache_min_flush_age
 
-:Description: The time (in seconds) before the cache tiering agent will flush
-              an object from the cache pool to the storage pool.
+   The time (in seconds) before the cache tiering agent will flush
+   an object from the cache pool to the storage pool.
 
-:Type: Integer
-:Example: ``600`` 10min
+   :Type: Integer
+   :Example: ``600`` 10min
 
 .. _cache_min_evict_age:
 
-``cache_min_evict_age``
+.. describe:: cache_min_evict_age
 
-:Description: The time (in seconds) before the cache tiering agent will evict
-              an object from the cache pool.
+   The time (in seconds) before the cache tiering agent will evict
+   an object from the cache pool.
 
-:Type: Integer
-:Example: ``1800`` 30min
+   :Type: Integer
+   :Example: ``1800`` 30min
 
 .. _fast_read:
 
-``fast_read``
+.. describe:: fast_read
 
-:Description: On Erasure Coding pool, if this flag is turned on, the read request
-              would issue sub reads to all shards, and waits until it receives enough
-              shards to decode to serve the client. In the case of jerasure and isa
-              erasure plugins, once the first K replies return, client's request is
-              served immediately using the data decoded from these replies. This
-              helps to tradeoff some resources for better performance. Currently this
-              flag is only supported for Erasure Coding pool.
+   On Erasure Coding pool, if this flag is turned on, the read request
+   would issue sub reads to all shards, and waits until it receives enough
+   shards to decode to serve the client. In the case of jerasure and isa
+   erasure plugins, once the first K replies return, client's request is
+   served immediately using the data decoded from these replies. This
+   helps to tradeoff some resources for better performance. Currently this
+   flag is only supported for Erasure Coding pool.
 
-:Type: Boolean
-:Defaults: ``0``
+   :Type: Boolean
+   :Defaults: ``0``
 
 .. _scrub_min_interval:
 
-``scrub_min_interval``
+.. describe:: scrub_min_interval
 
-:Description: The minimum interval in seconds for pool scrubbing when
-              load is low. If it is 0, the value osd_scrub_min_interval
-              from config is used.
+   The minimum interval in seconds for pool scrubbing when
+   load is low. If it is 0, the value osd_scrub_min_interval
+   from config is used.
 
-:Type: Double
-:Default: ``0``
+   :Type: Double
+   :Default: ``0``
 
 .. _scrub_max_interval:
 
-``scrub_max_interval``
+.. describe:: scrub_max_interval
 
-:Description: The maximum interval in seconds for pool scrubbing
-              irrespective of cluster load. If it is 0, the value
-              osd_scrub_max_interval from config is used.
+   The maximum interval in seconds for pool scrubbing
+   irrespective of cluster load. If it is 0, the value
+   osd_scrub_max_interval from config is used.
 
-:Type: Double
-:Default: ``0``
+   :Type: Double
+   :Default: ``0``
 
 .. _deep_scrub_interval:
 
-``deep_scrub_interval``
-
-:Description: The interval in seconds for pool “deep” scrubbing. If it
-              is 0, the value osd_deep_scrub_interval from config is used.
+.. describe:: deep_scrub_interval
 
-:Type: Double
-:Default: ``0``
+   The interval in seconds for pool “deep” scrubbing. If it
+   is 0, the value osd_deep_scrub_interval from config is used.
 
+   :Type: Double
+   :Default: ``0``
 
 .. _recovery_priority:
 
-``recovery_priority``
+.. describe:: recovery_priority
 
-:Description: When a value is set it will increase or decrease the computed
-              reservation priority. This value must be in the range -10 to
-              10.  Use a negative priority for less important pools so they
-              have lower priority than any new pools.
+   When a value is set it will increase or decrease the computed
+   reservation priority. This value must be in the range -10 to
+   10.  Use a negative priority for less important pools so they
+   have lower priority than any new pools.
 
-:Type: Integer
-:Default: ``0``
+   :Type: Integer
+   :Default: ``0``
 
 
 .. _recovery_op_priority:
 
-``recovery_op_priority``
+.. describe:: recovery_op_priority
 
-:Description: Specify the recovery operation priority for this pool instead of ``osd_recovery_op_priority``.
+   Specify the recovery operation priority for this pool instead of :confval:`osd_recovery_op_priority`.
 
-:Type: Integer
-:Default: ``0``
+   :Type: Integer
+   :Default: ``0``
 
 
 Get Pool Values