[PATCH] ext4: check if group has free space

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Regular allocator make four groups processing loops to
find good group to allocate blocks. On 4th loop it accept any
group, even if there is no free space at all.

This patch adds group free space check to skip full groups.

Sigend-off-by: Artem Blagodarenko <c17828@xxxxxxxx>
---
 fs/ext4/mballoc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
index e2248083cdca..4e6c36ff1d55 100644
--- a/fs/ext4/mballoc.c
+++ b/fs/ext4/mballoc.c
@@ -2087,7 +2087,8 @@ static int ext4_mb_good_group(struct ext4_allocation_context *ac,
 			return 1;
 		break;
 	case 3:
-		return 1;
+		/* Skip group without any free space */
+		return free ? 1 : 0;
 	default:
 		BUG();
 	}
-- 
2.14.3




[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux