]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
xfs: improve the comments in xfs_max_open_zones
authorChristoph Hellwig <hch@lst.de>
Wed, 16 Jul 2025 12:54:06 +0000 (14:54 +0200)
committerCarlos Maiolino <cem@kernel.org>
Thu, 24 Jul 2025 15:30:14 +0000 (17:30 +0200)
Describe the rationale for the decisions a bit better.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
fs/xfs/xfs_zone_alloc.c

index 729d80ff52c14df2c2bf40b9245f278f1afd6d2e..6a123d3dd62d48666d694d7e5e88984cbffc0448 100644 (file)
@@ -1114,24 +1114,27 @@ xfs_get_zone_info_cb(
 }
 
 /*
- * Calculate the max open zone limit based on the of number of
- * backing zones available
+ * Calculate the max open zone limit based on the of number of backing zones
+ * available.
  */
 static inline uint32_t
 xfs_max_open_zones(
        struct xfs_mount        *mp)
 {
        unsigned int            max_open, max_open_data_zones;
+
        /*
-        * We need two zones for every open data zone,
-        * one in reserve as we don't reclaim open zones. One data zone
-        * and its spare is included in XFS_MIN_ZONES.
+        * We need two zones for every open data zone, one in reserve as we
+        * don't reclaim open zones.  One data zone and its spare is included
+        * in XFS_MIN_ZONES to support at least one user data writer.
         */
        max_open_data_zones = (mp->m_sb.sb_rgcount - XFS_MIN_ZONES) / 2 + 1;
        max_open = max_open_data_zones + XFS_OPEN_GC_ZONES;
 
        /*
-        * Cap the max open limit to 1/4 of available space
+        * Cap the max open limit to 1/4 of available space.  Without this we'd
+        * run out of easy reclaim targets too quickly and storage devices don't
+        * handle huge numbers of concurrent write streams overly well.
         */
        max_open = min(max_open, mp->m_sb.sb_rgcount / 4);