[LEDE-DEV] [RFC 3/3] config: ext4: use 1K blocks by default to support online resize2fs

Michael Heimpold mhei at heimpold.de
Mon Oct 17 12:43:13 PDT 2016


Am Sonntag, 16. Oktober 2016, 01:59:44 CEST schrieb Jo-Philipp Wich:
> Commit fe20272ab16068765a191f3a846f30f977bc7669 (SVN r40924) introduced
> support for specifying ext4 blocksizes but silently switched the implicit
> 1K value to 4K by default without also adjusting the default partition size.

I can't see why adjusting the default partition size would have been necessary
as genext2fs takes (or better: took) the following parameters:

  -B, --block-size <bytes>
  -b, --size-in-blocks <blocks>

The commit introduced -B and adjusted -b accordingly, but did not touch
the partition size at all. Image sizes were the same before and after, only
block size default changed (silently, yes :-/ ).

> The current default size of 256MB 

Sorry, but I can only find the default value of 48 MB? Do I miss something?

> in conjunction with 4K blocks produces an
> ext4 filesystem which lacks the appropriate amount of backup GDT entries to
> support online-resizing.
> Revert the 4K blocksize to 1K but keep the 256MB default size - this will
> allow online resizing to a maximum of 256GB which should be sufficient
> for now.

I don't like reverting to 1k because when you use the image on a real
device, e.g. eMMC or SD card, then usually the internal blocksize is 4k,
and internal erase block size is often even 4 MiB.
Thus using 1k blocksize is not optimal when using a writeable filesystem.


> To support online resizing beyond 256GB we would need to enlarge the default
> size to something like 2GB which would allow the FS to grow up to 2TB which
> is the current theoretical LEDE limit due to the lack of GPT support on the
> boot disk.
> Signed-off-by: Jo-Philipp Wich <jo at mein.io>
> ---
>  config/Config-images.in | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> diff --git a/config/Config-images.in b/config/Config-images.in
> index 7d38341..6dfb3d1 100644
> --- a/config/Config-images.in
> +++ b/config/Config-images.in
> @@ -88,7 +88,7 @@ menu "Target Images"
>  		choice
>  			prompt "Root filesystem block size"
> -			default TARGET_EXT4_BLOCKSIZE_4K
> +			default TARGET_EXT4_BLOCKSIZE_1K
>  			depends on TARGET_ROOTFS_EXT4FS
>  			help
>  			  Select the block size of the root filesystem.

More information about the Lede-dev mailing list