From: Gao Ming Date: Mon, 15 Oct 2018 13:24:57 +0000 (+0800) Subject: f2fs-tools: add the max chunk size limit in sparse image X-Git-Tag: v1.12.0~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7dfb93ff362d75801b8c989441a6fa3cab84fecb;p=platform%2Fupstream%2Ff2fs-tools.git f2fs-tools: add the max chunk size limit in sparse image Malloc Failure occurs in 32bit Windows, when using fastboot.exe flash the f2fs sparse image filling with up to 2G chunk size. Signed-off-by: Gao Ming Signed-off-by: Jaegeuk Kim --- diff --git a/lib/libf2fs_io.c b/lib/libf2fs_io.c index 76d283d..47917ab 100644 --- a/lib/libf2fs_io.c +++ b/lib/libf2fs_io.c @@ -311,6 +311,7 @@ int f2fs_init_sparse_file(void) #endif } +#define MAX_CHUNK_SIZE (1 * 1024 * 1024 * 1024ULL) int f2fs_finalize_device(void) { int i; @@ -337,6 +338,12 @@ int f2fs_finalize_device(void) chunk_start = -1; } else if (blocks[j] && chunk_start == -1) { chunk_start = j; + } else if (blocks[j] && (chunk_start != -1) && + (j + 1 - chunk_start >= + (MAX_CHUNK_SIZE / F2FS_BLKSIZE))) { + ret = sparse_merge_blocks(chunk_start, + j + 1 - chunk_start); + chunk_start = -1; } ASSERT(!ret); }