From 30ef0e4085070312101be26c015f36277f02e12b Mon Sep 17 00:00:00 2001 From: Chengguang Xu Date: Sat, 26 Oct 2019 17:07:21 +0800 Subject: ext2: don't set *count in the case of failure in ext2_try_to_allocate() Currently we set *count to num(value 0) in the failure of block allocation in ext2_try_to_allocate(). Without reservation, we reuse *count(value 0) to retry block allocation and wrong *count will cause only allocating maximum 1 block even though having sufficent free blocks in that block group. Finally, it probably cause significant fragmentation. Link: https://lore.kernel.org/r/20191026090721.23794-1-cgxu519@mykernel.net Signed-off-by: Chengguang Xu Signed-off-by: Jan Kara --- fs/ext2/balloc.c | 1 - 1 file changed, 1 deletion(-) (limited to 'fs') diff --git a/fs/ext2/balloc.c b/fs/ext2/balloc.c index 4664d324567c..19bce75d207b 100644 --- a/fs/ext2/balloc.c +++ b/fs/ext2/balloc.c @@ -736,7 +736,6 @@ repeat: *count = num; return grp_goal - num; fail_access: - *count = num; return -1; } -- cgit v1.2.3