diff mbox series

[v2] mkimage: Fix error message if write less data then expected

Message ID 20200708095250.9649-1-mylene.josserand@collabora.com
State Accepted
Commit dd85dc55eb147cdcced1a4ee143b487d4aa6afa6
Delegated to: Tom Rini
Headers show
Series [v2] mkimage: Fix error message if write less data then expected | expand

Commit Message

Mylene Josserand July 8, 2020, 9:52 a.m. UTC
Add a new error message in case the size of data written
are shorter than the one expected.

Currently, it will lead to the following error message:

"mkimage: Write error on uImage: Success"

This is not explicit when the error is because the device
doesn't have enough space. Let's use a more understandable message:

"mkimage: Write only 4202432/4682240 bytes, probably no space left on the device"

Signed-off-by: Mylène Josserand <mylene.josserand@collabora.com>
Reviewed-by: Walter Lozano <walter.lozano@collabora.com>
---

Changes since v1:
Set the message to be more explicit and saying that it is probably a
"No space left on device"

 tools/mkimage.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

Comments

Tom Rini July 17, 2020, 8:58 p.m. UTC | #1
On Wed, Jul 08, 2020 at 11:52:50AM +0200, Mylène Josserand wrote:

> Add a new error message in case the size of data written
> are shorter than the one expected.
> 
> Currently, it will lead to the following error message:
> 
> "mkimage: Write error on uImage: Success"
> 
> This is not explicit when the error is because the device
> doesn't have enough space. Let's use a more understandable message:
> 
> "mkimage: Write only 4202432/4682240 bytes, probably no space left on the device"
> 
> Signed-off-by: Mylène Josserand <mylene.josserand@collabora.com>
> Reviewed-by: Walter Lozano <walter.lozano@collabora.com>

Applied to u-boot/master, thanks!
Mylene Josserand July 20, 2020, 12:15 p.m. UTC | #2
Hello,

On 7/17/20 10:58 PM, Tom Rini wrote:
> On Wed, Jul 08, 2020 at 11:52:50AM +0200, Mylène Josserand wrote:
> 
>> Add a new error message in case the size of data written
>> are shorter than the one expected.
>>
>> Currently, it will lead to the following error message:
>>
>> "mkimage: Write error on uImage: Success"
>>
>> This is not explicit when the error is because the device
>> doesn't have enough space. Let's use a more understandable message:
>>
>> "mkimage: Write only 4202432/4682240 bytes, probably no space left on the device"
>>
>> Signed-off-by: Mylène Josserand <mylene.josserand@collabora.com>
>> Reviewed-by: Walter Lozano <walter.lozano@collabora.com>
> 
> Applied to u-boot/master, thanks!
> 

Great, thank you!

Best regards,
Mylène
diff mbox series

Patch

diff --git a/tools/mkimage.c b/tools/mkimage.c
index d2cd1917874..7cb666d4822 100644
--- a/tools/mkimage.c
+++ b/tools/mkimage.c
@@ -674,7 +674,7 @@  copy_file (int ifd, const char *datafile, int pad)
 	int zero = 0;
 	uint8_t zeros[4096];
 	int offset = 0;
-	int size;
+	int size, ret;
 	struct image_type_params *tparams = imagetool_get_type(params.type);
 
 	memset(zeros, 0, sizeof(zeros));
@@ -730,9 +730,16 @@  copy_file (int ifd, const char *datafile, int pad)
 	}
 
 	size = sbuf.st_size - offset;
-	if (write(ifd, ptr + offset, size) != size) {
-		fprintf (stderr, "%s: Write error on %s: %s\n",
-			params.cmdname, params.imagefile, strerror(errno));
+
+	ret = write(ifd, ptr + offset, size);
+	if (ret != size) {
+		if (ret < 0)
+			fprintf (stderr, "%s: Write error on %s: %s\n",
+				 params.cmdname, params.imagefile, strerror(errno));
+		else if (ret < size)
+			fprintf (stderr, "%s: Write only %d/%d bytes, "\
+				 "probably no space left on the device\n",
+				 params.cmdname, ret, size);
 		exit (EXIT_FAILURE);
 	}