如何在嵌入式Linux中高效地在VFAT分区上创建大文件

时间:2010-12-09 05:02:13

标签: linux file-io filesystems embedded-linux

我正在尝试使用嵌入式Linux框中的`dd'命令在VFAT分区上创建一个大的空文件:

dd if=/dev/zero of=/mnt/flash/file bs=1M count=1 seek=1023

目的是跳过前1023个块并在文件末尾只写一个块,这在原生EXT3分区上应该非常快,而且确实如此。但是,此操作在VFAT分区上变得非常慢,以及以下消息:

lowmem_shrink:: nr_to_scan=128, gfp_mask=d0, other_free=6971, min_adj=16
// ... more `lowmem_shrink' messages

另一种尝试是在VFAT分区上fopen()一个文件然后fseek()到最后写入数据,这也被证明是慢的,以及来自内核的相同消息。

基本上,有没有一种快速方法可以在VFAT分区上创建文件(不需要遍历前1023个块)?

感谢。

1 个答案:

答案 0 :(得分:10)