mke2img: Sanity check block size and fail if zero or missing.
PATCH 1/1 mke2img: Sanity check block size and fail if zero or missing.
--- package/mke2img/mke2img | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
package/mke2img/mke2img +8 -2
@@ -39,10 +39,16 @@ main() { # Sanity checks if [ -z "${root_dir}" ]; then - error "you must specify a root directory with '-d'\n" + error "Error: you must specify a root directory with '-d'\n" fi if [ -z "${image}" ]; then - error "you must specify an output image file with '-o'\n" + error "Error: you must specify an output image file with '-o'\n" + fi + if [ -z "${nb_blocks}" ]; then + error "Error: you must specify a file system block count with '-b'. This cannot be zero, e.g. 61440 == 60MB\n" + fi + if [ "${nb_blocks}" -eq 0]; then + error "Error: The file system block count size cannot be zero. e.g. 61440 == 60MB \n" fi case "${gen}:${rev}" in 2:0|2:1|3:1|4:1)
Signature · 1 line
2.7.4
PATCH 1/1 mke2img: Sanity check block size and fail if zero or missing.
J, All,
On 2017-04-29 15:58 +0100, J Evans spake thusly:
Quoted 10 lines
Signed-off-by J Evans <[email protected]>--- package/mke2img/mke2img | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)package/mke2img/mke2img +0
-0
package/mke2img/mke2img main() { · line 45
Quoted 9 lines
package/mke2img/mke2img +2
-2@@ -39,10 +39,16 @@ main() { # Sanity checks if [ -z "${root_dir}" ]; then - error "you must specify a root directory with '-d'\n" + error "Error: you must specify a root directory with '-d'\n" fi if [ -z "${image}" ]; then - error "you must specify an output image file with '-o'\n" + error "Error: you must specify an output image file with '-o'\n"
Is that really necessary?
package/mke2img/mke2img main() { · line 50
Quoted 5 lines
package/mke2img/mke2img +5
-0+ fi + if [ -z "${nb_blocks}" ]; then + error "Error: you must specify a file system block count with '-b'. This cannot be zero, e.g. 61440 == 60MB\n" + fi + if [ "${nb_blocks}" -eq 0]; then
There is an obvious error here: there is a missing space between '0' and the closing bracket ']'.
However, I wonder why we should check for a zero size. The filesystem will be non-creatable (is that a word?) because the requested size is too low, similar to what a user would get by settign the nb_blocks to (e.g.) 1024 (i.e. 1MiB) but have a target/ that is 2MiB: that won't fit.
So, I would just keep the check to being set, whatever the value (but I would not oppose the check against 0 either.)
Regards,
Yann E. MORIN.
Quoted 7 lines
package/mke2img/mke2img +1
-0+ error "Error: The file system block count size cannot be zero. e.g. 61440 == 60MB \n" fi case "${gen}:${rev}" in 2:0|2:1|3:1|4:1)Signature · 1 line
2.7.4
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | 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. | '------------------------------^-------^------------------^--------------------'
PATCH 1/1 mke2img: Sanity check block size and fail if zero or missing.
Hello Yann,
Quoted 11 lines
package/mke2img/mke2img main() { · line 45
Quoted 9 lines
# Sanity checks
if [ -z "${root_dir}" ]; thenpackage/mke2img/mke2img +2
-2- error "you must specify a root directory with '-d'\n" + error "Error: you must specify a root directory with '-d'\n" fi if [ -z "${image}" ]; then - error "you must specify an output image file with '-o'\n" + error "Error: you must specify an output image file with '-o'\n"Is that really necessary?
The original justification was for any user calling the script directly. Now I think no, it is not.
Quoted 3 lines
There is an obvious error here: there is a missing space between '0' and the closing bracket ']'.
Indeed. <facepalm>
Quoted 7 lines
However, I wonder why we should check for a zero size. The filesystem will be non-creatable (is that a word?) because the requested size is too low, similar to what a user would get by settign the
nb_blocksto (e.g.) 1024 (i.e. 1MiB) but have a target/ that is 2MiB: that won't fit.So, I would just keep the check to being set, whatever the value (but I would not oppose the check against 0 either.)
My revised version applies a check in the ext2.mk file itself. I think this is much cleaner.
Best,
Jerry.