]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
xfs: adjust the hint based zone allocation policy
authorHans Holmberg <Hans.Holmberg@wdc.com>
Mon, 1 Sep 2025 10:52:05 +0000 (10:52 +0000)
committerCarlos Maiolino <cem@kernel.org>
Tue, 16 Sep 2025 10:30:41 +0000 (12:30 +0200)
As we really can't make any general assumptions about files that don't
have any life time hint set or are set to "NONE", adjust the allocation
policy to avoid co-locating data from those files with files with a set
life time.

Signed-off-by: Hans Holmberg <hans.holmberg@wdc.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Carlos Maiolino <cem@kernel.org>
fs/xfs/xfs_zone_alloc.c

index ff24769b88702ef84db988f897c6134ca385bcb8..23a027387933d5d338c05a67cdffc197cee36c34 100644 (file)
@@ -512,17 +512,11 @@ static const unsigned int
 xfs_zoned_hint_score[WRITE_LIFE_HINT_NR][WRITE_LIFE_HINT_NR] = {
        [WRITE_LIFE_NOT_SET]    = {
                [WRITE_LIFE_NOT_SET]    = XFS_ZONE_ALLOC_OK,
-               [WRITE_LIFE_NONE]       = XFS_ZONE_ALLOC_OK,
-               [WRITE_LIFE_SHORT]      = XFS_ZONE_ALLOC_OK,
        },
        [WRITE_LIFE_NONE]       = {
-               [WRITE_LIFE_NOT_SET]    = XFS_ZONE_ALLOC_OK,
-               [WRITE_LIFE_NONE]       = XFS_ZONE_ALLOC_GOOD,
-               [WRITE_LIFE_SHORT]      = XFS_ZONE_ALLOC_GOOD,
+               [WRITE_LIFE_NONE]       = XFS_ZONE_ALLOC_OK,
        },
        [WRITE_LIFE_SHORT]      = {
-               [WRITE_LIFE_NOT_SET]    = XFS_ZONE_ALLOC_GOOD,
-               [WRITE_LIFE_NONE]       = XFS_ZONE_ALLOC_GOOD,
                [WRITE_LIFE_SHORT]      = XFS_ZONE_ALLOC_GOOD,
        },
        [WRITE_LIFE_MEDIUM]     = {