summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorKemeng Shi <shikemeng@huaweicloud.com>2023-03-04 01:21:02 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-05-24 17:30:00 +0100
commit5f1f6426d1a9239a730e3360f22200c79c1900a6 (patch)
tree6aca0cd9ae29499501cac6405002c54a4bce434d /fs
parent5570ac70264021c3a9b0c55e0e6d7a90f25cebbc (diff)
downloadlinux-stable-5f1f6426d1a9239a730e3360f22200c79c1900a6.tar.gz
linux-stable-5f1f6426d1a9239a730e3360f22200c79c1900a6.tar.bz2
linux-stable-5f1f6426d1a9239a730e3360f22200c79c1900a6.zip
ext4: allow to find by goal if EXT4_MB_HINT_GOAL_ONLY is set
[ Upstream commit 01e4ca29451760b9ac10b4cdc231c52150842643 ] If EXT4_MB_HINT_GOAL_ONLY is set, ext4_mb_regular_allocator will only allocate blocks from ext4_mb_find_by_goal. Allow to find by goal in ext4_mb_find_by_goal if EXT4_MB_HINT_GOAL_ONLY is set or allocation with EXT4_MB_HINT_GOAL_ONLY set will always fail. EXT4_MB_HINT_GOAL_ONLY is not used at all, so the problem is not found for now. Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com> Reviewed-by: Ojaswin Mujoo <ojaswin@linux.ibm.com> Link: https://lore.kernel.org/r/20230303172120.3800725-3-shikemeng@huaweicloud.com Signed-off-by: Theodore Ts'o <tytso@mit.edu> Stable-dep-of: 5354b2af3406 ("ext4: allow ext4_get_group_info() to fail") Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/ext4/mballoc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index 5639a4cf7ff9..343cb38ea365 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -2162,7 +2162,7 @@ int ext4_mb_find_by_goal(struct ext4_allocation_context *ac,
struct ext4_group_info *grp = ext4_get_group_info(ac->ac_sb, group);
struct ext4_free_extent ex;
- if (!(ac->ac_flags & EXT4_MB_HINT_TRY_GOAL))
+ if (!(ac->ac_flags & (EXT4_MB_HINT_TRY_GOAL | EXT4_MB_HINT_GOAL_ONLY)))
return 0;
if (grp->bb_free == 0)
return 0;