Re: [PATCH] initramfs: Support initrd that is bigger then 2G.

Yinghai Lu
2014-06-20T05:02:54Z

On Thu, Jun 19, 2014 at 9:29 PM, H. Peter Anvin <hpa@zytor.com> wrote:
> On 06/19/2014 07:12 PM, Yinghai Lu wrote:
>>
>> Also need to use that in write_buffer path for cpio that have file is
>> more than file.
>
> That sentence doesn't make sense.

I mean this path:
unpack_to_rootfs ===> write_buffer ===> actions[].../do_copy
and image is uncompressed cpio, and there is one big file (>2G) in that cpio.

>
>
> I would call this function xwrite(), which is usually called in userspace.

Good, will change that.

>
> It would be nice in order to support very large initrd/initramfs, to
> free the memory as it becomes available instead of requiring two copies
> of the data in memory at the same time.

for initramfs, it is from ramdisk_image/ramdisk_size to tmpfs directly.
and ramdisk_image/ramdisk_size get freed.

for initrd, it is transferred to /initrd.image in tmpfs at first, and
ramdisk_image/ramdisk_size
get freed, at last /initrd.image is decompressed/copied to /dev/ram0
and get removed
from tempfs.

So what do you mean "free the memory"?

Thanks

Yinghai