mkimage: allow -l to work on block devices on Linux
authorYann Dirson <yann@blade-group.com>
Tue, 18 May 2021 08:59:04 +0000 (10:59 +0200)
committerTom Rini <trini@konsulko.com>
Wed, 14 Jul 2021 20:57:35 +0000 (16:57 -0400)
commit331f0800f1a3ddf6b365c65a37d0bfc5114b0c02
tree9ed3355438915de65d69eb4c6411e384fa92696f
parenteae8c7c33829c3bd25a792600c1fe6ed842a1ddc
mkimage: allow -l to work on block devices on Linux

When "mkimage -l" was run on a block device it would fail with
erroneous message, because fstat reports a size of zero for those:

 mkimage: Bad size: "/dev/sdb4" is not valid image

This patch identifies the "is a block device" case and reports it as
such, and if it knows how to determine the size of a block device on
the current OS, proceeds.

As shown in
http://www.mit.edu/afs.new/sipb/user/tytso/e2fsprogs/lib/blkid/getsize.c
this is no portable task, and I only handled the case of a modern
Linux kernel, which is what I can test.

Signed-off-by: Yann Dirson <yann@blade-group.com>
tools/mkimage.c