* [Buildroot] [PATCH] fs/ext2: add options for extra space and extra inodes
@ 2015-10-28 23:06 Yann E. MORIN
2015-10-29 10:45 ` Martin Bark
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Yann E. MORIN @ 2015-10-28 23:06 UTC (permalink / raw)
To: buildroot
Add two options to the ext2 filesystem, one to add extra free space, one
to add extra free inodes.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
fs/ext2/Config.in | 20 ++++++++++++++++++--
fs/ext2/ext2.mk | 2 ++
package/mke2img/mke2img | 8 +++++++-
3 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/fs/ext2/Config.in b/fs/ext2/Config.in
index 5b1cd0c..fb06cdd 100644
--- a/fs/ext2/Config.in
+++ b/fs/ext2/Config.in
@@ -45,13 +45,29 @@ config BR2_TARGET_ROOTFS_EXT2_LABEL
string "filesystem label"
config BR2_TARGET_ROOTFS_EXT2_BLOCKS
- int "size in blocks (leave at 0 for auto calculation)"
+ int "exact size in blocks (leave at 0 for auto calculation)"
default 0
config BR2_TARGET_ROOTFS_EXT2_INODES
- int "inodes (leave at 0 for auto calculation)"
+ int "exact number of inodes (leave at 0 for auto calculation)"
default 0
+config BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS
+ int "extra size in blocks" if BR2_TARGET_ROOTFS_EXT2_BLOCKS = 0
+ default 0
+ help
+ Enter here the nmuber of extra blocks of free space you
+ want on your filesystem. By default, Buildroot will not
+ leave much space free.
+
+config BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES
+ int "extra inodes" if BR2_TARGET_ROOTFS_EXT2_INODES = 0
+ default 0
+ help
+ Enter here the nmuber of extra free inodes you want on
+ your filesystem. By default, Buildroot will not leave
+ many free inodes.
+
config BR2_TARGET_ROOTFS_EXT2_RESBLKS
int "reserved blocks percentage"
default 0
diff --git a/fs/ext2/ext2.mk b/fs/ext2/ext2.mk
index cab66a5..7417f81 100644
--- a/fs/ext2/ext2.mk
+++ b/fs/ext2/ext2.mk
@@ -9,10 +9,12 @@ EXT2_OPTS = -G $(BR2_TARGET_ROOTFS_EXT2_GEN) -R $(BR2_TARGET_ROOTFS_EXT2_REV)
ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_BLOCKS)),0)
EXT2_OPTS += -b $(BR2_TARGET_ROOTFS_EXT2_BLOCKS)
endif
+EXT2_OPTS += -B $(BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS)
ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_INODES)),0)
EXT2_OPTS += -i $(BR2_TARGET_ROOTFS_EXT2_INODES)
endif
+EXT2_OPTS += -I $(BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES)
ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_RESBLKS)),0)
EXT2_OPTS += -r $(BR2_TARGET_ROOTFS_EXT2_RESBLKS)
diff --git a/package/mke2img/mke2img b/package/mke2img/mke2img
index 5e2f62f..d772af5 100755
--- a/package/mke2img/mke2img
+++ b/package/mke2img/mke2img
@@ -17,12 +17,16 @@ main() {
# Default values
gen=2
rev=1
+ nb_extra_blocks=0
+ nb_extra_inodes=0
- while getopts :hb:i:r:d:o:G:R:l:u: OPT; do
+ while getopts :hb:B:i:I:r:d:o:G:R:l:u: OPT; do
case "${OPT}" in
h) help; exit 0;;
b) nb_blocks=${OPTARG};;
+ B) nb_extra_blocks=${OPTARG};;
i) nb_inodes=${OPTARG};;
+ I) nb_extra_inodes=${OPTARG};;
r) nb_res_blocks=${OPTARG};;
d) root_dir="${OPTARG}";;
o) image="${OPTARG}";;
@@ -58,6 +62,7 @@ main() {
nb_inodes=$(find "${root_dir}" | wc -l)
nb_inodes=$((nb_inodes+400))
fi
+ nb_inodes=$((nb_inodes+nb_extra_inodes))
# calculate needed blocks
if [ -z "${nb_blocks}" ]; then
@@ -73,6 +78,7 @@ main() {
nb_blocks=$((nb_blocks+1300))
fi
fi
+ nb_blocks=$((nb_blocks+nb_extra_blocks))
# Upgrade to rev1 if needed
if [ ${rev} -ge 1 ]; then
--
1.9.1
^ permalink raw reply related [flat|nested] 8+ messages in thread* [Buildroot] [PATCH] fs/ext2: add options for extra space and extra inodes
2015-10-28 23:06 [Buildroot] [PATCH] fs/ext2: add options for extra space and extra inodes Yann E. MORIN
@ 2015-10-29 10:45 ` Martin Bark
2015-10-29 18:17 ` Yann E. MORIN
2015-10-29 18:18 ` Gustavo Zacarias
2015-10-30 11:01 ` Arnout Vandecappelle
2 siblings, 1 reply; 8+ messages in thread
From: Martin Bark @ 2015-10-29 10:45 UTC (permalink / raw)
To: buildroot
Yann,
Spotted a minor typo, see below.
On 28 October 2015 at 23:06, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> Add two options to the ext2 filesystem, one to add extra free space, one
> to add extra free inodes.
>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
> ---
> fs/ext2/Config.in | 20 ++++++++++++++++++--
> fs/ext2/ext2.mk | 2 ++
> package/mke2img/mke2img | 8 +++++++-
> 3 files changed, 27 insertions(+), 3 deletions(-)
>
> diff --git a/fs/ext2/Config.in b/fs/ext2/Config.in
> index 5b1cd0c..fb06cdd 100644
> --- a/fs/ext2/Config.in
> +++ b/fs/ext2/Config.in
> @@ -45,13 +45,29 @@ config BR2_TARGET_ROOTFS_EXT2_LABEL
> string "filesystem label"
>
> config BR2_TARGET_ROOTFS_EXT2_BLOCKS
> - int "size in blocks (leave at 0 for auto calculation)"
> + int "exact size in blocks (leave at 0 for auto calculation)"
> default 0
>
> config BR2_TARGET_ROOTFS_EXT2_INODES
> - int "inodes (leave at 0 for auto calculation)"
> + int "exact number of inodes (leave at 0 for auto calculation)"
> default 0
>
> +config BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS
> + int "extra size in blocks" if BR2_TARGET_ROOTFS_EXT2_BLOCKS = 0
> + default 0
> + help
> + Enter here the nmuber of extra blocks of free space you
should be number not nmuber.
> + want on your filesystem. By default, Buildroot will not
> + leave much space free.
> +
> +config BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES
> + int "extra inodes" if BR2_TARGET_ROOTFS_EXT2_INODES = 0
> + default 0
> + help
> + Enter here the nmuber of extra free inodes you want on
Same again
Thanks
Martin
> + your filesystem. By default, Buildroot will not leave
> + many free inodes.
> +
> config BR2_TARGET_ROOTFS_EXT2_RESBLKS
> int "reserved blocks percentage"
> default 0
> diff --git a/fs/ext2/ext2.mk b/fs/ext2/ext2.mk
> index cab66a5..7417f81 100644
> --- a/fs/ext2/ext2.mk
> +++ b/fs/ext2/ext2.mk
> @@ -9,10 +9,12 @@ EXT2_OPTS = -G $(BR2_TARGET_ROOTFS_EXT2_GEN) -R $(BR2_TARGET_ROOTFS_EXT2_REV)
> ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_BLOCKS)),0)
> EXT2_OPTS += -b $(BR2_TARGET_ROOTFS_EXT2_BLOCKS)
> endif
> +EXT2_OPTS += -B $(BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS)
>
> ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_INODES)),0)
> EXT2_OPTS += -i $(BR2_TARGET_ROOTFS_EXT2_INODES)
> endif
> +EXT2_OPTS += -I $(BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES)
>
> ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_RESBLKS)),0)
> EXT2_OPTS += -r $(BR2_TARGET_ROOTFS_EXT2_RESBLKS)
> diff --git a/package/mke2img/mke2img b/package/mke2img/mke2img
> index 5e2f62f..d772af5 100755
> --- a/package/mke2img/mke2img
> +++ b/package/mke2img/mke2img
> @@ -17,12 +17,16 @@ main() {
> # Default values
> gen=2
> rev=1
> + nb_extra_blocks=0
> + nb_extra_inodes=0
>
> - while getopts :hb:i:r:d:o:G:R:l:u: OPT; do
> + while getopts :hb:B:i:I:r:d:o:G:R:l:u: OPT; do
> case "${OPT}" in
> h) help; exit 0;;
> b) nb_blocks=${OPTARG};;
> + B) nb_extra_blocks=${OPTARG};;
> i) nb_inodes=${OPTARG};;
> + I) nb_extra_inodes=${OPTARG};;
> r) nb_res_blocks=${OPTARG};;
> d) root_dir="${OPTARG}";;
> o) image="${OPTARG}";;
> @@ -58,6 +62,7 @@ main() {
> nb_inodes=$(find "${root_dir}" | wc -l)
> nb_inodes=$((nb_inodes+400))
> fi
> + nb_inodes=$((nb_inodes+nb_extra_inodes))
>
> # calculate needed blocks
> if [ -z "${nb_blocks}" ]; then
> @@ -73,6 +78,7 @@ main() {
> nb_blocks=$((nb_blocks+1300))
> fi
> fi
> + nb_blocks=$((nb_blocks+nb_extra_blocks))
>
> # Upgrade to rev1 if needed
> if [ ${rev} -ge 1 ]; then
> --
> 1.9.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 8+ messages in thread* [Buildroot] [PATCH] fs/ext2: add options for extra space and extra inodes
2015-10-29 10:45 ` Martin Bark
@ 2015-10-29 18:17 ` Yann E. MORIN
0 siblings, 0 replies; 8+ messages in thread
From: Yann E. MORIN @ 2015-10-29 18:17 UTC (permalink / raw)
To: buildroot
Martin, All,
On 2015-10-29 10:45 +0000, Martin Bark spake thusly:
> On 28 October 2015 at 23:06, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> > Add two options to the ext2 filesystem, one to add extra free space, one
> > to add extra free inodes.
> >
> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
> > ---
> > fs/ext2/Config.in | 20 ++++++++++++++++++--
> > fs/ext2/ext2.mk | 2 ++
> > package/mke2img/mke2img | 8 +++++++-
> > 3 files changed, 27 insertions(+), 3 deletions(-)
> >
> > diff --git a/fs/ext2/Config.in b/fs/ext2/Config.in
> > index 5b1cd0c..fb06cdd 100644
> > --- a/fs/ext2/Config.in
> > +++ b/fs/ext2/Config.in
> > @@ -45,13 +45,29 @@ config BR2_TARGET_ROOTFS_EXT2_LABEL
> > string "filesystem label"
> >
> > config BR2_TARGET_ROOTFS_EXT2_BLOCKS
> > - int "size in blocks (leave at 0 for auto calculation)"
> > + int "exact size in blocks (leave at 0 for auto calculation)"
> > default 0
> >
> > config BR2_TARGET_ROOTFS_EXT2_INODES
> > - int "inodes (leave at 0 for auto calculation)"
> > + int "exact number of inodes (leave at 0 for auto calculation)"
> > default 0
> >
> > +config BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS
> > + int "extra size in blocks" if BR2_TARGET_ROOTFS_EXT2_BLOCKS = 0
> > + default 0
> > + help
> > + Enter here the nmuber of extra blocks of free space you
>
> should be number not nmuber.
Damn keyboard dislexia! :-)
> > + want on your filesystem. By default, Buildroot will not
> > + leave much space free.
> > +
> > +config BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES
> > + int "extra inodes" if BR2_TARGET_ROOTFS_EXT2_INODES = 0
> > + default 0
> > + help
> > + Enter here the nmuber of extra free inodes you want on
>
> Same again
Thanks! :-)
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH] fs/ext2: add options for extra space and extra inodes
2015-10-28 23:06 [Buildroot] [PATCH] fs/ext2: add options for extra space and extra inodes Yann E. MORIN
2015-10-29 10:45 ` Martin Bark
@ 2015-10-29 18:18 ` Gustavo Zacarias
2015-10-30 11:01 ` Arnout Vandecappelle
2 siblings, 0 replies; 8+ messages in thread
From: Gustavo Zacarias @ 2015-10-29 18:18 UTC (permalink / raw)
To: buildroot
On 28/10/15 20:06, Yann E. MORIN wrote:
> Add two options to the ext2 filesystem, one to add extra free space, one
> to add extra free inodes.
>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Tested-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Though the 'nmuber' typos should be fixed as Martin wrote.
Regards.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH] fs/ext2: add options for extra space and extra inodes
2015-10-28 23:06 [Buildroot] [PATCH] fs/ext2: add options for extra space and extra inodes Yann E. MORIN
2015-10-29 10:45 ` Martin Bark
2015-10-29 18:18 ` Gustavo Zacarias
@ 2015-10-30 11:01 ` Arnout Vandecappelle
2015-10-30 12:35 ` Yann E. MORIN
2 siblings, 1 reply; 8+ messages in thread
From: Arnout Vandecappelle @ 2015-10-30 11:01 UTC (permalink / raw)
To: buildroot
On 29-10-15 00:06, Yann E. MORIN wrote:
> Add two options to the ext2 filesystem, one to add extra free space, one
> to add extra free inodes.
>
> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
> ---
> fs/ext2/Config.in | 20 ++++++++++++++++++--
> fs/ext2/ext2.mk | 2 ++
> package/mke2img/mke2img | 8 +++++++-
> 3 files changed, 27 insertions(+), 3 deletions(-)
>
> diff --git a/fs/ext2/Config.in b/fs/ext2/Config.in
> index 5b1cd0c..fb06cdd 100644
> --- a/fs/ext2/Config.in
> +++ b/fs/ext2/Config.in
> @@ -45,13 +45,29 @@ config BR2_TARGET_ROOTFS_EXT2_LABEL
> string "filesystem label"
>
> config BR2_TARGET_ROOTFS_EXT2_BLOCKS
> - int "size in blocks (leave at 0 for auto calculation)"
> + int "exact size in blocks (leave at 0 for auto calculation)"
> default 0
>
> config BR2_TARGET_ROOTFS_EXT2_INODES
> - int "inodes (leave at 0 for auto calculation)"
> + int "exact number of inodes (leave at 0 for auto calculation)"
> default 0
>
> +config BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS
> + int "extra size in blocks" if BR2_TARGET_ROOTFS_EXT2_BLOCKS = 0
> + default 0
> + help
> + Enter here the nmuber of extra blocks of free space you
> + want on your filesystem. By default, Buildroot will not
> + leave much space free.
To be precise, buildroot will add 500 extra blocks for ext2 and 1800 extra
blocks for ext3+. So perhaps we could encode that here, and remove it from the
mke2img script?
> +
> +config BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES
> + int "extra inodes" if BR2_TARGET_ROOTFS_EXT2_INODES = 0
> + default 0
> + help
> + Enter here the nmuber of extra free inodes you want on
> + your filesystem. By default, Buildroot will not leave
> + many free inodes.
Same here, 400 inodes are added.
> +
> config BR2_TARGET_ROOTFS_EXT2_RESBLKS
> int "reserved blocks percentage"
> default 0
> diff --git a/fs/ext2/ext2.mk b/fs/ext2/ext2.mk
> index cab66a5..7417f81 100644
> --- a/fs/ext2/ext2.mk
> +++ b/fs/ext2/ext2.mk
> @@ -9,10 +9,12 @@ EXT2_OPTS = -G $(BR2_TARGET_ROOTFS_EXT2_GEN) -R $(BR2_TARGET_ROOTFS_EXT2_REV)
> ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_BLOCKS)),0)
> EXT2_OPTS += -b $(BR2_TARGET_ROOTFS_EXT2_BLOCKS)
> endif
> +EXT2_OPTS += -B $(BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS)
Perhaps this could be put into the else of the ifneq? Or better yet, make it an
ifeq.
Regards,
Arnout
>
> ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_INODES)),0)
> EXT2_OPTS += -i $(BR2_TARGET_ROOTFS_EXT2_INODES)
> endif
> +EXT2_OPTS += -I $(BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES)
>
> ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_RESBLKS)),0)
> EXT2_OPTS += -r $(BR2_TARGET_ROOTFS_EXT2_RESBLKS)
> diff --git a/package/mke2img/mke2img b/package/mke2img/mke2img
> index 5e2f62f..d772af5 100755
> --- a/package/mke2img/mke2img
> +++ b/package/mke2img/mke2img
> @@ -17,12 +17,16 @@ main() {
> # Default values
> gen=2
> rev=1
> + nb_extra_blocks=0
> + nb_extra_inodes=0
>
> - while getopts :hb:i:r:d:o:G:R:l:u: OPT; do
> + while getopts :hb:B:i:I:r:d:o:G:R:l:u: OPT; do
> case "${OPT}" in
> h) help; exit 0;;
> b) nb_blocks=${OPTARG};;
> + B) nb_extra_blocks=${OPTARG};;
> i) nb_inodes=${OPTARG};;
> + I) nb_extra_inodes=${OPTARG};;
> r) nb_res_blocks=${OPTARG};;
> d) root_dir="${OPTARG}";;
> o) image="${OPTARG}";;
> @@ -58,6 +62,7 @@ main() {
> nb_inodes=$(find "${root_dir}" | wc -l)
> nb_inodes=$((nb_inodes+400))
> fi
> + nb_inodes=$((nb_inodes+nb_extra_inodes))
>
> # calculate needed blocks
> if [ -z "${nb_blocks}" ]; then
> @@ -73,6 +78,7 @@ main() {
> nb_blocks=$((nb_blocks+1300))
> fi
> fi
> + nb_blocks=$((nb_blocks+nb_extra_blocks))
>
> # Upgrade to rev1 if needed
> if [ ${rev} -ge 1 ]; then
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply [flat|nested] 8+ messages in thread* [Buildroot] [PATCH] fs/ext2: add options for extra space and extra inodes
2015-10-30 11:01 ` Arnout Vandecappelle
@ 2015-10-30 12:35 ` Yann E. MORIN
2015-10-30 12:54 ` Arnout Vandecappelle
0 siblings, 1 reply; 8+ messages in thread
From: Yann E. MORIN @ 2015-10-30 12:35 UTC (permalink / raw)
To: buildroot
Arnout, All,
On 2015-10-30 12:01 +0100, Arnout Vandecappelle spake thusly:
> On 29-10-15 00:06, Yann E. MORIN wrote:
> > Add two options to the ext2 filesystem, one to add extra free space, one
> > to add extra free inodes.
> >
> > Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
> > Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
> > ---
> > fs/ext2/Config.in | 20 ++++++++++++++++++--
> > fs/ext2/ext2.mk | 2 ++
> > package/mke2img/mke2img | 8 +++++++-
> > 3 files changed, 27 insertions(+), 3 deletions(-)
> >
> > diff --git a/fs/ext2/Config.in b/fs/ext2/Config.in
> > index 5b1cd0c..fb06cdd 100644
> > --- a/fs/ext2/Config.in
> > +++ b/fs/ext2/Config.in
> > @@ -45,13 +45,29 @@ config BR2_TARGET_ROOTFS_EXT2_LABEL
> > string "filesystem label"
> >
> > config BR2_TARGET_ROOTFS_EXT2_BLOCKS
> > - int "size in blocks (leave at 0 for auto calculation)"
> > + int "exact size in blocks (leave at 0 for auto calculation)"
> > default 0
> >
> > config BR2_TARGET_ROOTFS_EXT2_INODES
> > - int "inodes (leave at 0 for auto calculation)"
> > + int "exact number of inodes (leave at 0 for auto calculation)"
> > default 0
> >
> > +config BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS
> > + int "extra size in blocks" if BR2_TARGET_ROOTFS_EXT2_BLOCKS = 0
> > + default 0
> > + help
> > + Enter here the nmuber of extra blocks of free space you
> > + want on your filesystem. By default, Buildroot will not
> > + leave much space free.
>
> To be precise, buildroot will add 500 extra blocks for ext2 and 1800 extra
> blocks for ext3+. So perhaps we could encode that here, and remove it from the
> mke2img script?
I don't want to do that, because the extra blocks and inodes that
Buildroot adds are just to account for the extra space required to
store the filesystem metadata.
If we were to encode those here in the kconfig option, nothing would
prevent the user from setting this to a value lower than strictly
required.
In Kconfig, we can provide a range, but no a lower (or upper) bound to a
value. And we do not want to limit the user in the values he may want to
set here (even to an insanely large value for the upper bound.
I would really prefer we hide this internal complex computation from the
user, and let him specify the extra space he actually wants.
> > +config BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES
> > + int "extra inodes" if BR2_TARGET_ROOTFS_EXT2_INODES = 0
> > + default 0
> > + help
> > + Enter here the nmuber of extra free inodes you want on
> > + your filesystem. By default, Buildroot will not leave
> > + many free inodes.
>
> Same here, 400 inodes are added.
Ditto.
> > config BR2_TARGET_ROOTFS_EXT2_RESBLKS
> > int "reserved blocks percentage"
> > default 0
> > diff --git a/fs/ext2/ext2.mk b/fs/ext2/ext2.mk
> > index cab66a5..7417f81 100644
> > --- a/fs/ext2/ext2.mk
> > +++ b/fs/ext2/ext2.mk
> > @@ -9,10 +9,12 @@ EXT2_OPTS = -G $(BR2_TARGET_ROOTFS_EXT2_GEN) -R $(BR2_TARGET_ROOTFS_EXT2_REV)
> > ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_BLOCKS)),0)
> > EXT2_OPTS += -b $(BR2_TARGET_ROOTFS_EXT2_BLOCKS)
> > endif
> > +EXT2_OPTS += -B $(BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS)
>
> Perhaps this could be put into the else of the ifneq? Or better yet, make it an
> ifeq.
Well, the fact that the prompt has a condition before it is displayed
will ensure that BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS/INODES is always
set to a non-empty value, so we can safely use it. If the user specified
the exact size/inodes, then the extra size/indoes will be set to 0.
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH] fs/ext2: add options for extra space and extra inodes
2015-10-30 12:35 ` Yann E. MORIN
@ 2015-10-30 12:54 ` Arnout Vandecappelle
0 siblings, 0 replies; 8+ messages in thread
From: Arnout Vandecappelle @ 2015-10-30 12:54 UTC (permalink / raw)
To: buildroot
On 30-10-15 13:35, Yann E. MORIN wrote:
> Arnout, All,
>
> On 2015-10-30 12:01 +0100, Arnout Vandecappelle spake thusly:
>> On 29-10-15 00:06, Yann E. MORIN wrote:
>>> Add two options to the ext2 filesystem, one to add extra free space, one
>>> to add extra free inodes.
>>>
>>> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
>>> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
[snip]
>>> +config BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS
>>> + int "extra size in blocks" if BR2_TARGET_ROOTFS_EXT2_BLOCKS = 0
>>> + default 0
>>> + help
>>> + Enter here the nmuber of extra blocks of free space you
>>> + want on your filesystem. By default, Buildroot will not
>>> + leave much space free.
>>
>> To be precise, buildroot will add 500 extra blocks for ext2 and 1800 extra
>> blocks for ext3+. So perhaps we could encode that here, and remove it from the
>> mke2img script?
>
> I don't want to do that, because the extra blocks and inodes that
> Buildroot adds are just to account for the extra space required to
> store the filesystem metadata.
>
> If we were to encode those here in the kconfig option, nothing would
> prevent the user from setting this to a value lower than strictly
> required.
>
> In Kconfig, we can provide a range, but no a lower (or upper) bound to a
> value. And we do not want to limit the user in the values he may want to
> set here (even to an insanely large value for the upper bound.
>
> I would really prefer we hide this internal complex computation from the
> user, and let him specify the extra space he actually wants.
OK fair enough.
>>> +config BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES
>>> + int "extra inodes" if BR2_TARGET_ROOTFS_EXT2_INODES = 0
>>> + default 0
>>> + help
>>> + Enter here the nmuber of extra free inodes you want on
>>> + your filesystem. By default, Buildroot will not leave
>>> + many free inodes.
>>
>> Same here, 400 inodes are added.
>
> Ditto.
>
>>> config BR2_TARGET_ROOTFS_EXT2_RESBLKS
>>> int "reserved blocks percentage"
>>> default 0
>>> diff --git a/fs/ext2/ext2.mk b/fs/ext2/ext2.mk
>>> index cab66a5..7417f81 100644
>>> --- a/fs/ext2/ext2.mk
>>> +++ b/fs/ext2/ext2.mk
>>> @@ -9,10 +9,12 @@ EXT2_OPTS = -G $(BR2_TARGET_ROOTFS_EXT2_GEN) -R $(BR2_TARGET_ROOTFS_EXT2_REV)
>>> ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_BLOCKS)),0)
>>> EXT2_OPTS += -b $(BR2_TARGET_ROOTFS_EXT2_BLOCKS)
>>> endif
>>> +EXT2_OPTS += -B $(BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS)
>>
>> Perhaps this could be put into the else of the ifneq? Or better yet, make it an
>> ifeq.
>
> Well, the fact that the prompt has a condition before it is displayed
> will ensure that BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS/INODES is always
> set to a non-empty value, so we can safely use it. If the user specified
> the exact size/inodes, then the extra size/indoes will be set to 0.
I meant it more as a refactoring that makes the code easier to understand, but
you may have a different opinion of what is easier, so:
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Regards,
Arnout
--
Arnout Vandecappelle arnout dot vandecappelle at essensium dot com
Senior Embedded Software Architect . . . . . . +32-478-010353 (mobile)
Essensium, Mind division . . . . . . . . . . . . . . http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium . . . . . BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Buildroot] [PATCH v3 0/2] Alternative way to wait interfaces on bootup
@ 2015-10-29 9:00 Jérôme Pouiller
2015-10-29 9:00 ` [Buildroot] [PATCH v3 2/2] skeleton: optionally wait for network interfaces to appear Jérôme Pouiller
0 siblings, 1 reply; 8+ messages in thread
From: Jérôme Pouiller @ 2015-10-29 9:00 UTC (permalink / raw)
To: buildroot
v3:
- '&&' in brackets is not supported by busybox sh
v2:
- Squash patches 2 and 3
- Remove blank lines
- Do not print anything if interface already exist
- Change displayed information
Notice I did not handled case where IFACE=--all. Indeed IF_WAIT_DELAY
is not set in this case won't be set (and none of scripts provided by
ifupdown/ifupdown-extra packages have special handling for '--all'.)
I don't print any explicit error message in case failure. Indeed,
ifupdown/run-parts already print messages and I believe
"Waiting for interface dummy0 to appear... timeout!" is explicit enough.
J?r?me Pouiller (2):
Revert "package/initscripts: S40network: wait for network interfaces
to appear"
skeleton: optionally wait for network interfaces to appear
package/initscripts/init.d/S40network | 29 ----------------------
package/skeleton/skeleton.mk | 1 +
system/skeleton/etc/network/if-pre-up.d/wait_iface | 21 ++++++++++++++++
3 files changed, 22 insertions(+), 29 deletions(-)
create mode 100755 system/skeleton/etc/network/if-pre-up.d/wait_iface
--
2.1.4
^ permalink raw reply [flat|nested] 8+ messages in thread* [Buildroot] [PATCH v3 2/2] skeleton: optionally wait for network interfaces to appear
2015-10-29 9:00 [Buildroot] [PATCH v3 0/2] Alternative way to wait interfaces on bootup Jérôme Pouiller
@ 2015-10-29 9:00 ` Jérôme Pouiller
2015-10-29 20:26 ` [Buildroot] [PATCH] fs/ext2: add options for extra space and extra inodes Yann E. MORIN
0 siblings, 1 reply; 8+ messages in thread
From: Jérôme Pouiller @ 2015-10-29 9:00 UTC (permalink / raw)
To: buildroot
This patch has same purpose than 49964858f45d2243c513e6d362e992ad89ec7a45:
On some machines, the network interface is slow to appear. For example,
on the Raspberry Pi, the network interface eth0 is an ethernet-over-USB,
and our standard boot process is too fast, so our network startup script
is called before the USB bus is compeltely enumerated, thus it can't
configure eth0.
Closes #8116.
However, wait-delay hook is enabled only if wait-delay property appears
in /etc/network/interfaces. This patch enable it automaticaly when
interface is configured through DHCP at bootup. But, if user choose
to write /etc/network/interface himself, he have to explicitly
set wait-delay.
Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
---
package/skeleton/skeleton.mk | 1 +
system/skeleton/etc/network/if-pre-up.d/wait_iface | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+)
create mode 100755 system/skeleton/etc/network/if-pre-up.d/wait_iface
diff --git a/package/skeleton/skeleton.mk b/package/skeleton/skeleton.mk
index 920d3b4..d1b797d 100644
--- a/package/skeleton/skeleton.mk
+++ b/package/skeleton/skeleton.mk
@@ -89,6 +89,7 @@ define SET_NETWORK_DHCP
echo ; \
echo "auto $(NETWORK_DHCP_IFACE)"; \
echo "iface $(NETWORK_DHCP_IFACE) inet dhcp"; \
+ echo " wait-delay 15"; \
) >> $(TARGET_DIR)/etc/network/interfaces
endef
endif
diff --git a/system/skeleton/etc/network/if-pre-up.d/wait_iface b/system/skeleton/etc/network/if-pre-up.d/wait_iface
new file mode 100755
index 0000000..ebccff2
--- /dev/null
+++ b/system/skeleton/etc/network/if-pre-up.d/wait_iface
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+# In case we have a slow-to-appear interface (e.g. eth-over-USB),
+# and we need to configure it, wait until it appears, but not too
+# long either. IF_WAIT_DELAY is in seconds.
+
+if [ "${IF_WAIT_DELAY}" -a ! -e "/sys/class/net/${IFACE}" ]; then
+ printf "Waiting for interface %s to appear" "${IFACE}"
+ while [ ${IF_WAIT_DELAY} -gt 0 ]; do
+ if [ -e "/sys/class/net/${IFACE}" ]; then
+ printf "\n"
+ exit 0
+ fi
+ sleep 1
+ printf "."
+ : $((IF_WAIT_DELAY -= 1))
+ done
+ printf " timeout!\n"
+ exit 1
+fi
+
--
2.1.4
^ permalink raw reply related [flat|nested] 8+ messages in thread* [Buildroot] [PATCH] fs/ext2: add options for extra space and extra inodes
2015-10-29 9:00 ` [Buildroot] [PATCH v3 2/2] skeleton: optionally wait for network interfaces to appear Jérôme Pouiller
@ 2015-10-29 20:26 ` Yann E. MORIN
0 siblings, 0 replies; 8+ messages in thread
From: Yann E. MORIN @ 2015-10-29 20:26 UTC (permalink / raw)
To: buildroot
J?r?me, All,
On 2015-10-29 10:00 +0100, J?r?me Pouiller spake thusly:
> This patch has same purpose than 49964858f45d2243c513e6d362e992ad89ec7a45:
>
> On some machines, the network interface is slow to appear. For example,
> on the Raspberry Pi, the network interface eth0 is an ethernet-over-USB,
> and our standard boot process is too fast, so our network startup script
> is called before the USB bus is compeltely enumerated, thus it can't
> configure eth0.
>
> Closes #8116.
>
> However, wait-delay hook is enabled only if wait-delay property appears
> in /etc/network/interfaces. This patch enable it automaticaly when
> interface is configured through DHCP at bootup. But, if user choose
> to write /etc/network/interface himself, he have to explicitly
> set wait-delay.
>
> Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
I hope I'll have time to do a run test later tonight... However, I am
far from my RPis tonight (the whole week, in fact) but I'll try to sneak
downstairs to grab one... :-]
Regards,
Yann E. MORIN.
> ---
> package/skeleton/skeleton.mk | 1 +
> system/skeleton/etc/network/if-pre-up.d/wait_iface | 21 +++++++++++++++++++++
> 2 files changed, 22 insertions(+)
> create mode 100755 system/skeleton/etc/network/if-pre-up.d/wait_iface
>
> diff --git a/package/skeleton/skeleton.mk b/package/skeleton/skeleton.mk
> index 920d3b4..d1b797d 100644
> --- a/package/skeleton/skeleton.mk
> +++ b/package/skeleton/skeleton.mk
> @@ -89,6 +89,7 @@ define SET_NETWORK_DHCP
> echo ; \
> echo "auto $(NETWORK_DHCP_IFACE)"; \
> echo "iface $(NETWORK_DHCP_IFACE) inet dhcp"; \
> + echo " wait-delay 15"; \
> ) >> $(TARGET_DIR)/etc/network/interfaces
> endef
> endif
> diff --git a/system/skeleton/etc/network/if-pre-up.d/wait_iface b/system/skeleton/etc/network/if-pre-up.d/wait_iface
> new file mode 100755
> index 0000000..ebccff2
> --- /dev/null
> +++ b/system/skeleton/etc/network/if-pre-up.d/wait_iface
> @@ -0,0 +1,21 @@
> +#!/bin/sh
> +
> +# In case we have a slow-to-appear interface (e.g. eth-over-USB),
> +# and we need to configure it, wait until it appears, but not too
> +# long either. IF_WAIT_DELAY is in seconds.
> +
> +if [ "${IF_WAIT_DELAY}" -a ! -e "/sys/class/net/${IFACE}" ]; then
> + printf "Waiting for interface %s to appear" "${IFACE}"
> + while [ ${IF_WAIT_DELAY} -gt 0 ]; do
> + if [ -e "/sys/class/net/${IFACE}" ]; then
> + printf "\n"
> + exit 0
> + fi
> + sleep 1
> + printf "."
> + : $((IF_WAIT_DELAY -= 1))
> + done
> + printf " timeout!\n"
> + exit 1
> +fi
> +
> --
> 2.1.4
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2015-10-30 12:54 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-28 23:06 [Buildroot] [PATCH] fs/ext2: add options for extra space and extra inodes Yann E. MORIN
2015-10-29 10:45 ` Martin Bark
2015-10-29 18:17 ` Yann E. MORIN
2015-10-29 18:18 ` Gustavo Zacarias
2015-10-30 11:01 ` Arnout Vandecappelle
2015-10-30 12:35 ` Yann E. MORIN
2015-10-30 12:54 ` Arnout Vandecappelle
-- strict thread matches above, loose matches on Subject: below --
2015-10-29 9:00 [Buildroot] [PATCH v3 0/2] Alternative way to wait interfaces on bootup Jérôme Pouiller
2015-10-29 9:00 ` [Buildroot] [PATCH v3 2/2] skeleton: optionally wait for network interfaces to appear Jérôme Pouiller
2015-10-29 20:26 ` [Buildroot] [PATCH] fs/ext2: add options for extra space and extra inodes Yann E. MORIN
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox