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 <gaomin...@huawei.com>
---
 lib/libf2fs_io.c | 7 +++++++
 1 file changed, 7 insertions(+)

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);
                }
-- 
2.8.1



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to