[arch-releng] [PATCH 1/1] double file size with sparse blocks

Gerardo Exequiel Pozzi vmlinuz386 at yahoo.com.ar
Wed Mar 19 21:21:08 EDT 2014


On 01/11/2014 08:35 AM, Christian Hesse wrote:
> Gerardo Exequiel Pozzi <vmlinuz386 at yahoo.com.ar> on Fri, 2014/01/10 23:53:
>> On 01/10/2014 11:47 PM, Gerardo Exequiel Pozzi wrote:
>>> On 01/09/2014 05:49 AM, Christian Hesse wrote:
>>>> Christian Hesse <list at eworm.de> on Mon, 2013/09/02 10:03:
>>>>> From: Christian Hesse <mail at eworm.de>
>>>>>
>>>>> This allows to grow the filesystem after system boot up. We have no
>>>>> additional cost as squashfs handles sparse files.
>>>>> ---
>>>>>  archiso/mkarchiso | 2 ++
>>>>>  1 file changed, 2 insertions(+)
>>>>>
>>>>> diff --git a/archiso/mkarchiso b/archiso/mkarchiso
>>>>> index 8f9ed42..563f624 100755
>>>>> --- a/archiso/mkarchiso
>>>>> +++ b/archiso/mkarchiso
>>>>> @@ -364,6 +364,8 @@ _mkfs () {
>>>>>      cp -aT "${_fs_src}/" "${work_dir}/mnt/${_src}/"
>>>>>      _msg_info "Done!"
>>>>>      _umount_fs "${work_dir}/mnt/${_src}"
>>>>> +    # double size with sparse blocks, will allow to grow the filesystem
>>>>> +    truncate -s$((_fs_size*2))M "${_fs_img}"
>>>>>  }
>>>>>  
>>>>>  command_checksum () {
>>>>
>>>> Currently I am maintaining this in a local package for myself. Any
>>>> chance to get this merged upstream?
>>>>
>>>
>>> No. This is a special case. If root-image.fs.sfs is copied to a
>>> filesystems that does not support sparse files (FAT commonly for
>>> USB-keys), this is waste of free space.
>>>
>>
>> brb, ignore me!! truncate is on root-image.fs not root-images.fs.sfs :P
>>
>> Yes, this can be safe by default and can be included for next release :)
> 
> Great, thanks!
> 

I am still not changing this because, I am thinking in a different way
to do this, in a more "systemd-friendly-way" (because currently I need
to mount the squashfs, then fetch the size in blocks of the file inside
it...).
This is, for all cases, create a fixed size of the filesystem, (i.e 4G
or 8G), the overhead is minimal, really :)


$ truncate -s 1G coco.fs
$ mkfs.ext4 -q -O ^has_journal -E lazy_itable_init=0 -m 0 -F coco.fs
$ du -h coco.fs
408K    coco.fs
$ truncate -s 16G pepe.fs
$ mkfs.ext4 -q -O ^has_journal -E lazy_itable_init=0 -m 0 -F pepe.fs
$ du -h pepe.fs
4.3M    pepe.fs


-- 
Gerardo Exequiel Pozzi
\cos^2\alpha + \sin^2\alpha = 1

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 555 bytes
Desc: OpenPGP digital signature
URL: <http://mailman.archlinux.org/pipermail/arch-releng/attachments/20140319/ab5276c2/attachment-0001.asc>


More information about the arch-releng mailing list